设置文件 :setting.gradle 初始化阶段执行,多模块下必须要够该文件
构建脚本文件:build.gradle 配置阶段执行
*每一个Gradle构建都是由一个或多个project构成,每一个project都是由一个或多个tasks构成
一.概念
1.三个对象
project -- build.gradle(工程(模块))
gradle -- 初始化
set -- setting.gradle
2.build的生命周期
1.初始化 setting.gradle,决定哪些项目需要加入构建,并一一创建project实例
2.配置阶段 将整个build的project和task确定关系,实质为解析每个被加入构建的工程的build.gradle
3.执行阶段 用gradle执行命令,执行一些指定的task及其依赖的task
总结:初始化的是确定了要哪些工程需要构建,实质为执行setting.gradle,因为在stting.gradle文件中指定了哪些模块需要被构建。然后配置需要被构建的工程,将这些需要被构建的工程和它的task联系起来,实质为解析每个project的build.gradle文件。最后是执行,即执行gradle命令,包括task及其依赖的task。
2.设置文件
1.setting.gradle
(1) //分层布局的多项目构建settings.gradle文件
include 'project1', 'project2:child', 'project3:child1' -》 (project3/child1是相对于多项目根路径的相对路径)
(2) //平面布局的多项目构建settings.gradle文件
includeFlat 'project3', 'project4'
2.build.gradle
(1)task
1)task h3 <<{
println 'h3 执行了'
}
task h4(dependsOn: 'h3') << {
println 'h4依赖h3'
}
* 执行h4的时候会先执行h3
2)5.times { counter ->
task "task$counter" << {
println "I'm task number $counter"
}
}
* counter的值不能大于5(n)
3)默认task defaultTasks
defaultTasks 'h1', 'h2'
task h1 << {
println 'Default Cleaning!'
}
task h2 << {
println 'Default Running!'
}
task h3 << {
println "I'm not a default task!"
}