Project 和 task:projects 和 tasks是 Gradle 中最重要的两个概念。
任何一个 Gradle 构建都是由一个或多个 projects 组成。每个 project 包括许多可构建组成部分。 这完全取决于你要构建些什么。举个例子,每个 project 或许是一个 jar 包或者一个 web 应用,它也可以是一个由许多其他项目中产生的 jar 构成的 zip 压缩包。一个 project 不必描述它只能进行构建操作。它也可以部署你的应用或搭建你的环境。不要担心它像听上去的那样庞大。 Gradle 的 build-by-convention 可以让您来具体定义一个 project 到底该做什么。
每个 project 都由多个 tasks 组成。每个 task 都代表了构建执行过程中的一个原子性操作。如编译,打包,生成 javadoc,发布到某个仓库等操作。到目前为止,可以发现我们可以在一个 project 中定义一些简单任务,后续章节将会阐述多项目构建和多项目多任务的内容。
在 gradle 任务中采用 groovy
task upper { String someString = 'mY_nAmE' println "Original: " + someString println "Upper case: " + someString.toUpperCase() } Output of gradle -q upper > gradle -q upper Original: mY_nAmE Upper case: MY_NAME你可以按如下方式创建任务间的依赖关系
在两个任务之间指明依赖关系 build.gradle task hello { println 'Hello world!' } task intro(dependsOn: hello) { println "I'm Gradle" }借助 Groovy 的强大不仅可以定义简单任务还能做更多的事。例如,可以动态定义任务
4.times { counter -> task "task$counter" { println "I'm task number $counter" } } Output of gradle -q task1 \> gradle -q task1 I'm task number 1一旦任务被创建后,任务之间可以通过 API 进行相互访问。这也是与 Ant 的不同之处。比如可以增加一些依赖。 通过 API 进行任务之间的通信 - 增加依赖
4.times { counter -> task "task$counter" { println "I'm task number $counter" } } task0.dependsOn task2, task3.....等等
转载于:https://www.cnblogs.com/helloworld-wc/p/10723361.html
相关资源:JAVA上百实例源码以及开源项目