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.
110 lines
2.5 KiB
110 lines
2.5 KiB
apply plugin: 'java' |
|
tasks.withType(JavaCompile){ |
|
options.encoding = 'UTF-8' |
|
} |
|
buildscript { |
|
repositories { |
|
maven { |
|
url "https://maven.eveoh.nl/content/repositories/releases" |
|
} |
|
} |
|
|
|
dependencies { |
|
classpath "nl.eveoh:gradle-aspectj:1.6" |
|
} |
|
} |
|
|
|
repositories { |
|
mavenCentral() |
|
} |
|
|
|
project.ext { |
|
aspectjVersion = '1.8.4' |
|
} |
|
|
|
apply plugin: 'aspectj' |
|
|
|
//指定构建的jdk版本 |
|
sourceCompatibility=1.8 |
|
//指定生成jar包版本 |
|
version='10.0' |
|
//生成jar包重命名 |
|
jar{ |
|
baseName='fr-designer-report' |
|
} |
|
|
|
|
|
def srcDir="." |
|
def baseDir=".." |
|
ant{ |
|
delete(dir:"src/main") |
|
mkdir(dir:"src/main/java") |
|
move(todir:"src/main/java"){ |
|
fileset(dir:"../designer-realize/src",includes:"com/**") |
|
fileset(dir:"../designer-sdk/src",includes:"com/**") |
|
fileset(dir:"src",includes:"com/**") |
|
} |
|
} |
|
//指定源码路径 |
|
//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) |
|
|
|
//声明外部依赖 |
|
dependencies{ |
|
compile fileTree(dir:"../${baseDir}/lib-other",include:'**/*.jar') |
|
compile fileTree(dir:"../${baseDir}/lib-core",include:"**/*.jar") |
|
compile fileTree(dir:"../${baseDir}/lib-design",include:'**/*.jar') |
|
compile fileTree(dir:"../${baseDir}",include:"**/build/libs/*.jar",exclude:"bi/**/*.jar") |
|
testCompile 'junit:junit:4.12' |
|
} |
|
//复制非.java文件到classes文件夹下参与打包 |
|
|
|
//指明无法编译文件所在路径 |
|
def dataContent ={def dir -> |
|
copySpec{ |
|
from ("${dir}"){ |
|
exclude '**/.setting/**','.classpath','.project','**/*.java','**/*.db','**/*.g','**/package.html' |
|
} |
|
} |
|
} |
|
|
|
task copyFile(type:Copy,dependsOn:compileJava){ |
|
copy{ |
|
with dataContent.call("${srcDir}/src/main/java") |
|
// 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:"../${baseDir}/lib4build",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/main/java"){ |
|
include (name:'**/*.js') |
|
include (name:'**/*.css') |
|
} |
|
|
|
} |
|
} |
|
jar.dependsOn compressJS |
|
|
|
|
|
|
|
|