我们知道 Maven 的 ~/.m2/settings.xml 是全局配置,gradle 也有类似的配置文件 init.gradle。
作用
init.gradle 文件会在每个项目 build 之前被调用,用于做一些初始化的操作,它主要有如下作用:
- 配置内部的仓库信息(如公司的 maven 仓库信息);
- 配置一些全局属性;
- 配置用户名及密码信息(如公司仓库的用户名和密码信息)。
加载顺序
如上所述,init.gradle 在 build.gradle 文件之前运行,其实更完整的执行顺序如下:
- 首先加载 USER_HOME/.gradle/init.gradle 文件;
- 加载 USER_HOME/.gradle/init.d/ 目录下的以 .gradle 结尾的文件;
- 加载 GRADLE_HOME/init.d/ 目录下的以 .gradle 结尾的文件;
- 加载当前项目的 build.gradle 文件。
USER_HOME 是当前用户的根目录,而 GRADLE_HOME 目录一般来说是 gradle 的可执行目录,如果你配置了环境变量,且你使用的是环境变量中的可执行文件,则这个目录会指向你配置的环境变量的目录。
配置示例
allprojects {
apply plugin: 'maven'
repositories {
mavenLocal()
}
uploadArchives {
repositories {
mavenDeployer {
snapshotRepository(url: 'http://maven.xxx.com/repository/maven-snapshots/') {
authentication(userName: 'xxxx', password: 'xxxxx')
}
repository(url: 'http://maven.xxx.com/repository/maven-releases/') {
authentication(userName: 'xxxx', password: 'xxxxx')
}
}
}
}
}