72 lines
1.9 KiB
Groovy
72 lines
1.9 KiB
Groovy
apply plugin: 'java'
|
|
apply plugin: 'idea'
|
|
|
|
def JsonSlurper = Class.forName('groovy.json.JsonSlurper');
|
|
def buildJSON = JsonSlurper.newInstance().parseText(new File("build.json").text)
|
|
|
|
if (buildJSON.application) {
|
|
apply plugin: 'application'
|
|
}
|
|
|
|
def baseProjectName = buildJSON?.project?.name ?: '__project_name__';
|
|
def shellCommandName = baseProjectName
|
|
def eclipseProjectName = baseProjectName
|
|
def eclipseProjectComment = buildJSON?.project?.comment ?: '__project_name_comment__'
|
|
def jarManifestMainClass = buildJSON?.project?.main ?: 'SampleMain'
|
|
|
|
if (buildJSON.application) {
|
|
mainClassName = jarManifestMainClass
|
|
}
|
|
archivesBaseName = buildJSON?.project?.archiveName ?: baseProjectName
|
|
sourceCompatibility = 1.8
|
|
targetCompatibility = 1.8
|
|
|
|
def addRepo = new File(System.getProperty("user.home"), ".build_add.repo")
|
|
|
|
repositories {
|
|
mavenLocal()
|
|
// mavenCentral()
|
|
maven() { url 'https://maven.aliyun.com/repository/central' }
|
|
if (addRepo.exists()) {
|
|
maven() { url addRepo.text.trim() }
|
|
}
|
|
}
|
|
|
|
tasks.withType(JavaCompile) {
|
|
options.encoding = "UTF-8"
|
|
}
|
|
|
|
// '-x test' skip unit test
|
|
defaultTasks 'build'
|
|
|
|
buildscript {
|
|
repositories {
|
|
mavenLocal()
|
|
maven() { url 'https://maven.aliyun.com/repository/central' }
|
|
mavenCentral()
|
|
jcenter()
|
|
}
|
|
dependencies {
|
|
classpath("org.springframework.boot:spring-boot-gradle-plugin:1.5.11.RELEASE")
|
|
}
|
|
}
|
|
apply plugin: 'org.springframework.boot'
|
|
springBoot {
|
|
mainClass = jarManifestMainClass
|
|
}
|
|
|
|
dependencies {
|
|
compile files(fileTree(dir: 'lib', includes: ['*.jar'], excludes: ['*-sources.jar', '*-javadoc.jar']))
|
|
|
|
if (buildJSON.repo != null && buildJSON.repo.dependencies != null) {
|
|
buildJSON.repo.dependencies.each {
|
|
compile("${it}")
|
|
}
|
|
}
|
|
if (buildJSON.repo != null && buildJSON.repo.testDependencies != null) {
|
|
buildJSON.repo.testDependencies.each {
|
|
testCompile("${it}")
|
|
}
|
|
}
|
|
}
|