Clean up the smali gradle build a bit

This commit is contained in:
Ben Gruver 2012-10-27 16:26:18 -07:00
parent 03a89d0ac1
commit 3079b05e9a

View File

@ -36,19 +36,32 @@ configurations {
} }
ext.antlrSource = 'src/main/antlr3' ext.antlrSource = 'src/main/antlr3'
ext.antlrOutput = file(new File(buildDir, '/generated-sources/antlr3')) ext.antlrOutput = file("${buildDir}/generated-sources/antlr3")
ext.jflexSource = "src/main/jflex" ext.jflexSource = "src/main/jflex"
ext.jflexOutput = file(new File(buildDir, '/generated-sources/jflex')) ext.jflexOutput = file("${buildDir}/generated-sources/jflex")
ext.testAntlrSource = 'src/test/antlr3' ext.testAntlrSource = 'src/test/antlr3'
ext.testAntlrOutput = file(new File(buildDir, '/generated-test-sources/antlr3')) ext.testAntlrOutput = file("${buildDir}/generated-test-sources/antlr3")
sourceSets.main.java.srcDir antlrOutput sourceSets.main.java.srcDir antlrOutput
sourceSets.main.java.srcDir jflexOutput sourceSets.main.java.srcDir jflexOutput
sourceSets.test.java.srcDir testAntlrOutput sourceSets.test.java.srcDir testAntlrOutput
idea {
module {
excludeDirs -= buildDir
excludeDirs.addAll(buildDir.listFiles())
for (sourceDir in (sourceDirs + testSourceDirs)) {
excludeDirs.remove(sourceDir);
while ((sourceDir = sourceDir.getParentFile()) != null) {
excludeDirs.remove(sourceDir);
}
}
}
}
dependencies { dependencies {
compile project(':util') compile project(':util')
compile project(':dexlib') compile project(':dexlib')
@ -71,7 +84,7 @@ task generateAntlrSource(type: JavaExec) {
classpath = configurations.antlr3 classpath = configurations.antlr3
main = 'org.antlr.Tool' main = 'org.antlr.Tool'
args '-fo', relativePath(new File(antlrOutput, 'org/jf/smali')) args '-fo', relativePath("${antlrOutput}/org/jf/smali")
args grammars.files args grammars.files
} }
@ -84,7 +97,7 @@ task generateTestAntlrSource(type: JavaExec) {
classpath = configurations.antlr3 classpath = configurations.antlr3
main = 'org.antlr.Tool' main = 'org.antlr.Tool'
args '-fo', relativePath(new File(testAntlrOutput, 'org/jf/smali')) args '-fo', relativePath("${testAntlrOutput}/org/jf/smali")
args grammars.files.join(' ') args grammars.files.join(' ')
} }
@ -98,7 +111,7 @@ task generateJflexSource(type: JavaExec) {
classpath = configurations.jflex classpath = configurations.jflex
main = 'JFlex.Main' main = 'JFlex.Main'
args '-q' args '-q'
args '-d', relativePath(new File(jflexOutput, 'org/jf/smali')) args '-d', relativePath("${jflexOutput}/org/jf/smali")
args grammars.files.join(' ') args grammars.files.join(' ')
} }
@ -122,20 +135,20 @@ gradle.taskGraph.whenReady {
processResources.expand('version': version) processResources.expand('version': version)
proguard { proguard {
def outFile = relativePath(buildDir) + '/libs/' + jar.baseName + '-' + jar.version + '-small' + '.' + jar.extension def outFile = relativePath("${buildDir}/libs/${jar.baseName}-${jar.version}-smali.${jar.extension}")
inputs.file jar.archivePath inputs.file jar.archivePath
outputs.file outFile outputs.file outFile
args '-injars ' + jar.archivePath + '(!**/TestStringTemplate*.class)' args "-injars ${jar.archivePath}(!**/TestStringTemplate*.class)"
args '-outjars ' + outFile args "-outjars ${outFile}"
} }
} }
task proguard(type: JavaExec, dependsOn: jar) { task proguard(type: JavaExec, dependsOn: jar) {
classpath = configurations.proguard classpath = configurations.proguard
main = 'proguard.ProGuard' main = 'proguard.ProGuard'
args '-libraryjars ' + System.properties['java.home'] + '/lib/rt.jar' args "-libraryjars ${System.properties['java.home']}/lib/rt.jar"
args '-dontobfuscate' args '-dontobfuscate'
args '-dontoptimize' args '-dontoptimize'
args '-keep public class org.jf.smali.main { public static void main(java.lang.String[]); }' args '-keep public class org.jf.smali.main { public static void main(java.lang.String[]); }'