nextcloud/rector

Nextcloud 的 Rector 升级规则


README

Nextcloud 的 Rector 升级规则

关于

这是一个包含 rector 规则和集合的包,用于将您的 Nextcloud 应用程序升级到最新的 API 变更。

本项目遵守 行为准则。通过参与本项目及其社区,您应遵守此准则。

安装

使用 Composer 将此包作为依赖项安装。我们建议在包含 rector 的 vendor bin 目录中这样做。

composer require --dev bamarni/composer-bin-plugin
composer bin rector require rector/rector --dev
composer bin rector require nextcloud/rector --dev

使用方法

首次运行时,通过执行 process 命令生成 rector.php 配置

./vendor/bin/rector process

我们建议您首先使用空配置运行 rector,提交结果,然后逐个添加 Nextcloud 和 PHP 的集合,并提交规则及其结果。您应该在应用程序支持的 Nextcloud 和 PHP 的最旧版本处停止。不要应用更新的集合,否则您可能会失去兼容性。每个 Nextcloud 集合都包含旧的集合,因此您只需要在配置中包含一个。您可能会得到如下配置

<?php

declare(strict_types=1);

/**
 * SPDX-FileCopyrightText: 2024 Nextcloud GmbH and Nextcloud contributors
 * SPDX-License-Identifier: AGPL-3.0-only
 */

use Nextcloud\Rector\Set\NextcloudSets;
use Rector\Config\RectorConfig;

return RectorConfig::configure()
	->withPaths([
		__DIR__ . '/appinfo',
		__DIR__ . '/lib',
		__DIR__ . '/tests',
	])
	->withPhpSets(php81: true)
	->withTypeCoverageLevel(0)
	->withSets([
		NextcloudSets::NEXTCLOUD_30,
	]);

请确保您还设置了 nextcloud/coding-standard 并在 rector 之后运行代码风格修复程序以修复样式。

贡献

欢迎贡献!要贡献,请熟悉 CONTRIBUTING.md

版权和许可

nextcloud/rector 版权归 © Christoph Wurst 所有,并按照自由软件基金会发布的 GNU Affero 通用公共许可证(AGPL-3.0 或更新版)的条款使用。请参阅 COPYINGNOTICE 了解更多信息。