当前位置: 首页 > 教程 > Gradle >

Gradle构建脚本

精华
小牛编辑
99浏览
2023-03-14

Gradle构建脚本文件用来处理两件事情:一个是项目和另一个的任务。每个Gradle生成表示一个或多个项目。一个项目表示一个JAR库或Web应用程序,也可能表示由其他项目产生的JAR文件组装的ZIP。简单地说,一个项目是由不同的任务组成。一个任务是指构建执行的一块工作。任务可能是编译一些类,创建一个JAR,产生的Javadoc或发布一些归档文件库。

注:Gradle使用Groovy语言编写脚本。

Gradle提供了一个域特定语言(DSL),用于描述构建。它使用 Groovy 语言,使其更容易来形容和构建。Gradle 中的每一个构建脚本使用UTF-8进行编码保存,并命名为 build.gradle

创建build.gradle文件

看看下面的例子演示一个小脚本,它将打印 “Yiibai gradle qick start“。复制并保存以下脚本到文件:D:/workspy/iibai.com/gradle-3.1/studyscript。脚本中定义一个任务名称 helloword,这是用来打印”Yiibai gradle qick start“ 字符串。

在命令提示符下,进入存储 build.gradle 文件的目录并执行以下命令,得到结果如下所示 -

D:workspyiibai.comgradle-3.1studyscript>gradle -q helloword
Yiibai gradle qick start

可以通过指定一个快捷键(<<符号表示)到 doLast 语句来简化 helloword 任务。如果将快捷方式添加到上述 helloword 任务,它看起来如下面脚本。

task helloword << {
   println 'Yiibai gradle qick start'
}

使用 gradle -q helloword 命令执行上面的脚本,也会得到同样的输出结果。

Gradle如何使用Groovy

Gradle 构建脚本使用 Groovy API。作为一个入门,我们来来看看下面的例子。以下示例演示将字符串转换为大写。
复制并保存下面的代码到 build.gradle 文件。

task upper << {
   String expString = 'YiiBai gradle tutorials'
   println "Original: " + expString
   println "Upper case: " + expString.toUpperCase()}

使用 gradle –q upper 执行上面的代码,如果命令执行成功,会得到下面的输出。

D:/workspy/iibai.com/gradle-3.1/studyscript>gradle -q upper
Original: YiiBai gradle tutorials
Upper case: YIIBAI GRADLE TUTORIALS

下面的例子 4 次打印隐式参数 ($it) 的值。复制并保存下面的代码到 build.gradle 文件。

task count << {
   4.times { 
      print "$it " 
   }
}

使用 gradle –q count 执行上面的代码,如果命令执行成功,会得到下面的输出。

D:/workspy/iibai.com/gradle-3.1/studyscript>gradle -q count
0 1 2 3

Groovy的JDK方法

Groovy增加了很多有用的方法到标准的Java类。例如,从Java API可迭代实现它遍历Iterable接口的元素的each() 方法。

复制并保存下面的代码到 build.gradle 文件。

task groovyJDKMethod << {
   String myName = "Yiibai";
   myName.each() { 
      println "${it}" 
   };
}

使用 gradle –q groovyJDKMethod 执行上面的代码,如果命令执行成功,会得到下面的输出。

D:/workspy/iibai.com/gradle-3.1/studyscript>gradle -q groovyJDKMethod
Y
i
i
b
a
i

以下是纠正/补充内容:

啊,从编写构建脚本那开始,照你描述的做,在cmd命令窗口模式下运行,报构建错误怎么处理啊   提交时间:2019-08-14
啊,从编写构建脚本那开始,照你描述的做,在cmd命令窗口模式下运行,报构建错误怎么处理啊?cmd 到你指定的bulid.gradle 目录下才能执行   提交时间:2019-10-29