ondrejmirtes / backward-compatibility-check
用于比较公共API的两个版本,以检查向后兼容性破坏的工具
7.3.0.1
2022-10-26 07:57 UTC
Requires
- php: ~8.1.0 || ~8.2.0
- ext-json: *
- azjezz/psl: ^2.0.4
- composer/composer: ^2.4.2
- nikolaposa/version: ^4.1.0
- ocramius/package-versions: ^2.5.1
- ondrejmirtes/better-reflection: ^6.3.0
- symfony/console: ^6.1.5
Requires (Dev)
- doctrine/coding-standard: ^10.0.0
- php-standard-library/psalm-plugin: ^2.0.2
- phpunit/phpunit: ^9.5.25
- psalm/plugin-phpunit: ^0.17.0
- roave/security-advisories: dev-master
- squizlabs/php_codesniffer: ^3.7.1
- vimeo/psalm: ^4.29.0
Conflicts
- revolt/event-loop: <0.2.5
- symfony/process: <5.3.7
- dev-master
- 7.3.x-dev
- 7.3.0.1
- 7.3.0
- 7.1.0.3
- 7.1.0.2
- 7.1.0.1
- 6.1.1
- 6.0.1
- 5.0.x-dev
- 5.0.9
- 5.0.8
- 5.0.7
- 5.0.6
- 5.0.5
- 5.0.4
- 5.0.3
- 5.0.2
- 5.0.1
- 5.0.0
- 4.4.0
- 4.3.0
- 4.2.1
- 4.2.0
- 4.1.0
- 4.0.0
- 3.0.0
- 2.1.0
- 2.0.0
- 1.1.1
- 1.1.0
- 1.0.3
- 1.0.2
- 1.0.1
- 1.0.0
- dev-dependabot/composer/composer/composer-2.5.4
- dev-dependabot/github_actions/ridedott/merge-me-action-2.10.43
- dev-dependabot/composer/phpunit/php-code-coverage-9.2.24
- dev-dependabot/composer/symfony/string-6.2.5
- dev-dependabot/composer/symfony/console-6.2.5
- dev-dependabot/composer/slevomat/coding-standard-8.8.0
- dev-dependabot/github_actions/laminas/laminas-ci-matrix-action-1.22.1
- dev-dependabot/github_actions/laminas/laminas-continuous-integration-action-1.32.0
- dev-dependabot/composer/infection/infection-0.22.0
- dev-dependabot/composer/doctrine/coding-standard-9.0.0
- dev-dependabot/add-v2-config-file
- dev-named-parameter-support
- dev-feature/totally-typed
This package is auto-updated.
Last update: 2024-09-17 17:16:48 UTC
README
一个可用于验证PHP库两个版本之间向后兼容性破坏的工具。
此分支根据 PHPStan向后兼容性承诺 修改内部类和方法解释。
先决条件/假设
- 您的项目使用
git
- 您的项目使用
composer.json
来定义其依赖项 - 所有源路径都在
composer.json
的"autoload"
部分中覆盖 - 需要提交到
git
才能被覆盖。尽管如此,您也可以实现自己的逻辑来从项目中提取源代码和依赖项。
安装
composer require --dev ondrejmirtes/backward-compatibility-check
使用
添加到持续集成管道
典型用法是将 roave-backward-compatibility-check
添加到您的CI构建中
vendor/bin/roave-backward-compatibility-check
这将自动检测最后标记的次要版本,并将API与当前 HEAD
进行比较。如果发现任何BC破坏,该工具将返回非零状态,在大多数CI系统中将导致构建失败。
注意:仅当您具有符合SemVer格式的git标签(如1.2.3
)时,检测基本版本才有效。
注意:由于此工具依赖于标签,您需要确保标签作为您CI管道的一部分被获取。例如,在GitHub操作中,请注意使用 fetch-depth: 0
jobs: roave-backwards-compatibility-check: name: Roave Backwards Compatibility Check runs-on: ubuntu-latest steps: - uses: actions/checkout@v2 with: fetch-depth: 0 - name: "Install PHP" uses: shivammathur/setup-php@v2 with: php-version: "8.0" - name: "Install dependencies" run: "composer install" - name: "Check for BC breaks" run: "vendor/bin/roave-backward-compatibility-check"
手动运行
为变更日志生成额外文档
vendor/bin/roave-backward-compatibility-check --format=markdown > results.md
GitHub Actions
当在GitHub Actions中运行时,建议使用 --format=github-actions
输出格式
vendor/bin/roave-backward-compatibility-check --format=github-actions
文档
如果您需要更多指导
vendor/bin/roave-backward-compatibility-check --help
配置
目前没有可用的配置选项。