|
|
|
|
|
|
|
tasks.withType(JavaCompile){
|
|
|
|
options.encoding = 'UTF-8'
|
|
|
|
}
|
|
|
|
buildscript {
|
|
|
|
repositories {
|
|
|
|
maven {
|
|
|
|
url "http://www.eveoh.nl/files/maven2"
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
dependencies {
|
|
|
|
classpath "nl.eveoh:gradle-aspectj:1.2"
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
ext.aspectjVersion = '1.7.4'
|
|
|
|
apply plugin: 'aspectj'
|
|
|
|
|
|
|
|
repositories {
|
|
|
|
mavenCentral()
|
|
|
|
}
|
|
|
|
//指定构建的jdk版本
|
|
|
|
sourceCompatibility=1.7
|
|
|
|
//指定生成的jar包版本
|
|
|
|
version='8.0'
|
|
|
|
|
|
|
|
def srcDir="."
|
|
|
|
|
|
|
|
|
|
|
|
//指明生成jar包的名字
|
|
|
|
jar{
|
|
|
|
baseName='fr-designer-report'
|
|
|
|
}
|
|
|
|
//源码所在位置
|
|
|
|
sourceSets{
|
|
|
|
main{
|
|
|
|
java{
|
|
|
|
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)
|
|
|
|
|
|
|
|
//显示依赖jar包
|
|
|
|
FileTree f=fileTree(dir:'../../../',include:"finereport-*-stable/${branchName}/**/build/libs/*.jar")
|
|
|
|
f.each{File file->
|
|
|
|
println "----${file.path}"
|
|
|
|
}
|
|
|
|
|
|
|
|
//声明外部依赖
|
|
|
|
dependencies{
|
|
|
|
compile fileTree(dir:"../../../finereport-lib-stable/${branchName}",include:'**/*.jar')
|
|
|
|
compile fileTree(dir:'../../../',include:"finereport-*-stable/${branchName}/**/build/libs/*.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{
|
|
|
|
with dataContent.call("${srcDir}/src")
|
|
|
|
with dataContent.call("${srcDir}/../designer/src")
|
|
|
|
into ('build/classes/main')
|
|
|
|
}
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
//压缩项目中的js文件
|
|
|
|
task compressJS{
|
|
|
|
ant.taskdef(name:'yuicompress',classname:'com.yahoo.platform.yui.compressor.YUICompressTask'){
|
|
|
|
classpath {
|
|
|
|
|
|
|
|
fileset(dir:'../../../finereport-lib4build-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}/src"){
|
|
|
|
include (name:'**/*.js')
|
|
|
|
include (name:'**/*.css')
|
|
|
|
|
|
|
|
}
|
|
|
|
fileset (dir:"${srcDir}/../designer/src"){
|
|
|
|
include (name:'**/*.js')
|
|
|
|
include (name:'**/*.css')
|
|
|
|
}
|
|
|
|
|
|
|
|
}
|
|
|
|
}
|
|
|
|
jar.dependsOn compressJS
|
|
|
|
|