Gradle:使用和不使用 << 运算符定义任务时的差异

Gradle: Differences when define task with and without << operator

我正在使用 Gradle 并尝试为我的 Android 项目进行配置。我阅读了文档,发现有两种定义任务的方法。

没有<<运算符

task SampleTask {
    methodA param1 param2
}

使用 << 运算符:

Task SampleTask <<{
   methodA param1 param2
}

我的问题是:以上两种方式的真正区别是什么?

谢谢:)

您可以这样定义任务:

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

在这里,hello 任务做的最后一件事是打印 'Hello World!' 我可以使用另一种语法来定义我的任务,如下所示:

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

这两个任务是一样的。 另一个例子是:

task hello << {
    println 'Hello Earth'
}
hello.doFirst {
    println 'Hello Venus'
}
hello.doLast {
    println 'Hello Mars'
}
hello << {
    println 'Hello Jupiter'
}

现在输出将是:

Hello Venus
Hello Earth
Hello Mars
Hello Jupiter

阅读 documentation 了解更多详情。