phlak/semver-cli

用于在项目中管理语义版本的工具

资助包维护!
PHLAK
Paypal

安装次数: 2,209

依赖者: 1

建议者: 0

安全性: 0

星标: 5

观察者: 3

分支: 0

开放问题: 2

类型:cli

2.0.0 2024-02-20 22:47 UTC

README

SemVer CLI

Join our Community Become a Sponsor One-time Donation
Latest Stable Version Total Downloads License Build Status StyleCI

用于管理项目中语义版本的命令行工具
Chris Kankiewicz (@PHLAK)创建

要求

安装

可以通过Composer按项目或全局安装SemVer CLI工具。

按项目安装

composer require phlak/semver-cli

当安装到项目中时,semver工具将被安装到项目的vendor/bin目录。

ℹ️ 建议在项目中安装时将vendor/bin添加到您的PATH环境变量中。否则,每次调用命令时您都需要使用相对路径(例如:vendor/bin/semver [arguments])。

全局安装

composer global require phlak/semver-cli

当需要全局安装时,semver工具将被安装到全局的${COMOPSER_HOME}/vendor/bin目录。

ℹ️ 在全局安装时,您应该将${COMOPSER_HOME}/vendor/bin添加到您的PATH环境变量中。如果不这样做,每次调用时您都需要指定完整的安装路径。

用法

初始化

首先,您必须在目录中初始化语义版本。

$ semver initialize

这将通过在当前目录中创建包含版本的VERSION文件,将版本初始化为0.1.0

初始化特定版本

要初始化到特定版本,将版本作为参数传递给initialize命令。

$ semver initialize 1.3.37

初始化不完整的版本

有时您可能需要使用不完整的版本初始化语义版本。默认情况下,initialize命令需要有效的语义版本字符串。如果您想允许命令进行“最佳猜测”尝试,可以使用--parse选项。

$ semver initialize --parse 1.2

设置版本值

初始化后,您可以使用set:version命令设置(覆盖)完整版本。

$ semver set:version 1.3.37

或者,您也可以设置单个值。

$ semver set:major 1
$ semver set:minor 3
$ semver set:patch 37
$ semver set:pre-release beta.5
$ semver set:build 007

ℹ️ 设置某些值可能会影响其他值

  • 设置major值将重置minorpatch值为0
  • 设置minor值将只重置patch值为0
  • 设置majorminorpatch值也将清除pre-releasebuild

清除值

您可以使用clear命令清除pre-releasebuild值。

$ semver clear:build
$ semver clear:pre-release

检索值

初始化后,您可以在任何时候获取完整版本。

$ semver get:version

要获取带前缀v的版本(例如:v1.3.37),请使用--prefix选项。

$ semver get:version --prefix

您也可以检索单个值。

$ semver get:major
$ semver get:minor
$ semver get:patch
$ semver get:pre-release
$ semver get:build

如果pre-releasebuild值未设置,则默认情况下不会输出任何内容。要强制输出,请添加--verbose选项。

$ semver get:pre-release --verbose
$ semver get:build --verbose

增加版本号

您可以使用increment命令增加版本值。

$ semver increment:major
$ semver increment:minor
$ semver increment:patch

ℹ️ 增加某些值可能会影响其他值

  • 增加主版本号(major)的值将重置次版本号(minor)和修订号(patch)的值为0。
  • 增加次版本号(minor)的值只会将修订号(patch)的值重置为0。
  • 增加主版本号(major)、次版本号(minor)或修订号(patch)的值也将清除预发布版本号(pre-release)和构建版本号(build)的值。

适配器

存储版本信息的方法可以通过--adapter选项进行配置。以下是可以选择的适配器。

file
在当前目录下以常规文件形式存储版本(默认)。
composer
版本属性下,将版本存储在composer.json文件中。

当使用file适配器时,您可以通过--file选项控制命令读取和写入版本信息的文件。此选项接受您希望使用的名称,并将搜索当前目录中具有该名称的文件。

$ semver --file .version get:version

默认情况下,composer适配器将在当前目录中查找您的composer.json文件。如果您的composer.json文件位于其他位置,您可以使用--composer选项指定路径。

$ semver --composer path/to/composer.json increment:major

ℹ️ 可以将适配器选项与任何命令一起传递。

配置

您不需要在每次命令中传递适配器选项,而可以将这些选项设置在持久配置文件中。要启用配置,请在您的项目目录中创建一个名为semver.config.php的文件。此文件必须是PHP文件,并返回一个包含以下配置选项之一的数组。

adapter

存储版本数据的存储适配器。

等同于--adapter选项。

file_name

使用文件适配器时版本文件的名称。

等同于--file选项。

composer_file

使用composer适配器时composer文件的路径。

等同于--composer选项。

示例

<?php

return [
    'adapter' => 'composer',
    'composer_file' => 'some/path/composer.json',
];

变更日志

更改列表可以在GitHub Releases页面上找到。

故障排除

有关一般帮助和支持,请加入我们的GitHub Discussions或通过Twitter联系我们。

请将错误报告给GitHub Issue Tracker

版权

本项目根据MIT许可证授权。