gradle 简单介绍
gradle 安装
和 maven 的安装类似,解压设置GRADLE_HOME即可。
gradle 核心——project & task
Gradle 里的几乎任何东西都是基于两个基础概念:project & task。
Gradle 中所有执行的事件都是借由 Task 执行的。
对于一个Gradle工程,根目录执行:gradle tasks -q
,-q
表示忽略gradle本身的log信息,加上这个参数可以屏蔽很多无关的输出。
通常会给task附带一些执行动作,称之为Action。
也可以附带一个闭包配置,称之为Configuration,闭包中不仅可用做赋值操作,也可以执行一些自动执行的配置。
Task依赖。
task xxx << {
}
这样的语法等价于
task xxx
xxx.dolast {
}
关于project:
目录:
重要文件:
setting.gradle文件
build.gradle 类似于pom.xml
一个父工程 project 可以包含多个子工程 child-project,一般一个工程一个 build.gradle 文件。父工程的 build.gradle 统一管理子工程的build.gradle。
Gardle v.s. Maven
优势:基于 groovy 的简洁语法;
groovy task 比 maven plugin 灵活方便;
互相转化
下面的方法可以把gradle转成maven项目,前提是gradle项目目录结构保持跟maven一样的约定,即/src/main/java。
gradle --> maven
在build.gradle中增加以下内容(group,version可自行修改,artifactId默认为目录名称)
apply plugin: 'java'
apply plugin: 'maven'
group = 'com.101tec'
version = '0.7-dev'
sourceCompatibility = 1.8
执行gradle install
,成功后将在build\poms目录下生成pom-default.xml文件,把它复制到根目录下,改名成pom.xml即可
通过修改build.gradle 也可以直接在根目录下生成pom.xml
task writeNewPom << {
pom {
project {
inceptionYear '2018'
licenses {
license {
}
}
}
}.writeTo("$buildDir/pom.xml")
}
maven --> gradle
本机安装gradle 2.0以上的版本,在maven根目录下运行:gradle init --type pom