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 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}") } } }