fuzzyfox / composer-version
为您的项目添加类似于npm version的版本管理超级功能。
v0.1.5
2020-08-20 00:41 UTC
Requires
- composer-plugin-api: ^1.1
- ext-json: *
- phlak/semver: ^3.2
README
提升包版本
在单个项目中使用
composer require fuzzyfox/composer-version
或在任何地方使用
composer global require fuzzyfox/composer-version
概述
composer version [<newversion> | major | minor | patch | premajor | preminor | prepatch | devmajor | devminor | devpatch | prerelease [--preid=<prerelease-id>] | from-git] composer version # to print current package/composer version
描述
在目录中运行此包以提升版本并将新数据写回 composer.json
。
newversion
参数应为一个有效的 composer 版本字符串,或者以下之一
major
- 提升到下一个主版本。minor
- 提升到下一个次版本。patch
- 提升到下一个修订版本。premajor [--preid=<prerelease-id>]
- 提升到下一个主版本,并带有预发布后缀。preminor [--preid=<prerelease-id>]
- 提升到下一个次版本,并带有预发布后缀。prepatch [--preid=<prerelease-id>]
- 提升到下一个修订版本,并带有预发布后缀。devmajor
- 提升到下一个主版本,并带有开发后缀。devminor
- 提升到下一个次版本,并带有开发后缀。devpatch
- 提升到下一个修订版本,并带有开发后缀。prerelease [--preid=<prerelease-id>]
- 提升预发布后缀编号。from-git
- 尝试从git
获取当前版本
如果在一个 git 仓库中运行,它还会创建版本提交和标签。
如果 pre-version
、pre-version-commit
或 post-version
在 composer 的 scripts
属性中,它们将在运行 composer version
时作为一部分执行。
执行的确切顺序如下
- 在开始之前检查 git 工作目录是否干净。
- 运行
pre-version
脚本。这些脚本可以访问composer.json
中的旧version
。您想要添加到提交中的任何文件都应该显式地使用git add
添加。 - 按照要求在
composer.json
中提升version
。 - 运行
pre-version-commit
脚本。这些脚本可以访问composer.json
中的新version
。同样,脚本应该显式地使用git add
将生成的文件添加到提交中。 - 提交和打标签。
- 运行
post-version
脚本。使用它来清理文件系统或自动推送提交和/或标签。
v1.0.0
一旦此包与 npm version
具有完全功能兼容性(尽管对 composer
兼容性进行了一些轻微的命名调整),并且有一套完整的测试,此包将被视为 v1.0.0
。
可能作为 v1.0.0
部分添加的附加功能之一将是集成 npm version
的能力,以保持具有此需求的代码库中的 composer.json
和 package.json
同步。
许可证
此源代码形式受 Mozilla 公共许可证第 2.0 版的条款约束。如果未与此文件一起分发 MPL 的副本,您可以在此处获得一个副本:https://mozilla.org/MPL/2.0/。