From 1bcd90f3fe0d792ae0d9c28e67b0211211f5056f Mon Sep 17 00:00:00 2001 From: fangdong sun Date: Tue, 9 Aug 2016 19:05:51 +0800 Subject: [PATCH] =?UTF-8?q?build.gradle=E6=9B=B4=E6=94=B9=E4=B8=BA?= =?UTF-8?q?=E5=A4=9A=E5=88=86=E6=94=AF=E6=9E=84=E5=BB=BA?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- build.gradle | 85 +++++++++++++++++++++++++++++++++++++ designer_base/build.gradle | 37 ++++++++++------ designer_chart/build.gradle | 35 +++++++++------ designer_form/build.gradle | 54 +++++++++++++++-------- 4 files changed, 166 insertions(+), 45 deletions(-) create mode 100644 build.gradle diff --git a/build.gradle b/build.gradle new file mode 100644 index 000000000..11222785b --- /dev/null +++ b/build.gradle @@ -0,0 +1,85 @@ +apply plugin: 'java' +tasks.withType(JavaCompile){ + options.encoding = 'UTF-8' +} +def libDir='${libDir}' +def basicDir='../../' +//获取什么分支名 +FileTree files =fileTree(dir:'./',include:'build.gradle') +def buildDir=files[0].path.substring(0,files[0].path.lastIndexOf ('\\')) +def branchName=buildDir.substring(build.DirlastIndexOf ('\\')+1) + +task appletJar<<{ + + ant{ + mkdir(dir:'${libDir}/tmp') + mkdir(dir:'build/classes/') + copy(todir:'build/classes/'){ + fileset(dir:'${basicDir}/finereport-core-stable/${branchName}/build/classes/main') + + fileset(dir:'${basicDir}/finereport-chart-stable/${branchName}/build/classes/main') + + fileset(dir:'${basicDir}/finereport-report-stable/${branchName}/build/classes/main') + + fileset(dir:'${basicDir}/finereport-platform-stable/${branchName}/build/classes/main') + + fileset(dir:'${basicDir}/finereport-performance-stable/${branchName}/build/classes/main') + + } + unjar(src:"${libDir}/3rd.jar',dest:'${libDir}/tmp') + unjar(src:'${libDir}/servlet-api.jar',dest:'${libDir}/tmp') + jar(jarfile:'build/libs/fr-applet-8.0.jar'){ + fileset(dir:'build/classes'){ + exclude(name:'*.*') + exclude(name:'bin/*.*') + exclude(name:'classes/**') + exclude(name:'com/fr/schedule/**') + exclude(name:'com/fr/cell/**') + exclude(name:'com/fr/dialog/**') + exclude(name:'com/fr/view/**') + exclude(name:'com/fr/web/**') + exclude(name:'com/fr/fs/**') + exclude(name:'com/fr/design/**') + exclude(name:'com/fr/start/**') + exclude(name:'com/fr/process/**') + } + fileset(dir:'${libDir}/tmp'){ + include(name:'javax/mail/**') + include(name:'javax/servlet/**') + include(name:'org/freehep/**') + include(name:'com/fr/third/JAI/**') + include(name:'com/fr/third/antlr/**') + include(name:'com/fr/third/javax/**') + include(name:'com/sun/xml/**') + include(name:'javax/xml/**') + + } + fileset(dir:'build/classes'){ + include(name:'com/fr/web/*.class') + include(name:'com/fr/web/attr/*.class') + } + } + delete(dir:'${libDir}/tmp') + def jdk6home= 'D:/FineReport/develop/java/jdk1.6u35' + def keystore='frapplet.store' + def keycert='fr.cert' + def keypassword='123456' + def keyalias='fr' + + exec(executable:"${jdk6home}/bin/keytool"){ + arg(line:"-genkey -dname "CN=FineReport L=NanJing C=China" -keystore ${keystore} -alias ${keyalias} -validity 3650 -storepass ${keypassword}") + } + exec(executable:"${jdk6home}/bin/keytool"){ + arg(line:"-export -keystore ${keystore} -alias ${keyalias} -file ${keycert} -storepass ${keypassword}") + } + + exec(executable:"${jdk6home}/bin/jarsigner"){ + arg(line:"-keystore ${keystore} -storepass ${keypassword} 'build/libs/fr-applet-8.0.jar' ${keyalias}") + } + delete(file:"${keystore}") + delete(file:"${keycert}") + delete(dir:'build/classes') + + } + +} \ No newline at end of file diff --git a/designer_base/build.gradle b/designer_base/build.gradle index 319cc17f2..731deebe3 100644 --- a/designer_base/build.gradle +++ b/designer_base/build.gradle @@ -3,36 +3,45 @@ apply plugin: 'java' tasks.withType(JavaCompile){ options.encoding = 'UTF-8' } +//指定构建的jdk版本 +sourceCompatibility=1.8 +//指定生成jar包版本 version='8.0' - +//生成jar包重命名 jar{ baseName='fr-designer-core' } -def srcDir="${System.getenv()['JENKINS_HOME']}/workspace/design" -def libDir="${System.getenv()['JENKINS_HOME']}/workspace/lib" +def srcDir="." +//指定源码路径 sourceSets{ main{ java{ - srcDirs=["${srcDir}/designer_base/src"] + srcDirs=["${srcDir}/src"] } } } +//获取什么分支名 +FileTree files =fileTree(dir:'./',include:'build.gradle') +def buildDir=files[0].path.substring(0,files[0].path.lastIndexOf ('\\')) +buildDir=buildDir.substring(0,buildDir.lastIndexOf ('\\')) +def branchName=buildDir.substring(buildDir.lastIndexOf ('\\')+1) - +//声明外部依赖 dependencies{ -compile fileTree(dir:'../../',include:'**/*.jar') -compile fileTree(dir:libDir,include:'*.jar') -compile fileTree(dir:"${libDir}/jetty",include:'*.jar') + +compile fileTree(dir:'../../../finereport-lib-stable',include:'**/*.jar') +compile fileTree(dir:'../../../',include:'finereport-*-stable/**/*.jar') + testCompile 'junit:junit:4.12' } - +//复制非.java文件到classes文件夹下参与打包 task copyFile(type:Copy,dependsOn:compileJava){ copy{ - from ("${srcDir}/designer_base/src"){ - exclude '**/*.java' + from ("${srcDir}/src"){ + exclude '**/.setting/**','.classpath','.project','**/*.java','**/*.db','**/*.g','**/package.html' } into 'build/classes/main' } @@ -44,13 +53,13 @@ task copyFile(type:Copy,dependsOn:compileJava){ task compressJS{ ant.taskdef(name:'yuicompress',classname:'com.yahoo.platform.yui.compressor.YUICompressTask'){ classpath { - fileset(dir:'../../lib',includes:'*.jar') + fileset(dir:'../../../finereport-build-stable',includes:'**/*.jar') } } ant.yuicompress(linebreak:"500",warn:"false", munge:"yes",preserveallsemicolons:"false", , charset:"utf-8",encoding:"utf-8",outputfolder:'build/classes/main'){ - fileset (dir:"${srcDir}/designer_base/src"){ + fileset (dir:"${srcDir}/src"){ include (name:'**/*.js') - + include (name:'**/*.css') } } diff --git a/designer_chart/build.gradle b/designer_chart/build.gradle index 2a667bf82..92e221f19 100644 --- a/designer_chart/build.gradle +++ b/designer_chart/build.gradle @@ -3,12 +3,14 @@ apply plugin: 'java' tasks.withType(JavaCompile){ options.encoding = 'UTF-8' } - +//指定构建的jdk版本 +sourceCompatibility=1.8 +//指定生成jar包的版本 version='8.0' -def srcDir="${System.getenv()['JENKINS_HOME']}/workspace/design" -def libDir="${System.getenv()['JENKINS_HOME']}/workspace/lib" +def srcDir="." +//对生成的jar包进行重命名 jar{ baseName='fr-designer-chart' @@ -17,21 +19,28 @@ jar{ sourceSets{ main{ java{ - srcDirs=["${srcDir}/designer_chart/src"] + srcDirs=["${srcDir}/src"] } } } +FileTree files =fileTree(dir:'./',include:'build.gradle') +def buildDir=files[0].path.substring(0,files[0].path.lastIndexOf ('\\')) +buildDir=buildDir.substring(0,buildDir.lastIndexOf ('\\')) +def branchName=buildDir.substring(buildDir.lastIndexOf ('\\')+1) + +//指定外部依赖 dependencies{ -compile fileTree(dir:'../../',include:'**/*.jar') -compile fileTree(dir:libDir,include:'*.jar') -compile fileTree(dir:"${libDir}/jetty",include:'*.jar') +compile fileTree(dir:'../../../finereport-lib-stable',include:'**/*.jar') +compile fileTree(dir:'../../../',include:'finereport-*-stable/${branchName}/**/*.jar') + testCompile 'junit:junit:4.12' } - +//将非.java 文件复制到classes文件夹下参与打包 task copyFile(type:Copy,dependsOn:compileJava){ copy{ - from ("${srcDir}/designer_chart/src"){ - exclude '**/*.java' + from ("${srcDir}/src"){ + exclude '**/.setting/**','.classpath','.project','**/*.java','**/*.db','**/*.g','**/package.html' + } into 'build/classes/main' } @@ -42,13 +51,13 @@ task copyFile(type:Copy,dependsOn:compileJava){ task compressJS{ ant.taskdef(name:'yuicompress',classname:'com.yahoo.platform.yui.compressor.YUICompressTask'){ classpath { - fileset(dir:'../../lib',includes:'*.jar') + fileset(dir:'../../../finereport-build-stable',includes:'**/*.jar') } } ant.yuicompress(linebreak:"500",warn:"false", munge:"yes",preserveallsemicolons:"false", , charset:"utf-8",encoding:"utf-8",outputfolder:'build/classes/main'){ - fileset (dir:"${srcDir}/designer_chart/src"){ + fileset (dir:"${srcDir}/src"){ include (name:'**/*.js') - + include (name:'**/*.css') } } diff --git a/designer_form/build.gradle b/designer_form/build.gradle index 1a87cbf95..118215fc8 100644 --- a/designer_form/build.gradle +++ b/designer_form/build.gradle @@ -3,39 +3,56 @@ apply plugin: 'java' tasks.withType(JavaCompile){ options.encoding = 'UTF-8' } - +//指定构建的jdk版本 +sourceCompatibility=1.8 +//指定生成的jar包版本 version='8.0' -def srcDir="${System.getenv()['JENKINS_HOME']}/workspace/design" -def libDir="${System.getenv()['JENKINS_HOME']}/workspace/lib" +def srcDir="." +//指明生成jar包的名字 jar{ baseName='fr-designer-report' } - +//源码所在位置 sourceSets{ main{ java{ - srcDirs=["${srcDir}/designer/src", -"${srcDir}/designer_form/src"] + srcDirs=["${srcDir}/src", +"${srcDir}/../designer/src"] } } } + +//获取什么分支名 +FileTree files =fileTree(dir:'./',include:'build.gradle') +def buildDir=files[0].path.substring(0,files[0].path.lastIndexOf ('\\')) +buildDir=buildDir.substring(0,buildDir.lastIndexOf ('\\')) +def branchName=buildDir.substring(buildDir.lastIndexOf ('\\')+1) + +//声明外部依赖 dependencies{ -compile fileTree(dir:'../../',include:'**/*.jar') -compile fileTree(dir:libDir,include:'*.jar') -compile fileTree(dir:"${libDir}/jetty",include:'*.jar') +compile fileTree(dir:'../../../finereport-lib-stable',include:'**/*.jar') +compile fileTree(dir:'../../../',include:'finereport-*-stable/**/*.jar') + testCompile 'junit:junit:4.12' } +//指明无法编译文件所在路径 +def dataContent ={def dir -> + copySpec{ + from ("${dir}"){ + exclude '**/.setting/**','.classpath','.project','**/*.java','**/*.db','**/*.g','**/package.html' + } + } +} +//将非.java文件复制到classes文件夹下 参与打包 task copyFile(type:Copy,dependsOn:compileJava){ copy{ - from ("${srcDir}/designer/src"){ - exclude '**/*.java' - } - from ("${srcDir}/designer_form/src") + with dataContent.call("${srcDir}/src") + with dataContent.call("${srcDir}/../designer/src") into ('build/classes/main') } @@ -46,17 +63,18 @@ task copyFile(type:Copy,dependsOn:compileJava){ task compressJS{ ant.taskdef(name:'yuicompress',classname:'com.yahoo.platform.yui.compressor.YUICompressTask'){ classpath { - fileset(dir:'../../lib',includes:'*.jar') + fileset(dir:'../../../finereport-build-stable',includes:'**/*.jar') } } - ant.yuicompress(linebreak:"500",warn:"false", munge:"yes",preserveallsemicolons:"false", , charset:"utf-8",encoding:"utf-8",outputfolder:'build/classes/main'){ - fileset (dir:"${srcDir}/designer/src"){ + ant.yuicompress(linebreak:"500",warn:"false", munge:"yes",preserveallsemicolons:"false", charset:"utf-8",encoding:"utf-8",outputfolder:'build/classes/main'){ + fileset (dir:"${srcDir}/src"){ include (name:'**/*.js') + include (name:'**/*.css') } - fileset (dir:"${srcDir}/designer_form/src"){ + fileset (dir:"${srcDir}/../designer/src"){ include (name:'**/*.js') - + include (name:'**/*.css') } }