phlak/semver-cli

用于在项目内管理语义化版本号的命令行工具

资助包维护!
PHLAK
Paypal

安装量: 2,208

依赖者: 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 值将重置 minorpatch 值为 0
  • 增加 minor 值将仅重置 patch 值为 0
  • 增加 majorminorpatch 的值也将清除 pre-releasebuild 的值

适配器

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

file
将版本存储在当前目录下的常规文件中(默认)
composer
将版本存储在 composer.json 文件的 version 属性下

当使用 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 许可证 许可。