我可能没有为这个问题设置正确的标题,因为我在Gradle中没有那么高级,所以道歉。
我在build.gradle中有以下Gradle任务:
// buildSrc/src/main/groovy/envs/actions - This where all the groovy classes which I use are located
import envs.actions.*
tasks.create("createEnvironment", CreateApplicationEnvironmentTask) {
println "executing creation"
}
return tasks.create("createRecord", CreateRecordTask) {
dependsOn "createEnvironment"
varEbCname = tasks["createEnvironment"].ebCname
}
第一个任务是" CreateApplicationEnvironmentTask"类型,它是.groovy文件中的一个类,我在其中执行一些操作并设置一些变量。
我在" CreateApplicationEnvironmentTask"中设置的其中一个变量class也是一个名为" ebCname",如下所示:
import org.gradle.api.DefaultTask
import org.gradle.api.tasks.TaskAction
class CreateApplicationEnvironmentTask extends DefaultTask {
String ebCname
@TaskAction
def create() {
ebCname = "some_value"
}
}
我要做的是能够通过调用从第二个任务"createRecord"
获取变量" ebCname"(在类中设置)的值"createEnvironment"
任务。我在第二项任务中执行以下操作,但它无法正常工作:
varEbCname = tasks["createEnvironment"].ebCname
" varEbCname"最终成为空。
我也试过"返回" - " ebCname"来自班级的变量,但这也不起作用。
" ebCname"变量在" CreateApplicationEnvironmentTask"中设置。由" createEnvironment"使用的类。任务,所以我需要一种方法从第二个任务中获取该变量的值" createRecord"。
知道为什么这不起作用,我将如何做到这一点?
谢谢,