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' } //指定构建的jdk版本 sourceCompatibility=1.5 //解压lib下的jar到classes文件夹 version='10.0' jar{ baseName="fine-third" } 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 date = new Date() def formattedDate = date.format('yyyy.MM.dd') def srcDir="." def maven_version="${version}.${formattedDate}" def maven_version_build ="${version}-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 ext.repo = 'release' from components.java } third_build(MavenPublication) { groupId "com.fr.third" artifactId "fine-third" version maven_version_build ext.repo = 'snapshot' from components.java } } repositories { maven { name "release" url "http://mvn.finedevelop.com/repository/fanruan-release/" credentials { username = findProperty("NEXUS_USERNAME") password = findProperty("NEXUS_PASSWORD") } } maven { name "snapshot" url "http://mvn.finedevelop.com/repository/fanruan/" credentials { username = findProperty("NEXUS_USERNAME") password = findProperty("NEXUS_PASSWORD") } } } } afterEvaluate { tasks.withType(PublishToMavenRepository) { task -> if (task.publication.hasProperty('repo') && task.publication.repo != task.repository.name) { task.enabled = false task.group = null } } } 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