【发布时间】:2018-05-02 15:30:57
【问题描述】:
在 gradle 中发布到存储库时,有什么方法可以获取下一个版本?
例如如果我的存储库中有版本3.0.1,我希望发布的版本是3.0.2。
ivy 有一个名为 buildnumber 的 ant 任务,它正是这样做的:
<project xmlns:ivy="antlib:org.apache.ivy.ant"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<target name="ivyBuildNumber" description="Use ivy get the next build number">
<ivy:buildnumber
resolver="url-chain"
organisation="${ivy.organisation}"
module="${ivy.module}"
revision="${version.base}"/>
<echoproperties prefix="ivy.new."/>
</target>
gradle 有没有办法做到这一点?如果不是,我如何从 gradle 的 ant 访问 ivy 任务?
在我的build.gradle我打电话给ant
ant.importBuild 'build.xml'
【问题讨论】:
-
插件如何理解下一个版本应该是什么?在您的情况下,它可能是
3.0.2或3.1.0或4.0.0。一些库可能有完全不同的版本标准,例如最新的休眠版本是5.2.12.Final。 -
@OleksandrShpota ant 的 ivy:buildnumber 任务在this 上做得很好
-
也许如果您使用不同的内部版本号。例如,如果我的版本是 1.2.4,我的内部版本号可能是 010204。我想你可以编写自己的插件,默认情况下会执行 1.2.4 -> 1.2.5 和 010204 -> 010205。我还没有编写 Gradle到目前为止的插件,所以我无法为您提供帮助。