From 5e2c3d4e67fb1b62d6fc636db1cc6af2bd7c67b0 Mon Sep 17 00:00:00 2001 From: Huang YunKun Date: Thu, 26 Dec 2013 12:41:27 +0800 Subject: [PATCH] fix rt.jar not found error in mac and more detail setting with proguard. --- build.gradle | 13 ++++++++++++- gradle.properties | 2 ++ proguard.pro | 31 ++++++++++++++++++++++--------- 3 files changed, 36 insertions(+), 10 deletions(-) diff --git a/build.gradle b/build.gradle index 2a58cae08..43db6776b 100644 --- a/build.gradle +++ b/build.gradle @@ -209,8 +209,19 @@ project(':moco-runner') { injar= jar.archivePath jar.classifier="proguard" outJar= jar.archivePath + javaBase=System.properties["java.home"]; + javaRt="/lib/rt.jar" + if(System.properties["os.name"].toLowerCase().contains("mac")) + { + if(!new File(javaBase+javaRt).exists()) + { + javaRt="/../Classes/classes.jar" + } + } } injars injar + libraryjars javaBase+javaRt + println(javaBase+javaRt) outjars outJar configuration '../proguard.pro' } @@ -221,7 +232,7 @@ project(':moco-runner') { outJar= jar.archivePath } testLogging { exceptionFormat "full" } - classpath = classpath-files(sourceSets.main.output.classesDir)-files(configurations.compile)+files(outJar) + classpath = classpath-files(sourceSets.main.output.classesDir)-files(configurations.runtime)+files(outJar) } artifacts { diff --git a/gradle.properties b/gradle.properties index c6b626183..b88b1e26e 100644 --- a/gradle.properties +++ b/gradle.properties @@ -1,3 +1,5 @@ # Default config properties, can be overridden by ~/.gradle/gradle.properties sonatypeUsername= sonatypePassword= +org.gradle.daemon=true +org.gradle.jvmargs=-XX:MaxPermSize=512m -XX:+CMSClassUnloadingEnabled -XX:+CMSPermGenSweepingEnabled -XX:+HeapDumpOnOutOfMemoryError -Xmx1024m -Dfile.encoding=utf-8 \ No newline at end of file diff --git a/proguard.pro b/proguard.pro index cd5376a62..938bca1c7 100644 --- a/proguard.pro +++ b/proguard.pro @@ -1,5 +1,3 @@ --libraryjars /lib/rt.jar --libraryjars /lib/jce.jar -printusage shrinking.output -dontobfuscate @@ -11,7 +9,19 @@ public static void main(java.lang.String[]); } --keep public class com.github.dreamhead.moco.** {*;} + +-keep public class com.github.dreamhead.moco.parser.model.*{*;} +-keep public class com.github.dreamhead.moco.Moco{*;} +-keep public class com.github.dreamhead.moco.handler.*{*;} +-keep public class com.github.dreamhead.moco.runner.ShutdownRunner{ + public int shutdownPort(); +} +-keepclassmembers enum com.jayway.jsonpath.Option { + public static **[] values(); + public static ** valueOf(java.lang.String); +} + + -keep public class org.apache.http.**{*;} -keep public class com.google.common.io.Files{*;} -keep public class org.apache.commons.io.FilenameUtils{*;} @@ -20,14 +30,17 @@ -keep public class ch.** {*;} -keep public class org.apache.commons.logging.impl.**{*;} -keep public class com.fasterxml.jackson.databind.**{*;} --keepclassmembers enum * { - public static **[] values(); - public static ** valueOf(java.lang.String); -} + +#jce.jar +-dontwarn org.apache.http.impl.auth.** +#jsse.jar +-dontwarn org.apache.http.conn.** +-dontwarn org.apache.http.impl.** -dontwarn io.netty.** --dontwarn com.jayway.jsonpath.** --dontwarn ch.qos.logback.** +-dontwarn com.jayway.jsonpath.spi.impl.JacksonProvider +-dontwarn ch.qos.logback.core.** +-dontwarn ch.qos.logback.classic.** -dontwarn freemarker.** -dontwarn org.slf4j.** -dontwarn org.apache.log4j.**