<<<<<<<在gradle任务定义中

时间:2016-07-14 18:40:22

标签: gradle

这两项任务有什么区别。只有<<的任务在其定义中显示在./gradlew任务的输出中。

task greet(type: GreetingToFileTask) {
    destination = { project.greetingFile }
}

task sayGreeting(dependsOn: greet) << {
    println file(greetingFile).text
}

以上几行来自gradle文档Here

1 个答案:

答案 0 :(得分:2)

<<是任务定义的toLast配置项的快捷方式。即以下两个声明是等效的:

task hello << {
    println 'Hello world!'
}

task hello {
    doLast {
        println 'Hello world!'
    }
}

(例如,取自Gradle文档 here )。

现在,在第一个代码段中,您只需定义一个任务并配置其destination属性。但是,只有在需要时才会执行该任务。

但是,在第二个代码段中,您实际上定义了一个始终在配置阶段执行的操作,而不管执行目标是什么(引自 here ) :

  

任务包含配置和操作。使用&lt;&lt;时,你是   只需使用快捷方式来定义动作。代码定义在   任务的配置部分将在执行期间执行   无论目标是什么任务,构建的配置阶段。