apply plugin: 'java' tasks.withType(JavaCompile){ options.encoding = 'UTF-8' destinationDir = file('build/classes/1') } //源码版本 sourceCompatibility=1.7 //构建的class版本 targetCompatibility=1.7 def jarname="fine-third-10.0.jar" def classesDir='build/classes/1' //解压lib下的jar到classes文件夹 jar{ baseName="fine-third_1-10.0" } def srcDir="." task unJar{ ant{ delete(dir:"build") } } //设置源码路径 sourceSets{ main{ java{ srcDirs=[ "${srcDir}/fine-asm/src", "${srcDir}/fine-antlr4/src", "${srcDir}/fine-aspectj/src", "${srcDir}/fine-antlr-old/src/main/java", "${srcDir}/fine-bouncycastle/src", "${srcDir}/fine-classmate/src", "${srcDir}/fine-commons-codec/src", "${srcDir}/fine-commons-collections4/src", "${srcDir}/fine-commons-io/src", "${srcDir}/fine-commons-lang3/src", "${srcDir}/fine-commons-logging/src", "${srcDir}/fine-commons-math3/src", "${srcDir}/fine-commons-pool/src/main/java", "${srcDir}/fine-cssparser/src", "${srcDir}/fine-freehep/src/main/java", "${srcDir}/fine-guava/src", "${srcDir}/fine-hsqldb/src/main/java", "${srcDir}/fine-iconloader/src/main/java", "${srcDir}/fine-icu4j/src", "${srcDir}/fine-imageJ/src/main/java", "${srcDir}/fine-j2v8/src", "${srcDir}/fine-jackson/src", // "${srcDir}/fine-jai/src/main/java", "${srcDir}/fine-jboss-transaction-api/src", "${srcDir}/fine-jetbrains/src", "${srcDir}/fine-jgit/src", "${srcDir}/fine-jna/jna/src/main/java", "${srcDir}/fine-jna/jna-platform/src/main/java", "${srcDir}/fine-joda/src", "${srcDir}/fine-jodd/src", "${srcDir}/fine-jpa/src", //"${srcDir}/fine-lookandfeel/src", "${srcDir}/fine-lucene/src", "${srcDir}/fine-lz4/src", "${srcDir}/fine-objenesis/src/main/java", "${srcDir}/fine-org-dom4j/src/main/java", "${srcDir}/fine-roaringbitmap/src", "${srcDir}/fine-sense4/src", "${srcDir}/fine-third-default/fine-mail/src/main/java", "${srcDir}/fine-third-default/fine-javax-cdi/src/main/java", "${srcDir}/fine-third-default/fine-javax-jms/src/main/java", "${srcDir}/fine-third-default/fine-sun-misc/src/main/java", "${srcDir}/fine-third-default/fine-javax-inject/src/main/java", "${srcDir}/fine-third-default/fine-javax-interceptor/src/main/java", "${srcDir}/fine-third-default/fine-zip-tools/src/main/java", "${srcDir}/fine-third-default/fine-javax-transaction/src/main/java", "${srcDir}/fine-third-default/fine-slf4j-api/src/main/java", "${srcDir}/fine-third-default/fine-sjsxp/src/main/java", "${srcDir}/fine-third-default/fine-stax/src/main/java", "${srcDir}/fine-third-default/fine-sun-jpeg/src/main/java", "${srcDir}/fine-third-jdk8/xml-apis/src/main/java" ] } } } sourceSets.main.output.classesDir = file('build/classes/1') repositories{ mavenCentral() maven { url "http://mvn.finedevelop.com/repository/maven-public/" } } //获取什么分支名 FileTree files =fileTree(dir:'./',include:'build.*.gradle') def buildDir=files[0].path.substring(0,files[0].path.lastIndexOf (java.io.File.separator)) def branchName=buildDir.substring(buildDir.lastIndexOf (java.io.File.separator)+1) def MVN_BRANCH = branchVariable.toUpperCase() //指定依赖 dependencies{ compile fileTree(dir:"${srcDir}/fine-antlr4/lib",include:'**/*.jar') compile fileTree(dir:"${srcDir}/fine-aspectj/lib",include:'**/*.jar') compile fileTree(dir:"${srcDir}/fine-commons-logging/lib",include:'**/*.jar') compile fileTree(dir:"${srcDir}/fine-cssparser/lib",include:'**/*.jar') compile fileTree(dir:"${srcDir}/fine-freehep/lib",include:'**/*.jar') compile fileTree(dir:"${srcDir}/fine-hsqldb/lib",include:'**/*.jar') compile fileTree(dir:"${srcDir}/fine-iconloader/lib",include:'**/*.jar') compile fileTree(dir:"${srcDir}/fine-jgit/lib",include:'**/*.jar') compile fileTree(dir:"${srcDir}/fine-org-dom4j/lib",include:'**/*.jar') compile fileTree(dir:"${srcDir}/fine-sense4/lib",include:'**/*.jar') compile fileTree(dir:"${srcDir}/fine-third-default/fine-slf4j-api/lib",include:'**/*.jar') compile fileTree(dir:"${srcDir}/fine-third-default/fine-javax-cdi/lib",include:'**/*.jar') compile fileTree(dir:"${srcDir}/build/libs/",include:'**/*.jar') compile fileTree(dir:System.getenv("JAVA_HOME"),include:"lib/tools.jar") compile group: "com.fr.third.server", name: "servlet-api", version: "3.0" testCompile 'junit:junit:4.12' } //指明无法编译文件所在路径 def dataContent ={def dir -> copySpec{ from ("${dir}"){ exclude '**/.setting/**','.classpath','.project','**/*.java','**/*.db','**/*.g','**/package.html' } } } task copyFiles(type:Copy,dependsOn:'compileJava'){ copy{ println "------------------------------------------------copyfiles" with dataContent.call("${srcDir}/fine-antlr4/src") with dataContent.call("${srcDir}/fine-antlr-old/src/main/java") with dataContent.call("${srcDir}/fine-asm/src") with dataContent.call("${srcDir}/fine-aspectj/src") with dataContent.call("${srcDir}/fine-bouncycastle/src") with dataContent.call("${srcDir}/fine-classmate/src") with dataContent.call("${srcDir}/fine-commons-codec/src") with dataContent.call("${srcDir}/fine-commons-collections4/src") with dataContent.call("${srcDir}/fine-commons-io/src") with dataContent.call("${srcDir}/fine-commons-lang3/src") with dataContent.call("${srcDir}/fine-commons-logging/src/main/java") with dataContent.call("${srcDir}/fine-commons-math3/src") with dataContent.call("${srcDir}/fine-commons-math3/resources") with dataContent.call("${srcDir}/fine-commons-pool/src/main/java") with dataContent.call("${srcDir}/fine-cssparser/src") with dataContent.call("${srcDir}/fine-freehep/src/main/java") with dataContent.call("${srcDir}/fine-guava/src") with dataContent.call("${srcDir}/fine-hsqldb/src/main/java") with dataContent.call("${srcDir}/fine-icu4j/src") with dataContent.call("${srcDir}/fine-imageJ/src/main/java") with dataContent.call("${srcDir}/fine-j2v8/src") with dataContent.call("${srcDir}/fine-jackson/src") // with dataContent.call("${srcDir}/fine-jai/src/main/java") with dataContent.call("${srcDir}/fine-jboss-transaction-api/src") with dataContent.call("${srcDir}/fine-jetbrains/src") with dataContent.call("${srcDir}/fine-jgit/src") with dataContent.call("${srcDir}/fine-jna/jna/src/main/resources") with dataContent.call("${srcDir}/fine-jna/jna/src/main/java") with dataContent.call("${srcDir}/fine-jna/jna-platform/src/main/java") with dataContent.call("${srcDir}/fine-joda/src") with dataContent.call("${srcDir}/fine-jodd/src") with dataContent.call("${srcDir}/fine-jpa/src") // with dataContent.call("${srcDir}/fine-lookandfeel/src") with dataContent.call("${srcDir}/fine-lucene/src") with dataContent.call("${srcDir}/fine-lz4/src") with dataContent.call("${srcDir}/fine-objenesis/src/main/java") with dataContent.call("${srcDir}/fine-org-dom4j/src/main/java") with dataContent.call("${srcDir}/fine-roaringbitmap/src") with dataContent.call("${srcDir}/fine-sense4/src") with dataContent.call("${srcDir}/fine-third-default/fine-mail/src/main/java") with dataContent.call("${srcDir}/fine-third-default/fine-mail/src/main/resources") with dataContent.call("${srcDir}/fine-third-default/fine-javax-cdi/src/main/java") with dataContent.call("${srcDir}/fine-third-default/fine-javax-jms/src/main/java") with dataContent.call("${srcDir}/fine-third-default/fine-sun-misc/src/main/java") with dataContent.call("${srcDir}/fine-third-default/fine-javax-inject/src/main/java") with dataContent.call("${srcDir}/fine-third-default/fine-javax-interceptor/src/main/java") with dataContent.call("${srcDir}/fine-third-default/fine-zip-tools/src/main/java") with dataContent.call("${srcDir}/fine-third-default/fine-javax-transaction/src/main/java") with dataContent.call("${srcDir}/fine-third-default/fine-slf4j-api/src/main/java") with dataContent.call("${srcDir}/fine-third-default/fine-sjsxp/src/main/java") with dataContent.call("${srcDir}/fine-third-default/fine-stax/src/main/java") with dataContent.call("${srcDir}/fine-third-default/fine-sun-jpeg/src/main/java") with dataContent.call("${srcDir}/fine-third-jdk8/xml-apis/src/main/java") into "${classesDir}" } } jar.dependsOn copyFiles