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.
137 lines
3.8 KiB
137 lines
3.8 KiB
|
|
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') |
|
} |
|
} |
|
}
|
|
|