Gradle构建脚本文件用来处理两件事情:一个是项目和另一个的任务。每个Gradle生成表示一个或多个项目。一个项目表示一个JAR库或Web应用程序,也可能表示由其他项目产生的JAR文件组装的ZIP。 简单地说,一个项目是由不同的任务组成。一个任务是指构建执行的一块工作。任务可能是编译一些类,创建一个JAR,产生的Javadoc或发布一些归档文件库。
注:Gradle使用Groovy语言编写脚本。
Gradle提供了一个域特定语言(DSL),用于描述构建。 它使用 Groovy 语言,使其更容易来形容和构建。Gradle 中的每一个构建脚本使用UTF-8进行编码保存,并命名为 build.gradle 。
看看下面的例子演示一个小脚本,它将打印 “yqxbc gradle qick start“。复制并保存以下脚本到文件:D:workspzftb.cngradle-3.1studyscriptbuild.gradle。脚本中定义一个任务名称helloword,这是用来打印”yqxbc gradle qick start“ 字符串。
在命令提示符下,进入存储 build.gradle 文件的目录并执行以下命令,得到结果如下所示 -
D:workspzftb.cngradle-3.1studyscript>gradle -q helloword yqxbc gradle qick start
可以通过指定一个快捷键(<<符号表示)到 doLast 语句来简化 helloword 任务。 如果将快捷方式添加到上述 helloword 任务,它看起来如下面脚本。
task helloword << { println 'yqxbc gradle qick start' }
使用 gradle -q helloword 命令执行上面的脚本,也会得到同样的输出结果。
Gradle 构建脚本使用 Groovy API。 作为一个入门,我们来来看看下面的例子。以下示例演示将字符串转换为大写。
复制并保存下面的代码到 build.gradle 文件。
task upper << { String expString = 'yqxbc gradle tutorials' println "Original: " + expString println "Upper case: " + expString.toUpperCase()}
使用 gradle –q upper 执行上面的代码,如果命令执行成功,会得到下面的输出。
D:workspzftb.cngradle-3.1studyscript>gradle -q upper Original: yqxbc gradle tutorials Upper case: yqxbcGRADLE TUTORIALS
下面的例子 4 次打印隐式参数 ($it) 的值。复制并保存下面的代码到 build.gradle 文件。
task count << { 4.times { print "$it " } }
使用 gradle –q count 执行上面的代码,如果命令执行成功,会得到下面的输出。
D:workspzftb.cngradle-3.1studyscript>gradle -q count 0 1 2 3
Groovy增加了很多有用的方法到标准的Java类。 例如,从Java API可迭代实现它遍历Iterable接口的元素的each() 方法。
复制并保存下面的代码到 build.gradle 文件。
task groovyJDKMethod << { String myName = "yqxbc"; myName.each() { println "${it}" }; }
使用 gradle –q groovyJDKMethod 执行上面的代码,如果命令执行成功,会得到下面的输出。
D:workspzftb.cngradle-3.1studyscript>gradle -q groovyJDKMethod