|
|
|
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文件夹
|
|
|
|
|
|
|
|
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 date = new Date()
|
|
|
|
def formattedDate = date.format('yyyy.MM.dd')
|
|
|
|
|
|
|
|
def srcDir="."
|
|
|
|
def maven_version_build = ""
|
|
|
|
def indexV = branchName.indexOf( "%2F");
|
|
|
|
if(indexV != -1){
|
|
|
|
version= branchName.substring(indexV+3, branchName.length()).toUpperCase()
|
|
|
|
maven_version_build = project.version +"-" + branchName.substring(0, indexV).toUpperCase() +"-SNAPSHOT"
|
|
|
|
} else {
|
|
|
|
version= branchName
|
|
|
|
maven_version_build = project.version +"-SNAPSHOT"
|
|
|
|
}
|
|
|
|
|
|
|
|
def maven_version="${version}.${formattedDate}"
|
|
|
|
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
|