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/。