0

我需要使用project.version等于快照 git 的版本构建我的工件。

例如,clean buildidea build 之后的默认版本: 0.2-dev.#hash

我需要:1.1-SNAPSHOT1.1 来自 git 标签,就像我运行snapshot任务时一样

我试图改变ReleasePluginExtension.groovy

release {
    defaultVersionStrategy = Strategies.SNAPSHOT
}

release {
    versionStrategy(Strategies.SNAPSHOT)
}

不工作

我目前的解决方法是通过 build.gradle 在内部设置 project.version,就像在库代码中一样 - 创建快照策略对象并调用 #version() 方法:

release {
    def gitRoot = project.hasProperty('git.root') ? project.property('git.root') : project.rootProject.projectDir
    def git = Grgit.open(dir: gitRoot)
    project.version = Strategies.SNAPSHOT.infer(project, git).version()
}

但我认为它应该可以通过 nebula-plugin 进行定制。

4

1 回答 1

1

也许已经解决了。类似的设置适用于我们version "15.0.2",但它必须plugins直接跟随块:

release {
  defaultVersionStrategy = nebula.plugin.release.git.opinion.Strategies.SNAPSHOT
}
于 2020-06-12T17:22:49.680 回答