sourcerer-mike / phpsemver
比较两个版本并检查语义版本。
3.2.0
2016-01-14 17:12 UTC
Requires
- cpliakas/git-wrapper: ~1.4
- nikic/php-parser: ~2
- symfony/class-loader: ~2
- symfony/console: ~2
- symfony/finder: ~2
Requires (Dev)
- phpmd/phpmd: ~2.3
- phpspec/phpspec: ~2.0
- phpunit/phpunit: ~4.4
- squizlabs/php_codesniffer: 2.4.*
This package is not auto-updated.
Last update: 2024-09-14 16:55:37 UTC
README
检查您的更改与语义版本是否一致
通过 composer 安装它
composer require sourcerer-mike/phpsemver
并通过比较两个版本来测试您的代码
phpsemver compare 3.2.0 HEAD
或最后提交与您当前工作的版本
phpsemver compare HEAD .
+-------+-------------------------------------------------------------------+
| Level | Message |
+-------+-------------------------------------------------------------------+
| major | phpsemver_get_composer_config() removed. |
| major | PHPSemVer\Specification removed. |
| minor | PHPSemVer\Config added. |
| minor | PHPSemVer\Wrapper\AbstractWrapper::mergeTrees() added. |
| patch | PHPSemVer\Wrapper\Directory::getAllFileNames() body changed. |
| patch | PHPSemVer\Wrapper\Git::getAllFileNames() body changed. |
+-------+-------------------------------------------------------------------+
Total time: 0.94
欢迎您!
功能
命令
尝试几种可能性
- 使用
compare
检查更改。 - 使用
vcs:message
优化您的提交信息。
包装器
在这些包装器(phpsemver compare --type ...
)之间选择
- GIT
- 文件系统/目录
如果有一个参数是目录,则系统将在文件系统上工作。
断言
在以下方面进行断言
- 函数
- IsAdded: 检查函数是否是新添加的。
- IsRemoved: 检查函数是否被删除。
- BodyChanged: 检查函数的行为是否已更改。
- 类
- IsAdded: 检查类是否是新添加的。
- IsRemoved: 检查类是否被删除。
- 方法
- IsAdded: 检查方法是否是新添加的。
- IsRemoved: 检查方法是否被删除。
- BodyChanged: 检查方法的行为是否已更改。
- ReturnTypeChanged: 监控返回类型的变化。
- ReturnTypeRemoved: 监控方法上不兼容的变化。
- 接口
- IsAdded: 检查接口是否是新添加的。
- IsRemoved: 检查接口是否被删除。
您可以根据自己的需要在自己的配置文件中将它们组合起来。
配置
在 XML 文件中配置要使用的断言。提供的 XSD 文件使您能够轻松编写自己的配置(在合适的 IDE 中)。
<?xml version="1.0"?>
<phpsemver
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:noNamespaceSchemaLocation="https://raw.githubusercontent.com/sourcerer-mike/phpsemver/3.2.0/etc/phpsemver.xsd"
title="My own rules">
<RuleSet name="major">
<Trigger>
<Functions>
<IsRemoved />
</Functions>
</Trigger>
</RuleSet>
<RuleSet name="minor">
<Trigger>
<Classes>
<IsAdded />
</Classes>
</Trigger>
</RuleSet>
<RuleSet name="patch">
</RuleSet>
<Filter>
<Whitelist>
<Pattern>@lib/.*@</Pattern>
</Whitelist>
<Blacklist>
<Pattern>@lib/Test/.*@</Pattern>
</Blacklist>
</Filter>
</phpsemver>
编写您自己的配置并使用 --ruleset
选项。有关更多信息,请参阅维基页面:https://github.com/sourcerer-mike/phpsemver/wiki/Configuration
预定义规则集
这些项目以不同的方式执行语义版本。因此,为它们编写了特殊的配置,可以通过 --ruleSet
选项使用。
- Drupal-Core
- SemVer2
- WordPress
只需输入 phpsemver --ruleSet Drupal-Core
并查看 Drupal 中的最新更改。还有其他一些公司在其规则中遵循某些语义,如 Symfony。不要落后 - 跟上 PHPSemVer 的步伐。