apply plugin: 'java' tasks.withType(JavaCompile){ options.encoding = 'UTF-8' destinationDir = file('build/classes/6') } //源码版本 sourceCompatibility=1.6 //构建的class版本 targetCompatibility=1.6 def jarname="fine-third-10.0.jar" def classesDir='build/classes/6' def ftpreport='E:/ftp/share/report/' //解压lib下的jar到classes文件夹 jar{ baseName="fine-third_6-10.0" } def srcDir="." //设置源码路径 sourceSets{ main{ java{ srcDirs=[ "${srcDir}/fine-third-default/src", "${srcDir}/fine-commons-codec/src", "${srcDir}/fine-icu4j/src", "${srcDir}/fine-itext-old/src", "${srcDir}/fine-jackson/src", "${srcDir}/fine-jackson/resources", "${srcDir}/fine-ehcache/src", "${srcDir}/fine-ehcache/resources", "${srcDir}/fine-guava/src", "${srcDir}/fine-lucene/src", "${srcDir}/fine-lucene/resources", "${srcDir}/fine-asm/src", "${srcDir}/fine-cglib/src", "${srcDir}/fine-cglib/resources", "${srcDir}/fine-jedis/src", "${srcDir}/fine-jedis/resources", "${srcDir}/fine-cssparser/src", "${srcDir}/fine-byte-buddy/src", "${srcDir}/fine-jodd/src", "${srcDir}/fine-redisson/src", "${srcDir}/fine-socketio/src", "${srcDir}/fine-itext/src", "${srcDir}/fine-kryo/src", "${srcDir}/fine-lz4/src", "${srcDir}/fine-log4j/src", "${srcDir}/fine-jgit/src", "${srcDir}/fine-roaringbitmap/src" ] } } } sourceSets.main.output.classesDir = file('build/classes/6') 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) //指定依赖 dependencies{ compile fileTree(dir:"${srcDir}/fine-third-default/lib",include:'**/*.jar') compile fileTree(dir:"${srcDir}/fine-commons-codec/lib",include:'**/*.jar') compile fileTree(dir:"${srcDir}/fine-icu4j/lib",include:'**/*.jar') compile fileTree(dir:"${srcDir}/fine-jackson/lib",include:'**/*.jar') compile fileTree(dir:"${srcDir}/fine-ehcache/lib",include:'**/*.jar') compile fileTree(dir:"${srcDir}/fine-cssparser/lib",include:'**/*.jar') compile fileTree(dir:"${srcDir}/fine-byte-buddy/lib",include:'**/*.jar') compile fileTree(dir:"${srcDir}/fine-redisson/lib",include:'**/*.jar') compile fileTree(dir:"${srcDir}/fine-socketio/lib",include:'**/*.jar') compile fileTree(dir:"${srcDir}/fine-jgit/lib",include:'**/*.jar') compile fileTree(dir:"${srcDir}/build/libs/",include:'**/*.jar') // @branch - 分支信息 compile "com.fr.third:fine-third:10.0-FEATURE-SNAPSHOT" compile fileTree(dir:"../../finereport-lib-other/${branchName}",include:'**/*.jar') 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-third-default/src") with dataContent.call("${srcDir}/fine-commons-codec/src") with dataContent.call("${srcDir}/fine-icu4j/src") with dataContent.call("${srcDir}/fine-icu4j/resources") with dataContent.call("${srcDir}/fine-itext-old/src") with dataContent.call("${srcDir}/fine-jackson/src") with dataContent.call("${srcDir}/fine-jackson/resources") with dataContent.call("${srcDir}/fine-ehcache/src") with dataContent.call("${srcDir}/fine-ehcache/resources") with dataContent.call("${srcDir}/fine-guava/src") with dataContent.call("${srcDir}/fine-lucene/src") with dataContent.call("${srcDir}/fine-lucene/resources") with dataContent.call("${srcDir}/fine-cglib/src") with dataContent.call("${srcDir}/fine-cglib/resources") with dataContent.call("${srcDir}/fine-jedis/src") with dataContent.call("${srcDir}/fine-jedis/resources") with dataContent.call("${srcDir}/fine-cssparser/src") with dataContent.call("${srcDir}/fine-kryo/src") with dataContent.call("${srcDir}/fine-lz4/src") with dataContent.call("${srcDir}/fine-lz4/resources") with dataContent.call("${srcDir}/fine-log4j/src") with dataContent.call("${srcDir}/fine-log4j/resources") with dataContent.call("${srcDir}/fine-jgit/src") with dataContent.call("${srcDir}/fine-jgit/resources") with dataContent.call("${srcDir}/fine-roaringbitmap/src") into "${classesDir}" } } jar.dependsOn copyFiles