简介
init.gradle文件在build开始之前执行,可以在这个文件配置一些需要预先加载的操作。例如:配置build日志输出、配置机器信息、jdk安装目录,配置在build时必须提供的信息,比如仓库或者数据库的认证信息等等。
启用方式
- 在命令行指定文件,例如:“gradle —init-script yourdir/init.gradle -q taskName”。可以多次输入此命令来指定多个init文件。
- 把init.gradle文件放到“USER_HOME/.gradle/”目录下。
- 把以.gradle结尾的文件放到“USER_HOME/.gradle/init.d/ ”目录下。
- 把以.gradle结尾的文件放到“GRADLE_HOME/init.d/”目录下。
如果存在上面的4种方式的2种以上,gradle会按上面的1-4序号依次执行这些文件,如果给定目录下存在多个init脚本,会按拼音a-z顺序执行这些脚本。
类似于build.gradle脚本,init.gradle有时用groovy语言脚本。每个init脚本都存在一个对应的gradle实例,你在这个文件中调用的所有方法和属性,都会委托给这个gradle实例,每个init脚本都实现了Script接口。
示例
下面的例子是在build执行之前给所有的项目制定maven本地库,这个例子同时在build.gradle文件指定了maven的仓库中心,注意它们之间异同。
- build.gradle ```groovy repositories { mavenCentral() }
task showRepos << { println “All repos:” println repositories.collect { it.name } }
- **init.gradle(_默认:C:\Users\Administrator\.gradle_)**
```groovy
allprojects {
repositories {
mavenLocal()
}
}
执行:
gradle --init-script init.gradle -q showRepos
# All repos:
# [MavenLocal, MavenRepo]