我有一个包含子项目的Gradle项目,如果我不想一次构建所有子项目,我可以发出单独的构建命令。例如,
parent
subprojectA
subprojectB
subprojectC
然后我可以发出./gradlew :subprojectA:assemble :subprojectC:assemble
之类的命令。我喜欢做的是从正在构建的子项目的每个子项目group
和version
值构造一个含义git标记,即group
和version
仅用于{在这种情况下,{1}}和subprojectA
。我正在考虑编写一个独立的插件来执行此操作,但不确定在构建时何时/如何获取此信息。任何建议将不胜感激。
答案 0 :(得分:1)
构建脚本中全局提供group
和version
(以及任何其他项目属性)。
task myTask << {
println group + "-" + version
}
如果您正在编写二进制插件,您还可以通过Project
方法访问property()
对象本身的属性。
def group = project.property('group')
修改强>
如果要确定是否正在构建特定项目,可以检查TaskExecutionGraph
。
gradle.taskGraph.whenReady { graph ->
if (graph.hasTask(':subprojectA:assemble')) {
println 'Will build subprojectA'
}
}