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/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