在配置阶段平移和更改变量

时间:2013-11-29 11:45:55

标签: gradle

我有以下简化的build.gradle

ext.greeting = "not set"

task configHello{
    project.greeting = "Hello"
    doLast{
        project.greeting = "I said hello"
    }
}

task configGoodbye{
    project.greeting = "Goodbye"
}

task print(dependsOn: configHello){
    def localString = project.greeting
    doLast{
        println project.greeting
        println localString
    }
}

运行 gradle print 会给出:
:configHello
:打印
我问过你好 再见

我想要的是它说“你好”。我应该如何以一种很好的方式设置 localString ?或者我是以错误的方式来做这件事的?真实生活场景的打印任务是JavaExec类型,但我发现这更容易理解。

编辑:或者是通过DAG配置打印任务的方式?

1 个答案:

答案 0 :(得分:0)

嗯,很快找到了答案......诀窍是利用doFirst。工作方案:     ext.greeting =“未设置”

task configHello{
    doLast{
        project.greeting = "I said hello"
    }
}

task configGoodbye{
    project.greeting = "Goodbye"
}

task print(dependsOn: configHello){
    def localString
    doFirst{
        localString = project.greeting
    }
    doLast{
        println project.greeting
        println localString
    }
}

给出:
:configHello
:打印
我问过你好 我说你好了