apply plugin: 'java' tasks.withType(JavaCompile){ options.encoding = 'UTF-8' destinationDir = file('build/classes/2') } //源码版本 sourceCompatibility=1.8 //构建的class版本 targetCompatibility=1.8 def jarname="fine-third-10.0.jar" def classesDir='build/classes/2' //解压lib下的jar到classes文件夹 jar{ baseName="fine-third_2-10.0" } def srcDir="." //设置源码路径 sourceSets{ main{ java{ srcDirs=[ "${srcDir}/fine-byte-buddy/src/main/java", "${srcDir}/fine-cglib/src/main/java", "${srcDir}/fine-commons-fileupload/src/main/java", "${srcDir}/fine-httpcomponents/http-client/fluent-hc/src/main/java", "${srcDir}/fine-httpcomponents/http-client/httpclient/src/main/java", "${srcDir}/fine-httpcomponents/http-client/httpclient/src/main/java-deprecated", "${srcDir}/fine-httpcomponents/http-client/httpclient-win/src/main/java", "${srcDir}/fine-httpcomponents/http-client/httpmime/src/main/java", "${srcDir}/fine-httpcomponents/http-client/httpmime/src/main/java-deprecated", "${srcDir}/fine-httpcomponents/http-core/httpcore/src/main/java", "${srcDir}/fine-httpcomponents/http-core/httpcore/src/main/java-deprecated", "${srcDir}/fine-httpcomponents/http-core/httpcore-ab/src/main/java", "${srcDir}/fine-httpcomponents/http-core/httpcore-nio/src/main/java", "${srcDir}/fine-httpcomponents/http-core/httpcore-nio/src/main/java-deprecated", "${srcDir}/fine-jai/src/main/java", "${srcDir}/fine-kryo/src/main/java", "${srcDir}/fine-poi/src/main/java", "${srcDir}/fine-poi-old/src/main/java", "${srcDir}/fine-redisson/src/main/java", "${srcDir}/fine-xmlgraphics/xmlgraphics-batik/src/main/java", "${srcDir}/fine-xmlgraphics/xmlgraphics-commons/src/main/java" ] } } } sourceSets.main.java.outputDir = file('build/classes/2') 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() def indexV = branchName.indexOf( "%2F"); if(indexV != -1){ version= branchName.substring(indexV+3, branchName.length()).toUpperCase() } else { version= branchName } // third的feature对应essential和cbb的release,其他对应master String essentialBranch = version == 'FEATURE' ? 'RELEASE' : 'MASTER' //指定依赖 dependencies{ compileOnly "com.fr.essential:fine-essential:1.0-${essentialBranch}-SNAPSHOT" compile fileTree(dir:"${srcDir}/fine-byte-buddy/lib",include:'**/*.jar') compile fileTree(dir:"${srcDir}/fine-commons-fileupload/lib",include:'**/*.jar') compile fileTree(dir:"${srcDir}/fine-httpcomponents/http-client/lib",include:'**/*.jar') compile fileTree(dir:"${srcDir}/fine-httpcomponents/http-core/lib",include: '**/*.jar') compile fileTree(dir:"${srcDir}/fine-poi/lib",include: '**/*.jar') compile fileTree(dir:"${srcDir}/fine-poi-old/lib",include: '**/*.jar') compile fileTree(dir:"${srcDir}/fine-redisson/lib",include: '**/*.jar') compile fileTree(dir:"${srcDir}/fine-xmlgraphics/xmlgraphics-batik/lib",include: '**/*.jar') compile fileTree(dir:"${srcDir}/fine-xmlgraphics/xmlgraphics-commons/lib",include: '**/*.jar') compile fileTree(dir:"${srcDir}/build/libs/",include:'**/*.jar') compile fileTree(dir:System.getenv("JAVA_HOME"),include:"lib/tools.jar") compile group: "javax.servlet", name: "javax.servlet-api", version: "3.0.1" 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-byte-buddy/src/main/java") with dataContent.call("${srcDir}/fine-byte-buddy/src/main/resources") with dataContent.call("${srcDir}/fine-cglib/src/main/java") with dataContent.call("${srcDir}/fine-cglib/src/main/resources") with dataContent.call("${srcDir}/fine-commons-fileupload/src/main/java") with dataContent.call("${srcDir}/fine-commons-fileupload/src/main/resources") with dataContent.call("${srcDir}/fine-httpcomponents/http-client/fluent-hc/src/main/java") with dataContent.call("${srcDir}/fine-httpcomponents/http-client/fluent-hc/src/main/resources") with dataContent.call("${srcDir}/fine-httpcomponents/http-client/httpclient/src/main/java") with dataContent.call("${srcDir}/fine-httpcomponents/http-client/httpclient/src/main/resources") with dataContent.call("${srcDir}/fine-httpcomponents/http-client/httpclient/src/main/java-deprecated") with dataContent.call("${srcDir}/fine-httpcomponents/http-client/httpclient-win/src/main/java") with dataContent.call("${srcDir}/fine-httpcomponents/http-client/httpclient-win/src/main/resources") with dataContent.call("${srcDir}/fine-httpcomponents/http-client/httpmime/src/main/java") with dataContent.call("${srcDir}/fine-httpcomponents/http-client/httpmime/src/main/resources") with dataContent.call("${srcDir}/fine-httpcomponents/http-client/httpmime/src/main/java-deprecated") with dataContent.call("${srcDir}/fine-httpcomponents/http-core/httpcore/src/main/java") with dataContent.call("${srcDir}/fine-httpcomponents/http-core/httpcore/src/main/resources") with dataContent.call("${srcDir}/fine-httpcomponents/http-core/httpcore/src/main/java-deprecated") with dataContent.call("${srcDir}/fine-httpcomponents/http-core/httpcore-ab/src/main/java") with dataContent.call("${srcDir}/fine-httpcomponents/http-core/httpcore-ab/src/main/resources") with dataContent.call("${srcDir}/fine-httpcomponents/http-core/httpcore-nio/src/main/java") with dataContent.call("${srcDir}/fine-httpcomponents/http-core/httpcore-nio/src/main/resources") with dataContent.call("${srcDir}/fine-httpcomponents/http-core/httpcore-nio/src/main/java-deprecated") with dataContent.call("${srcDir}/fine-jai/src/main/java") with dataContent.call("${srcDir}/fine-jai/src/main/resources") with dataContent.call("${srcDir}/fine-kryo/src/main/java") with dataContent.call("${srcDir}/fine-kryo/src/main/resources") with dataContent.call("${srcDir}/fine-poi/src/main/java") with dataContent.call("${srcDir}/fine-poi/src/main/resources") with dataContent.call("${srcDir}/fine-poi-old/src/main/java") with dataContent.call("${srcDir}/fine-poi-old/src/main/resources") with dataContent.call("${srcDir}/fine-redisson/src/main/java") with dataContent.call("${srcDir}/fine-redisson/src/main/resources") with dataContent.call("${srcDir}/fine-xmlgraphics/xmlgraphics-batik/src/main/java") with dataContent.call("${srcDir}/fine-xmlgraphics/xmlgraphics-batik/src/main/resources") with dataContent.call("${srcDir}/fine-xmlgraphics/xmlgraphics-commons/src/main/java") with dataContent.call("${srcDir}/fine-xmlgraphics/xmlgraphics-commons/src/main/resources") into "${classesDir}" } } jar.dependsOn copyFiles