You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
138 lines
3.8 KiB
138 lines
3.8 KiB
7 years ago
|
|
||
|
apply plugin: 'java'
|
||
|
def basedir='.'
|
||
|
def projectsDir='../..'
|
||
|
//获取什么分支名
|
||
|
FileTree files =fileTree(dir:"./",include:"build.gradle")
|
||
|
def buildDir=files[0].path.substring(0,files[0].path.lastIndexOf ("\\"))
|
||
|
repositories{
|
||
|
mavenCentral()
|
||
|
}
|
||
|
|
||
|
|
||
|
configurations{
|
||
|
ftpAntTask
|
||
|
}
|
||
|
//添加ftp依赖
|
||
|
dependencies {
|
||
|
ftpAntTask("org.apache.ant:ant-commons-net:1.8.4") {
|
||
|
module("commons-net:commons-net:1.4.1") {
|
||
|
dependencies "oro:oro:2.0.8:jar"
|
||
|
}
|
||
|
}
|
||
|
}
|
||
|
//脚本中的依赖
|
||
|
buildscript{
|
||
|
repositories { mavenCentral() }
|
||
|
dependencies {
|
||
|
classpath fileTree(dir:"../../lib",include:"*/*.jar")
|
||
|
}
|
||
|
}
|
||
|
|
||
|
|
||
|
ant{
|
||
|
taskdef(name: 'ftp',
|
||
|
classname: 'org.apache.tools.ant.taskdefs.optional.net.FTP',
|
||
|
classpath: configurations.ftpAntTask.asPath)
|
||
|
}
|
||
|
task prepare<<{
|
||
|
ant{
|
||
|
|
||
|
mkdir(dir:'plugins')
|
||
|
mkdir(dir:'libs')
|
||
|
delete(file:'libs/*.jar')
|
||
|
delete(includeemptydirs:"true"){
|
||
|
fileset(dir:"${basedir}/plugins",includes:"**/*")
|
||
|
}
|
||
|
echo(message:'dwnload latest jars')
|
||
|
ftp(server:'192.168.5.86',userid:'fr',password:'ilovejava',remotedir:'report/stable',action:'get'){
|
||
|
fileset(dir:'./libs/',includes:'*.jar')
|
||
|
}
|
||
|
}
|
||
|
}
|
||
|
FileTree buildFile=fileTree(dir:"./",include:"build.xml")
|
||
|
|
||
|
println "--------------------------${buildFile}"
|
||
|
|
||
|
//构建每个plugin
|
||
|
task buildAllprj(dependsOn:prepare)<<{
|
||
|
ant{
|
||
|
for(file in buildFile){
|
||
|
def pluginHome=file.path.substring(0,file.path.lastIndexOf ("\\"))
|
||
|
def pluginName=pluginHome.substring(pluginHome.lastIndexOf ("\\")+1)
|
||
|
println "pluginHome+++++++++++++++++++++++++++++++${pluginHome}"
|
||
|
println "pluginName+++++++++++++++++++++++++++++++${pluginName}"
|
||
|
|
||
|
echo(message:"-----------------------------开始构建${pluginName}----------------------------")
|
||
|
try{
|
||
|
sequential(){
|
||
|
|
||
|
echo(message:pluginHome+"/lib")
|
||
|
ant.mkdir(dir:pluginHome+"/lib")
|
||
|
ant.mkdir(dir:pluginHome+"/src")
|
||
|
echo(message:"build file:@{file}")
|
||
|
ant(antfile:"${file}",inheritall:"false"){
|
||
|
|
||
|
property(name:"jdk.home",value:"D:/FineReport/develop/java/jdk1.7")
|
||
|
property(name:"jdk1.8.home",value:"D:/FineReport/develop/java/jdk1.8")
|
||
|
property(name:"jdk1.7.home",value:"D:/FineReport/develop/java/jdk1.7")
|
||
|
property(name:"jdk1.6.home",value:"D:/FineReport/develop/java/jdk1.6u35")
|
||
|
property(name:"jdk1.5.home",value:"D:/FineReport/develop/java/jdk1.5")
|
||
|
property(name:"publicLibs",value:"./libs")
|
||
|
property(name:"destLoc",value:"../plugins")
|
||
|
|
||
|
}
|
||
|
}
|
||
|
|
||
|
|
||
|
}
|
||
|
catch(Exception e){
|
||
|
//捕获异常报错
|
||
|
print(e)
|
||
|
}
|
||
|
echo(message:"-----------------------------${pluginName}构建结束----------------------------")
|
||
|
}
|
||
|
delete(dir:'libs')
|
||
|
}
|
||
|
}
|
||
|
ant{
|
||
|
fileset(id:'ftp.upload.fileset',dir:'../plugins'){
|
||
|
include(name:'**/*.zip')
|
||
|
}
|
||
|
}
|
||
|
|
||
|
//上传到ftp
|
||
|
task ftp_upload(dependsOn:buildAllprj)<<{
|
||
|
FileTree plugins=fileTree(dir:'../plugins',include:'*/**')
|
||
|
|
||
|
ant{
|
||
|
echo(message:"ready for upload plugins")
|
||
|
echo(message:"ftp target is 192.168.5.86")
|
||
|
mkdir(dir:'E:/ftp/share/plugins/stable')
|
||
|
plugins.each{File file->
|
||
|
def zipDir=file.path.substring(0,file.path.lastIndexOf ("\\"))
|
||
|
def pluginName=zipDir.substring(zipDir.lastIndexOf ("\\")+1)
|
||
|
ant.delete(includeEmptyDirs:'true',dir:"E:/ftp/share/plugins/stable/${pluginName}")
|
||
|
}
|
||
|
buildFile.each{File file->
|
||
|
def pluginHome=file.path.substring(0,file.path.lastIndexOf ("\\"))
|
||
|
FileTree pluginFile=fileTree(dir:"${pluginHome}",include:"*/fr-plugin-*.jar")
|
||
|
pluginFile.each{File jarFile->
|
||
|
ant.echo(message:"${jarFile.path}")
|
||
|
def jarHome=jarFile.path.substring(0,jarFile.path.lastIndexOf ("\\"))
|
||
|
ant.echo(message:"start delete ${jarHome} ")
|
||
|
ant.delete(dir:"${jarHome}")
|
||
|
}
|
||
|
ant.delete(){
|
||
|
fileset(dir:"${pluginHome}"){
|
||
|
include(name:"fr-plugin-*.jar")
|
||
|
}
|
||
|
}
|
||
|
}
|
||
|
|
||
|
copy(todir:'E:/ftp/share/plugins/stable'){
|
||
|
fileset(refid:'ftp.upload.fileset')
|
||
|
}
|
||
|
}
|
||
|
}
|