enuage / version-updater
版本更新的工具
1.5.8
2021-07-04 03:51 UTC
Requires
- php: >=7.1.3
- ext-json: *
- doctrine/collections: ~1.6
- enuage/php-advanced-types: ^2.1.8
- symfony/config: ~2.7 || ~3.0 || ~4.0
- symfony/console: ~2.7 || ~3.0 || ~4.0
- symfony/dependency-injection: ~2.7 || ~3.0 || ~4.0
- symfony/framework-bundle: ~2.7 || ~3.0 || ~4.0
- symfony/http-kernel: ~2.7 || ~3.0 || ~4.0
- symfony/yaml: ~2.7 || ~3.0 || ~4.0
Requires (Dev)
- phpunit/phpunit: ^7.5
README
要求
- PHP >= 7.1.3
- Symfony 可选
安装
完全不使用 Symfony 的应用程序
步骤 1:下载库
打开命令行界面,进入您的项目目录并执行
$ composer require enuage/version-updater
步骤 2:从 vendor/bin
使用版本更新的命令
$ php vendor/bin/version-updater [options] [--] [<version>]
使用 Symfony Flex 的应用程序
打开命令行界面,进入您的项目目录并执行
$ composer require enuage/version-updater
不使用 Symfony Flex 的应用程序
步骤 1:下载包
打开命令行界面,进入您的项目目录并执行以下命令以下载此包的最新稳定版本
$ composer require version-updater
此命令要求您全局安装了 Composer,如 Composer 文档中的安装章节所述。
步骤 2:启用包
然后,通过将其添加到项目 app/AppKernel.php
文件中注册的包列表中来启用该包
<?php
// app/AppKernel.php
// ...
class AppKernel extends Kernel
{
public function registerBundles()
{
$bundles = array(
// ...
new Enuage\VersionUpdaterBundle\VersionUpdaterBundle(),
);
// ...
}
// ...
}
使用
选项 1:通过命令行更新文件
步骤 1:定义文件和版本更新的正则表达式
使用 \V
在正则表达式中定义版本。它将被 SemVer 正则表达式替换
1.2.0 版本新增:您可以通过在 json
配置下添加文件路径和属性的路径(由斜杠分隔)来轻松定义应该更新的 json 文件的属性 - 格式如下:path-to/file: property/path
1.3.0 版本新增:您可以通过在 yaml
配置下添加文件路径和属性的路径(由斜杠分隔)来轻松定义应该更新的 yaml 文件的属性 - 格式如下:path-to/file: property/path
1.5.4 版本新增:自定义提交和标签(发布)消息
示例
files:
- '.env': '/^(API_VERSION=)\V/m'
- 'README.md': '/^(Version:\s)\V/m'
json:
- composer: version # File: <project>/composer.json
- doc/api: info/version # File <project>/doc/api.json
yaml:
- doc/api: info/version # File <project>/doc/api.yaml
git:
enabled: true # Optional parameter. You can disable Git operations without removing its configuration
source: true # The latest tag will be got from Git history
push: true # Push tag to repository after its creation
prefix: v # Tag prefix. Empty by default
message:
commit: 'Your custom commit message (\V)' # If you want, you can use \V to define the place for version string
release: 'Your custom release message'
步骤 2:使用版本更新的命令
$ php bin/console enuage:version:update [options] [--] [<version>]
可用选项
--major
:仅增加主版本--minor
:仅增加次要版本--patch
:仅增加补丁版本--alpha
:增加或定义 alpha 版本--beta
:增加或定义 beta 版本--rc
:增加或定义发布候选版本--down
:降低定义的版本。也适用于预发布版本--release
:删除所有预发布版本--date <none|PHP 日期格式>
:向版本添加日期元数据。默认日期格式为c
--meta <数据>
:向版本添加元数据--config-file <字符串>
:配置文件的路径或包含.enuage
配置文件的目录--colors <布尔值>
:启用/禁用输出中的颜色。默认 -true
--show-current <字符串|布尔值>
:从文件或所有可用来源显示当前版本。目前支持以下来源- composer
- Git 仓库(如果启用)
--exclude-git
:禁用更新 Git 仓库--print-version-only
:隐藏所有消息,在脚本作业完成后仅打印新版本。可以通过增加详细程度级别(-v
)再次显示消息
选项 2:通过服务更新版本
示例
use Enuage\VersionUpdaterBundle\DTO\VersionOptions;
use Symfony\Component\DependencyInjection\Container;
// use Enuage\VersionUpdaterBundle\Service\VersionService;
$version = '0.1.0-alpha.2';
$service = $container->get('enuage.version.service');
// $service = VersionService(); // If you don't use Symfony
$options = new VersionOptions();
$options->increasePreRelease();
$service->update($version, $options); // Result: "0.1.0-alpha.3"
可用方法
addDateMeta(format = null)
:启用提供的格式或默认的 'c' 中的日期元数据addMeta(value = null)
:向标签添加自定义元数据increaseMajor()
:启用主版本增加decreaseMajor()
:禁用主版本增加increaseMinor()
:启用次要版本增加decreaseMinor()
:禁用次要版本增加increasePatch()
:启用补丁版本增加decreasePatch()
:禁用补丁版本增加updateAlpha()
:启用预发布版本alpha
修改updateBeta()
:启用预发布版本beta
修改updateReleaseCandidate()
:启用预发布版本rc
修改increasePreRelease()
:增加预发布版本(例如:0.1.0-alpha.2
->0.1.0-alpha.3
)decreasePreRelease()
:减少预发布版本(例如:0.1.0-alpha.2
->0.1.0-alpha.1
)setVersion()
:设置自定义版本值downgrade()
:降级版本,包括预发布版本release()
:禁用所有预发布后缀