作为Gradle和Groovy的新手,我发现自己很难理解build.gradle脚本的语法.
我理解(至少我认为是这样)build.gradle是用作DSL的普通groovy代码,其中关键字在别处定义.
请解释一下不同的部分.摘自教程:
defaultTasks 'distribution'
task distribution << {
    println "We build the zip with version=$version"
}
task release(dependsOn: 'distribution') << {
    println 'We release now'
}
gradle.taskGraph.whenReady {taskGraph ->
    if (taskGraph.hasTask(release)) {
        version = '1.0'
    } else {
        version = '1.0-SNAPSHOT'
    }
}
我想我知道println是一个功能.我知道引号中的文字是一个字符串.我想花括号中的东西是封闭的.但什么是发布/*发行*?它也是一个字符串吗?它是函数任务的参数吗?为什么我可以在hasTask(release)中使用它而不带引号?
那么exacly 是什么:'defaultTasks','task','release','<<','gradle','whenReady',' - >'?
额外奖励:有没有一种常规方法可以找到自己?
一般来说,你不应该关心。这是一种 DSL,其中诸如“函数任务的参数”之类的术语不应该打扰您。您应该知道添加新任务是task taskName.
如果您真的想深入研究(例如扩展 Gradle、实现插件等),Gradle DSL 文档是您的朋友。从那里,您可以了解到这task是Projectobject上的一种方法。
| 归档时间: | 
 | 
| 查看次数: | 2914 次 | 
| 最近记录: |