【发布时间】:2019-01-27 09:17:49
【问题描述】:
setVersionTask 设置一个我想被 getVersionTask 用作输入的成员。这是我的代码:
class TaskA extends DefaultTask {
@InputFile
File pbxprojectFile
@Optional
String version
@TaskAction
void exec() {
this.version "version_set"
}
}
class TaskB extends DefaultTask {
@Input
String version
}
task setVersionTask(type: TaskA){
pbxprojectFile project.file('foo.txt')
}
task getVersionTask(type: TaskB){
doFirst{
println('version ' + setVersionTask.version)
}
version setVersionTask.version
dependsOn 'setVersionTask'
}
我去的时候
./gradlew -q getVersion
我明白了
发现任务':getVersionTask'的配置有问题。 没有为属性“版本”指定值。
我该如何做到这一点?
非常感谢!
【问题讨论】:
-
为什么要在执行阶段而不是配置阶段设置
version属性?有关构建生命周期的信息,请参阅 docs.gradle.org/current/userguide/build_lifecycle.html。 -
只是因为它最初没有定义。它在 taskA 运行后获取一个值。
标签: gradle gradle-task