aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBen Gruver <jesusfreke@jesusfreke.com>2015-03-01 19:43:01 -0800
committerBen Gruver <jesusfreke@jesusfreke.com>2015-03-01 19:51:34 -0800
commit900ad6ea878635827ae97792ef2c9f760a81c121 (patch)
treea3da200b73578fcf60b63bc81be69c35ec412192
parentb3f933d27a140db265c47d2771937d88e126ac5a (diff)
downloadsmali-900ad6ea878635827ae97792ef2c9f760a81c121.tar.gz
Use the proguard plugin for gradle
-rw-r--r--baksmali/build.gradle41
-rw-r--r--build.gradle2
-rw-r--r--smali/build.gradle44
3 files changed, 49 insertions, 38 deletions
diff --git a/baksmali/build.gradle b/baksmali/build.gradle
index 150eb6fd..3af2d655 100644
--- a/baksmali/build.gradle
+++ b/baksmali/build.gradle
@@ -29,8 +29,13 @@
* OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/
-configurations {
- proguard
+buildscript {
+ repositories {
+ mavenCentral()
+ }
+ dependencies {
+ classpath depends.proguard_gradle
+ }
}
dependencies {
@@ -41,8 +46,6 @@ dependencies {
testCompile depends.junit
testCompile project(':smali')
-
- proguard depends.proguard
}
processResources.inputs.property('version', version)
@@ -81,22 +84,22 @@ uploadArchives {
}
}
-task proguard(type: JavaExec, dependsOn: fatJar) {
+task proguard(type: proguard.gradle.ProGuardTask, dependsOn: fatJar) {
def outFile = fatJar.destinationDir.getPath() + '/' + fatJar.baseName + '-' + fatJar.version + '-small' + '.' + fatJar.extension
- inputs.file fatJar.archivePath
- outputs.file outFile
-
- classpath = configurations.proguard
- main = 'proguard.ProGuard'
- args '-injars ' + fatJar.archivePath
- args '-outjars ' + outFile
- args '-libraryjars ' + System.properties['java.home'] + '/lib/rt.jar'
- args '-dontobfuscate'
- args '-dontoptimize'
- args '-keep public class org.jf.baksmali.main { public static void main(java.lang.String[]); }'
- args '-keepclassmembers enum * { public static **[] values(); public static ** valueOf(java.lang.String); }'
- args '-dontwarn com.google.common.**'
- args '-dontnote com.google.common.**'
+
+ injars fatJar.archivePath
+ outjars outFile
+
+ libraryjars "${System.properties['java.home']}/lib/rt.jar"
+
+ dontobfuscate
+ dontoptimize
+
+ keep 'public class org.jf.baksmali.main { public static void main(java.lang.String[]); }'
+ keepclassmembers 'enum * { public static **[] values(); public static ** valueOf(java.lang.String); }'
+
+ dontwarn 'com.google.common.**'
+ dontnote 'com.google.common.**'
}
tasks.getByPath(':release').dependsOn(proguard)
diff --git a/build.gradle b/build.gradle
index 80743e13..7e03b5fc 100644
--- a/build.gradle
+++ b/build.gradle
@@ -90,7 +90,7 @@ subprojects {
stringtemplate: 'org.antlr:stringtemplate:3.2.1',
commons_cli: 'commons-cli:commons-cli:1.2',
jflex: 'de.jflex:jflex:1.4.3',
- proguard: 'net.sf.proguard:proguard-base:4.8'
+ proguard_gradle: 'net.sf.proguard:proguard-gradle:5.1'
]
}
diff --git a/smali/build.gradle b/smali/build.gradle
index 0f43d756..5f09e0ff 100644
--- a/smali/build.gradle
+++ b/smali/build.gradle
@@ -32,7 +32,15 @@
configurations {
antlr3
jflex
- proguard
+}
+
+buildscript {
+ repositories {
+ mavenCentral()
+ }
+ dependencies {
+ classpath depends.proguard_gradle
+ }
}
ext.antlrSource = 'src/main/antlr3'
@@ -75,7 +83,6 @@ dependencies {
antlr3 depends.antlr
jflex depends.jflex
- proguard depends.proguard
}
task generateParserAntlrSource(type: JavaExec) {
@@ -171,22 +178,23 @@ uploadArchives {
}
}
-task proguard(type: JavaExec, dependsOn: fatJar) {
- def outFile = fatJar.destinationDir.getPath() + '/' + fatJar.baseName + '-' + fatJar.version + '-small' + '.' + fatJar.extension
- inputs.file fatJar.archivePath
- outputs.file outFile
-
- classpath = configurations.proguard
- main = 'proguard.ProGuard'
- args "-injars ${fatJar.archivePath}(!**/TestStringTemplate*.class)"
- args "-outjars ${outFile}"
- args "-libraryjars ${System.properties['java.home']}/lib/rt.jar"
- args '-dontobfuscate'
- args '-dontoptimize'
- args '-keep public class org.jf.smali.main { public static void main(java.lang.String[]); }'
- args '-keepclassmembers enum * { public static **[] values(); public static ** valueOf(java.lang.String); }'
- args '-dontwarn com.google.common.**'
- args '-dontnote com.google.common.**'
+task proguard(type: proguard.gradle.ProGuardTask, dependsOn: fatJar) {
+ def outFile = fatJar.destinationDir.getPath() + '/' + fatJar.baseName + '-' +
+ fatJar.version + '-small' + '.' + fatJar.extension
+
+ injars fatJar.archivePath
+ outjars outFile
+
+ libraryjars "${System.properties['java.home']}/lib/rt.jar"
+
+ dontobfuscate
+ dontoptimize
+
+ keep 'public class org.jf.smali.main { public static void main(java.lang.String[]); }'
+ keepclassmembers 'enum * { public static **[] values(); public static ** valueOf(java.lang.String); }'
+
+ dontwarn 'com.google.common.**'
+ dontnote 'com.google.common.**'
}
tasks.getByPath(':release').dependsOn(proguard)