apply plugin: 'java' apply plugin: 'idea' def JsonSlurper = Class.forName('groovy.json.JsonSlurper'); def buildJSON = JsonSlurper.newInstance().parseText(new File("build.json").text) def baseProjectName = buildJSON?.project?.name ?: '__project_name__'; def jarManifestMainClass = buildJSON?.project?.main ?: 'SampleMain' 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' jar { manifest { attributes 'Main-Class': 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}") } } }