diff options
author | Ben Gruver <jesusfreke@jesusfreke.com> | 2015-03-01 19:43:01 -0800 |
---|---|---|
committer | Ben Gruver <jesusfreke@jesusfreke.com> | 2015-03-01 19:51:34 -0800 |
commit | 900ad6ea878635827ae97792ef2c9f760a81c121 (patch) | |
tree | a3da200b73578fcf60b63bc81be69c35ec412192 | |
parent | b3f933d27a140db265c47d2771937d88e126ac5a (diff) | |
download | smali-900ad6ea878635827ae97792ef2c9f760a81c121.tar.gz |
Use the proguard plugin for gradle
-rw-r--r-- | baksmali/build.gradle | 41 | ||||
-rw-r--r-- | build.gradle | 2 | ||||
-rw-r--r-- | smali/build.gradle | 44 |
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) |