调用uploadArchives为了释放我的系统,我创建了许多其他项目的要求uploadArchives一个释放器项目。摇篮发布系统任务 - 对子项目
在我的项目,我有以下文件:
settings.gradle
include '../proj-a', '../proj-b'
的build.gradle
task releaseSystem() {
// what goes here?
}
应该采取什么releaseSystem任务的内容是这样我可以拨打gradle releaseSystem
并让它运行uploadArchives我的每个子项目?
我已经尝试了多种选择,但没有成功迄今。
感谢您能提供任何见解。
ANSWER
我与优雅的解决方案,提供的gradle我的问题不断深刻的印象。这是我的最终解决方案(如彼得指出,下同):
settings.gradle
include 'proj-a', 'proj-b'
project (':proj-a').projectDir = new File(settingsDir, '../proj-a')
project (':proj-b').projectDir = new File(settingsDir, '../proj-b')
的build.gradle
task releaseSystem() {
dependsOn {
[
subprojects.build,
subprojects.uploadArchives
]
}
}
注意,既然我的仓库是Maven仓库当我最初包括“../proj-a”在我settings.gradle,它产生与artifactId的../proj-a劲歌这是无效的。我必须将我的settings.gradle更改为上述系统的格式,以便正确地将poms放在一起,并成功完成uploadArchives任务。
我和gradle这个怎么优美的不断深刻的印象。谢谢你的答案。在我的情况下还有一个问题。我的仓库是maven仓库,所以当以这种方式运行时,它会创建无效的pom文件,因为artifactId具有“../”进行处理。任何方式在这个? – dev
我通过使用projectDir设置找到了解决此问题的方法。将更新上面的问题。再次感谢 – dev