gradle原理
构建脚本概要
构建块 : project & task
project代表一个正在构建的组件
project属性:group、name、version
project方法:apply\dependencies、repositiories、task
project属性的其他配置方式:ext、gradle.properties
task包括任务动作和任务依赖
dependsOn
doFirst
doLast<<
自定义task: 定义任务,定义闭包,定义任务需要执行的动作。以下是定义任务的代码:
group 'com.imooc'
version '1.0-SNAPSHOT'
apply plugin: 'java'
apply plugin: 'war'
sourceCompatibility = 1.8
repositories {
mavenCentral()
}
dependencies {
testCompile group: 'junit', name: 'junit', version: '4.12'
}
//定义闭包:创建目录
def createDir={
path->
File dir=new File(path);
if(!dir.exists()){
dir.mkdirs()
}
}
//定义创建java目录的任务
task makeIavaDir(){
def paths=['src/main/java','src/main/resources','src/test/java','src/test/resources'];
doFirst{
paths.forEach(createDir);
}
}
//定义创建web目录的任务
task makeWebDir(){
dependsOn(makeIavaDir)
def paths=['src/main/webapp','src/test/webapp'];
doLast{
paths.forEach(createDir)
}
}