|
|
|
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.8
|
|
|
|
//构建的class版本
|
|
|
|
targetCompatibility=1.8
|
|
|
|
|
|
|
|
|
|
|
|
//解压lib下的jar到classes文件夹
|
|
|
|
|
|
|
|
jar{
|
|
|
|
baseName="fine-third"
|
|
|
|
zip64 true
|
|
|
|
}
|
|
|
|
|
|
|
|
repositories {
|
|
|
|
mavenCentral()
|
|
|
|
maven { url "http://mvn.finedevelop.com/repository/maven-public/" }
|
|
|
|
maven { url "http://mvn.finedevelop.com/repository/fanruan/" }
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
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");
|
|
|
|
|
|
|
|
// "FEATURE", "RELEASE"等等
|
|
|
|
String branchNameUpperCase = "RELEASE"
|
|
|
|
|
|
|
|
if(indexV != -1){
|
|
|
|
version= branchName.substring(indexV+3, branchName.length()).toUpperCase()
|
|
|
|
branchNameUpperCase = branchName.substring(0, indexV).toUpperCase()
|
|
|
|
maven_version_build = project.version +"-" + branchNameUpperCase +"-SNAPSHOT"
|
|
|
|
} else {
|
|
|
|
version= branchName
|
|
|
|
maven_version_build = project.version +"-SNAPSHOT"
|
|
|
|
}
|
|
|
|
|
|
|
|
def maven_version="${version}.${formattedDate}"
|
|
|
|
def jar_version = version
|
|
|
|
|
|
|
|
configurations {
|
|
|
|
// thirdjar
|
|
|
|
// sigar
|
|
|
|
essential
|
|
|
|
}
|
|
|
|
|
|
|
|
// 主体代码与essential的对应关系配置在TeamCity
|
|
|
|
String essentialVersion = findProperty("essentialVersion")
|
|
|
|
String cbbVersion = findProperty("cbbVersion")
|
|
|
|
|
|
|
|
//指定依赖
|
|
|
|
dependencies{
|
|
|
|
essential "com.fr.essential:fine-essential:${essentialVersion}"
|
|
|
|
essential "com.fr.cbb:fine-scheduler:${cbbVersion}"
|
|
|
|
essential "com.fr.cbb:fine-function:${cbbVersion}"
|
|
|
|
essential "com.fr.cbb:fine-jooq:${cbbVersion}"
|
|
|
|
essential "com.fr.cbb:fine-sql:${cbbVersion}"
|
|
|
|
// 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 project.hasProperty("withCBB") ? "fine-third" : "fine-third-without-cbb"
|
|
|
|
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")
|
|
|
|
}
|
|
|
|
from {
|
|
|
|
zipTree("fine-freehep/lib/fine-font-10.0.jar")
|
|
|
|
}
|
|
|
|
fileTree(dir:"build/libs",include:"**/*.jar").each {
|
|
|
|
File file -> from {
|
|
|
|
zipTree(file)
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
// 将essential依赖等级的jar全部解压到classes下
|
|
|
|
task unpackEssential(type:Copy) {
|
|
|
|
if (project.hasProperty("withCBB")) {
|
|
|
|
for (File file : configurations.essential.files) {
|
|
|
|
from (zipTree(file)) {
|
|
|
|
exclude "META-INF/versions/11/*"
|
|
|
|
exclude "META-INF/maven/com.zaxxer/**"
|
|
|
|
}
|
|
|
|
}
|
|
|
|
into classesDir
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
unpackEssential.dependsOn unpack
|
|
|
|
|
|
|
|
jar.dependsOn unpackEssential
|