我正在为一个未开发的项目设置一个版本控制方案,并阅读了很多有关semver和the Maven convention的内容。我正在使用Nexus OSS回购管理器(v3.13.0)。
在版本控制方面很难采用权威的方案,但是我相信约定的力量。尽管semver文档(上面的链接)写得不错,但我注意到与Maven对待版本号的方式存在冲突。我们的目标是确定一个可以提供良好排序的方案。 Semver提到,预发布标签(Major.Minor.Patch-
之后的部分)可能具有以点分隔的段,其中某些段是数字的,因此需要进行比较,因此不应填充为零,例如RC.09
。但是,实际上,Maven(上面的Oracle链接,是否权威?)将第一个破折号之后的所有内容都视为一个字母数字字段,因此,应该使用RC09
和RC10
。
我的问题是,是否使用零填充?我很乐意坚持使用semver
,但我还需要一些有效的方法。
增加的复杂性是我不使用Maven,而是使用Gradle!但这是否重要? ->在构建系统或回购管理器(在我的情况下为Nexus)中计算版本排序的位置。请参阅what Nexus says on the topic-但是,它引用了Maven,所以我不确定这是否适用于Gradle客户端(或更确切地说,适用于maven-publish插件)。再说一次,Gradle在发布标准方面尝试模仿Maven。一团糟!