init.gradle文件在build开始之前执行,所以你可以在这个文件配置一些你想预先加载的操作

例如配置build日志输出、配置你的机器信息,比如jdk安装目录,配置在build时必须个人信息,比如仓库或者数据库的认证信息,and so on.


启用init.gradle文件的方法:

1、在命令行指定文件,例如:gradle --init-script yourdir/init.gradle -q taskName.你可以多次输入此命令来指定多个init文件

2、把init.gradle文件放到USER_HOME/.gradle/ 目录下.

3、把以.gradle结尾的文件放到USER_HOME/.gradle/init.d/ 目录下.

4、把以.gradle结尾的文件放到GRADLE_HOME/init.d/ 目录下.


如果存在上面的4种方式的2种以上,gradle会按上面的1-4序号依次执行这些文件,如果给定目录下存在多个init脚本,会按拼音a-z顺序执行这些脚本

类似于build.gradle脚本,init脚本有时groovy语言脚本。每个init脚本都存在一个对应的gradle实例,你在这个文件中调用的所有方法和属性,都会

委托给这个gradle实例,每个init脚本都实现了Script接口


下面的例子是在build执行之前给所有的项目制定maven本地库,这个例子同时在 build.gradle文件指定了maven的仓库中心,注意它们之间异同

build.gradle



repositories {
mavenCentral()
}

task showRepos << {
println "All repos:"
println repositories.collect { it.name }
}


init.gradle



allprojects {
repositories {
mavenLocal()
}
}


在命令行输入命令:gradle --init-script init.gradle -q showRepos



> gradle --init-script init.gradle -q showRepos
All repos:
[MavenLocal, MavenRepo]