apply plugin: 'java' apply plugin: 'maven-publish' def classesDir='build/classes/main' tasks.withType(JavaCompile){ options.encoding = 'UTF-8' destinationDir = file(classesDir) } configurations.all { resolutionStrategy.cacheChangingModulesFor 0, 'seconds' } //源码版本 sourceCompatibility=1.7 //构建的class版本 targetCompatibility=1.7 //解压lib下的jar到classes文件夹 version='10.0' jar{ baseName="fine-third" zip64 true } repositories { mavenCentral() maven { url "http://mvn.finedevelop.com/repository/maven-public/" } } sourceSets{ main{ java{ srcDirs=[] } } } //获取什么分支名 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 srcDir="." def MVN_BRANCH = branchVariable.toUpperCase() // @branch - 分支信息 def maven_version="${version}-${MVN_BRANCH}-SNAPSHOT" def jar_version = version configurations { thirdjar sigar } dependencies { thirdjar "com.fr.third:fine-third-base:10.0-BASE-SNAPSHOT" sigar "com.fr.third:sigar:1.6.0" testCompile 'junit:junit:4.12' } publishing { publications { third(MavenPublication) { groupId "com.fr.third" artifactId "fine-third" version maven_version from components.java } } repositories { maven { url "http://mvn.finedevelop.com/repository/fanruan/" credentials { username = findProperty("NEXUS_USERNAME") password = findProperty("NEXUS_PASSWORD") } } } } task unpack(type:Copy) { delete classesDir destinationDir=file(classesDir) println(configurations.thirdjar.singleFile) from { zipTree(configurations.thirdjar.singleFile) } from { zipTree(configurations.sigar.singleFile) } from { zipTree("fine-quartz/lib/c3p0-0.9.1.1.jar") } from { zipTree("fine-spring/lib/aopalliance-1.0.jar") } from { zipTree("fine-poi/lib/curvesapi-1.03.jar") } fileTree(dir:"build/libs",include:"**/*.jar").each { File file -> from { zipTree(file) } } } jar.dependsOn unpack