Gradle 笔记

此文为本人学习笔记,不保证正确性。。如有纰漏,还请指正。

Maven 的配置太啰嗦了,因此想用 Gradle,可不仔细学学的话,用 Gradle 也只会复制粘贴。。
于是注册了 Udacity 的 Gradle 课程: 用 Gradle 构建 Android 和 Java.

Gradle 基础

关于如何加速下载、如何配置环境变量,就略过了。

首先需要了解一个基础的 Gradle 项目的构成。在任意一个文件夹中执行gradle init,都会生成下列文件:

.
├── build.gradle  # 当前 Project 的构建脚本
├── gradle
│   └── wrapper                 # Project 特定的 Gradle,这样不同项目可使用不同版本的 Gradle。
│       ├── gradle-wrapper.jar         #    Gradle Wrapper executable JAR
│       └── gradle-wrapper.properties  # Gradle Wrapper configuration properties
├── gradlew  
├── gradlew.bat  # 这两个 shell 脚本,分别是 Unix* 和 Windows 系统上的 Wrapper 执行脚本。
└── settings.gradle  # 配置脚本,用于说明哪些项目参与构建

一般构建,都推荐使用上面标明的 shell 脚本执行。该脚本使用的是项目独立的 gradle wrapper,可以保证不会因为 gradle 版本问题而构建失败。

此外,如果有经常会变动的属性,或者是敏感信息,(比如安卓app签名密钥库的密码)可以单独保存到gradle.properties文件中,然后在 build.gradle 中使用该属性。(在开源项目中可能会用到)

插件

学了 Gradle基础部分 后,能理解 Gradle 提供了 Task 这样一个抽象层次,我们可以在这个层次上写我们的 Tasks 来构建任何东西。
Gradle 用得最广泛的是在 Java 和 Android 项目上,可这样的项目一般都比较复杂,即使 Gradle 已经提供了很多基础功能,直接从零开始写 build.gradle 仍然会显得很困难。
实际上,Java 项目或者 Android 项目,它们的构建任务,很大部分都是通用的。比如编译、打包、测试等等。因此 Gradle 官方提供了很多有用的插件,这些插件预置了很多通用的 Task 和 Task Types、DSL元素等。使用这些预定义的 Task,构建就显得简单多了。

插件,可以把它类比成 Java 的父类,你的 build.gradle 便相当于插件的子类。

Gradle 插件继承了 Maven 约定优于配置 的哲学,在默认情况下,执行各种任务时会默认你的项目使用标准结构。当然如有需要,你也可以自定义。

Java 插件

关于使用 Gradle 构建 Java 项目,已经有了很好的官方文档:tutorial for java projectstutorial for java web projects.

依赖管理

待续。。。

测试

打包到 jar

多项目的构建

猜你喜欢

转载自www.cnblogs.com/kirito-c/p/9172905.html