目錄
Gradle是什么
一個(gè)最簡(jiǎn)單的gradle項(xiàng)目結(jié)構(gòu)和gradle配置
gradle多模塊設(shè)置
gradle task
1. Gradle是什么
Gradle是一個(gè)工具脂新,同時(shí)它也是一個(gè)編程框架。使用Groovy語(yǔ)言粗梭。主要概念是project和task争便,gradle build是由一個(gè)或多個(gè)project組成, project又是又task組成断医。使用這個(gè)工具可以完成app的編譯打包等工作滞乙。當(dāng)然你也可以用它干其他的事情。個(gè)人覺(jué)得和JenkinsFile類(lèi)似
2. 一個(gè)最簡(jiǎn)單的gradle項(xiàng)目結(jié)構(gòu)和gradle配置
文件結(jié)構(gòu)如下:
gradle wrapper 文件夾使得用戶(hù)獲取代碼后 不需要安裝gradle就可以直接跑gradle命令鉴嗤。不同版本的項(xiàng)目可能需要不同版本的Gradle斩启,手工部署麻煩且可能會(huì)出現(xiàn)沖突。
build.gradle為工程gradle配置文件
gradlew和gradlew.bat是gradle啟動(dòng)腳本
settings.gradle 是配置子項(xiàng)目的
build.gradle
plugins {
id 'java' // gradle 是框架醉锅,可以很方便地集成插件
}
group 'com'
version '1.0-SNAPSHOT'
sourceCompatibility = 1.8
repositories {
mavenCentral()
}
dependencies { // build dependency
testCompile group: 'junit', name: 'junit', version: '4.12'
}
setting.gradle
rootProject.name = 'springboot.demo'
3. gradle多模塊設(shè)置
新建另外兩個(gè)模塊module1兔簇,module2
文件結(jié)構(gòu)
setting.gradle
rootProject.name = 'springboot.demo'
include 'module1'
include 'module2'
添加common模塊,在module1模塊里添加代碼硬耍,依賴(lài)common模塊男韧,為使build通過(guò) gradle.build in module1
plugins {
id 'java'
}
group 'com'
version '1.0-SNAPSHOT'
sourceCompatibility = 1.8
repositories {
mavenCentral()
}
dependencies {
compile project(':common') // 模塊依賴(lài)
testCompile group: 'junit', name: 'junit', version: '4.12'
}
4. gradle task
使用idea在右邊的gradle窗口里,展開(kāi)可以看到所有task默垄,也使用gradle tasks命令來(lái)查看所有task及其解釋
有些task是gradle框架自帶的此虑,如help、tasks口锭、projects朦前、properties等,有些是java plugin帶進(jìn)來(lái)的鹃操,如compileJava韭寸、processResources、classes荆隘、jar恩伺、assemble等