我是Gradle的新手。我有一个示例项目结构,如下所示:
rootA/
├── build.gradle
├── settings.gradle
└── subA
└── build.gradle
在
subA
项目中,有一个任务,让我们调用goInsideSubA()
,此任务可以返回一个字符串(类似)“这在subA项目内部”编辑:这是我的示例上下文:
//subA/build.gradle:
task goInsideSubA() {
def string = "this is inside subA project"
}
// rootA/build.gradle
task showInsideSubA() {
doLast {
// how can I get the string from :subA:goInsideSubA task here
}
}
// settings.gradle
include ':subA'
我的问题是我如何才能使
showInsideSubA()
项目中的任务rootA
的字符串“这在subA项目内部”重用?谢谢
最佳答案
我通过使用“任务属性”找到了一个解决方案:
//subA/build.gradle:
task goInsideSubA() {
ext {
myString = "this is inside subA project"
}
}
// rootA/build.gradle
task showInsideSubA() {
doLast {
println tasks.getByPath(':subA:goInsideSubA').myString
}
}
// settings.gradle
include ':subA'
结果:
$ gradle -q showInsideSubA
> this is inside subA project
关于gradle - Gradle-如何从子项目中获取任务输出,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58886436/