前言
Maven
中有全局settings.xml
,Gradle
中也有与之对应的init.gradle
。
作用
减少冗余配置
加载顺序
~/.gradle/init.gradle
文件~/.gradle/init.d/
目录下的以.gradle
结尾的文件~/$GRADLE_HOME/init.d/
目录下的以.gradle
结尾的文件$GRADLE_USER_HOME/init.gradle
文件1$GRADLE_USER_HOME/init.d目录下的以.gradle结尾的文件
运行参数
可以使用-I
或者–init-script
指定启动脚本,如:
gradle -I init.gradle build
实战
$GRADLE_USER_HOME/init.gradle
,其中所涉及的checkstyle
和findbugs
配置文件请忽略。
allprojects {
group = 'com.swb'
version = '2.0.1-SNAPSHOT'
buildscript {
ext {
springBootVersion = '2.0.4.RELEASE'
gradleUserHome = Objects.isNull(System.getenv("GRADLE_USER_HOME")) ? System.getProperty("user.home") + '/.gradle' : System.getenv("GRADLE_USER_HOME")
println('gradleUserHome====>'+gradleUserHome)
}
repositories {
maven {
url "http://XX.XX.XX.XX:XX/repository/maven_public/"
}
}
}
apply plugin: "java"
apply plugin: "idea"
apply plugin: "checkstyle"
apply plugin: "findbugs"
repositories {
maven {
allowInsecureProtocol = true
url "http://XX.XX.XX.XX:XX/repository/maven_public/"
}
}
configurations.all {
resolutionStrategy {
force "org.springframework.boot:spring-boot-autoconfigure:2.0.4.RELEASE"
cacheChangingModulesFor 0, 'seconds'
cacheDynamicVersionsFor 0, 'seconds'
}
}
tasks.withType(Checkstyle) {
configFile = file("$gradleUserHome/config/checkstyle/checkstyle.xml")
source = fileTree('src')
classpath = fileTree("$buildDir/classes/")
}
tasks.withType(FindBugs) {
classes = fileTree("$buildDir/classes/")
source = fileTree('src')
classpath = fileTree("$buildDir/classes/")
excludeFilter file("$gradleUserHome/config/findbugs/findbugs-exclude-bugs.xml")
// excludes = ["$gradleUserHome/config/findbugs/findbugs-exclude-bugs.xml"]
// ignoreFailures = true
reports {
xml.enabled false
html.enabled true
html.stylesheet resources.text.fromFile("$gradleUserHome/config/xsl/findbugs-fancy.xsl")
}
}
sourceCompatibility = '1.8'
targetCompatibility = '1.8'
tasks.withType(JavaCompile) {
options.encoding = 'UTF-8'
}
compileJava.dependsOn(processResources)
}
参考
一般jar包默认放在
~/.gradle/
目录下,GRADLE_USER_HOME
可以指定存放目录。也可以使用-g
或--gradle-user-home
指定。 ↩︎