vinc-file-version-regexp
ru
Voral/版本提示的扩展名,用于使用正则表达式在自定义文件中更新版本字符串。
此工具允许您在版本管理过程中自动更新任意文件(例如,PHP,JSON,XML)中的版本号。它与Voral/版本插件软件包无缝集成,并倾听tre_version_set事件,以根据提供的正则表达式执行替换。
关键功能
- 自定义文件支持:使用灵活的正则表达式以任何文件格式更新版本字符串。
- 基于事件的集成:从voral/vorse-increment聆听tre_version_set事件。
- 使用唯一代码处理错误:通过支持错误代码deltas来防止多个扩展之间的冲突。
- 灵活配置:定义自定义正则表达式以匹配各种格式的版本字符串。
- 可扩展性:通过最小配置轻松整合到现有的工作流中。
安装
通过作曲家安装软件包:
composer require --dev voral/vinc-file-version-regexp用法
要使用此扩展程序,请通过为tre_version_set事件添加侦听器,将其配置在.vs-vers-increment.php文件中。这是一个例子:
use Vasoft VersionIncrement Config ;
use Vasoft VersionIncrement Events EventType ;
use Vasoft VersionIncrement Extension RegexpFileModifier ;
$ config = ( new Config ());
$ config -> getEventBus ()-> addListener (
EventType:: BEFORE_VERSION_SET ,
new RegexpFileModifier (
' ./src/version.php ' ,
' #($versions*=s* ' |"v)d+.d+.d+( ' |";)#s '
)
);
return $ config ;解释:
- 文件路径:指定应更新版本字符串的文件路径(例如,./src/version.php)。
- 正则表达式:提供一个正则模式来找到版本字符串。模式必须包括:
- 第1组:版本之前的字符串部分。
- 第2组:版本之后的字符串部分。
- 错误代码delta :可选,指定一个增量值,以确保使用多个扩展名时唯一的错误代码。
示例用例
1。更新PHP文件
如果您的项目包含这样的version.php文件:
">
$ version = " Version 1.0.0 " ; ?>扩展程序将将其更新为:
">
$ version = " Version 2.0.0 " ; ?>2。更新JSON文件
对于config.json文件:
{
"version" : " 1.0.0 "
}扩展程序可以将其更新为:
{
"version" : " 2.0.0 "
}错误处理
该扩展名提供了详细的错误消息和唯一的错误代码,以帮助诊断问题:
- FILENOTFOUNDEXCEPTION :如果指定文件不存在,则抛出。
- FileNotWritableException :如果文件不写,则抛出。
- tatternotfoundexception :如果正则表达式不匹配文件内容的任何部分,则抛出。
错误代码被可配置的错误Codedelta所抵消,以避免与其他扩展相冲突。
配置选项
您可以通过调整其参数来自定义扩展名的行为:
| 范围 | 描述 |
|---|---|
| filepath | 将更新版本的文件的路径。 |
| REGEXP | 用于定位版本字符串的正则表达式。 |
| errorcodedelta | 可选的增量值,以确保跨多个模块的唯一错误代码。 |
贡献
欢迎捐款!请按照以下步骤操作:
- 分叉存储库。
- 为您的功能或BugFix创建一个新的分支。
- 提交拉动请求,清楚地说明您的更改。
确保您的代码遵守项目的编码标准,并包括适当的测试。
测试
运行以下命令来测试软件包:
composer test生成代码覆盖报告:
composer coverage执行静态分析:
composer stan检查编码标准:
composer fixer立即运行所有检查:
composer check执照
此软件包已根据MIT许可获得许可。有关详细信息,请参见许可证文件。
有用的链接
- voral/版本提示:此扩展程序与。
下载源码
通过命令行克隆项目:
git clone https://github.com/Voral/vinc-file-version-regexp.git