将变量从Groovy类传递回Gradle任务

时间:2018-05-21 09:08:47

标签: gradle groovy

我可能没有为这个问题设置正确的标题,因为我在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"。

知道为什么这不起作用,我将如何做到这一点?

谢谢,

0 个答案:

没有答案