diff options
Diffstat (limited to 'src/proguard/wtk')
-rw-r--r-- | src/proguard/wtk/ProGuardObfuscator.java | 142 | ||||
-rw-r--r-- | src/proguard/wtk/default.pro | 114 | ||||
-rw-r--r-- | src/proguard/wtk/package.html | 3 |
3 files changed, 0 insertions, 259 deletions
diff --git a/src/proguard/wtk/ProGuardObfuscator.java b/src/proguard/wtk/ProGuardObfuscator.java deleted file mode 100644 index d8bbd56..0000000 --- a/src/proguard/wtk/ProGuardObfuscator.java +++ /dev/null @@ -1,142 +0,0 @@ -/* - * ProGuard -- shrinking, optimization, obfuscation, and preverification - * of Java bytecode. - * - * Copyright (c) 2002-2014 Eric Lafortune (eric@graphics.cornell.edu) - * - * This program is free software; you can redistribute it and/or modify it - * under the terms of the GNU General Public License as published by the Free - * Software Foundation; either version 2 of the License, or (at your option) - * any later version. - * - * This program is distributed in the hope that it will be useful, but WITHOUT - * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or - * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for - * more details. - * - * You should have received a copy of the GNU General Public License along - * with this program; if not, write to the Free Software Foundation, Inc., - * 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - */ -package proguard.wtk; - -import com.sun.kvem.environment.Obfuscator; -import proguard.*; - -import java.io.*; - - -/** - * ProGuard plug-in for the J2ME Wireless Toolkit. - * <p> - * In order to integrate this plug-in in the toolkit, you'll have to put the - * following lines in the file - * {j2mewtk.dir}<code>/wtklib/Linux/ktools.properties</code> or - * {j2mewtk.dir}<code>\wtklib\Windows\ktools.properties</code> (whichever is - * applicable). - * <p> - * <pre> - * obfuscator.runner.class.name: proguard.wtk.ProGuardObfuscator - * obfuscator.runner.classpath: /usr/local/java/proguard1.6/lib/proguard.jar - * </pre> - * Please make sure the class path is set correctly for your system. - * - * @author Eric Lafortune - */ -public class ProGuardObfuscator implements Obfuscator -{ - private static final String DEFAULT_CONFIGURATION = "default.pro"; - - - // Implementations for Obfuscator. - - public void createScriptFile(File jadFile, - File projectDir) - { - // We don't really need to create a script file; - // we'll just fill out all options in the run method. - } - - - public void run(File obfuscatedJarFile, - String wtkBinDir, - String wtkLibDir, - String jarFileName, - String projectDirName, - String classPath, - String emptyAPI) - throws IOException - { - // Create the ProGuard configuration. - Configuration configuration = new Configuration(); - - // Parse the default configuration file. - ConfigurationParser parser = new ConfigurationParser(this.getClass().getResource(DEFAULT_CONFIGURATION), - System.getProperties()); - - try - { - parser.parse(configuration); - - // Fill out the library class path. - configuration.libraryJars = classPath(classPath); - - // Fill out the program class path (input and output). - configuration.programJars = new ClassPath(); - configuration.programJars.add(new ClassPathEntry(new File(jarFileName), false)); - configuration.programJars.add(new ClassPathEntry(obfuscatedJarFile, true)); - - // The preverify tool seems to unpack the resulting classes, - // so we must not use mixed-case class names on Windows. - configuration.useMixedCaseClassNames = - !System.getProperty("os.name").regionMatches(true, 0, "windows", 0, 7); - - // Run ProGuard with these options. - ProGuard proGuard = new ProGuard(configuration); - proGuard.execute(); - - } - catch (ParseException ex) - { - throw new IOException(ex.getMessage()); - } - finally - { - parser.close(); - } - } - - - /** - * Converts the given class path String into a ClassPath object. - */ - private ClassPath classPath(String classPathString) - { - ClassPath classPath = new ClassPath(); - - String separator = System.getProperty("path.separator"); - - int index = 0; - while (index < classPathString.length()) - { - // Find the next separator, or the end of the String. - int next_index = classPathString.indexOf(separator, index); - if (next_index < 0) - { - next_index = classPathString.length(); - } - - // Create and add the found class path entry. - ClassPathEntry classPathEntry = - new ClassPathEntry(new File(classPathString.substring(index, next_index)), - false); - - classPath.add(classPathEntry); - - // Continue after the separator. - index = next_index + 1; - } - - return classPath; - } -} diff --git a/src/proguard/wtk/default.pro b/src/proguard/wtk/default.pro deleted file mode 100644 index d31714f..0000000 --- a/src/proguard/wtk/default.pro +++ /dev/null @@ -1,114 +0,0 @@ --dontnote --microedition --mergeinterfacesaggressively --overloadaggressively --repackageclasses '' --allowaccessmodification - -# Keep all extensions of javax.microedition.midlet.MIDlet. --keep public class * extends javax.microedition.midlet.MIDlet - -# Keep all native class/method names. --keepclasseswithmembernames class * { - native <methods>; -} - -# Remove all invocations of System methods without side effects -# whose return values are not used. --assumenosideeffects public class java.lang.System { - public static native long currentTimeMillis(); - static java.lang.Class getCallerClass(); - public static native int identityHashCode(java.lang.Object); - public static java.lang.SecurityManager getSecurityManager(); - public static java.util.Properties getProperties(); - public static java.lang.String getProperty(java.lang.String); - public static java.lang.String getenv(java.lang.String); - public static native java.lang.String mapLibraryName(java.lang.String); - public static java.lang.String getProperty(java.lang.String,java.lang.String); -} - -# Remove all invocations of String methods without side effects -# whose return values are not used. --assumenosideeffects public class java.lang.String { - public java.lang.String(); - public java.lang.String(byte[]); - public java.lang.String(byte[],int); - public java.lang.String(byte[],int,int); - public java.lang.String(byte[],int,int,int); - public java.lang.String(byte[],int,int,java.lang.String); - public java.lang.String(byte[],java.lang.String); - public java.lang.String(char[]); - public java.lang.String(char[],int,int); - public java.lang.String(java.lang.String); - public java.lang.String(java.lang.StringBuffer); - public static java.lang.String copyValueOf(char[]); - public static java.lang.String copyValueOf(char[],int,int); - public static java.lang.String valueOf(boolean); - public static java.lang.String valueOf(char); - public static java.lang.String valueOf(char[]); - public static java.lang.String valueOf(char[],int,int); - public static java.lang.String valueOf(double); - public static java.lang.String valueOf(float); - public static java.lang.String valueOf(int); - public static java.lang.String valueOf(java.lang.Object); - public static java.lang.String valueOf(long); - public boolean contentEquals(java.lang.StringBuffer); - public boolean endsWith(java.lang.String); - public boolean equalsIgnoreCase(java.lang.String); - public boolean equals(java.lang.Object); - public boolean matches(java.lang.String); - public boolean regionMatches(boolean,int,java.lang.String,int,int); - public boolean regionMatches(int,java.lang.String,int,int); - public boolean startsWith(java.lang.String); - public boolean startsWith(java.lang.String,int); - public byte[] getBytes(); - public byte[] getBytes(java.lang.String); - public char charAt(int); - public char[] toCharArray(); - public int compareToIgnoreCase(java.lang.String); - public int compareTo(java.lang.Object); - public int compareTo(java.lang.String); - public int hashCode(); - public int indexOf(int); - public int indexOf(int,int); - public int indexOf(java.lang.String); - public int indexOf(java.lang.String,int); - public int lastIndexOf(int); - public int lastIndexOf(int,int); - public int lastIndexOf(java.lang.String); - public int lastIndexOf(java.lang.String,int); - public int length(); - public java.lang.CharSequence subSequence(int,int); - public java.lang.String concat(java.lang.String); - public java.lang.String replaceAll(java.lang.String,java.lang.String); - public java.lang.String replace(char,char); - public java.lang.String replaceFirst(java.lang.String,java.lang.String); - public java.lang.String[] split(java.lang.String); - public java.lang.String[] split(java.lang.String,int); - public java.lang.String substring(int); - public java.lang.String substring(int,int); - public java.lang.String toLowerCase(); - public java.lang.String toLowerCase(java.util.Locale); - public java.lang.String toString(); - public java.lang.String toUpperCase(); - public java.lang.String toUpperCase(java.util.Locale); - public java.lang.String trim(); -} - - -# Remove all invocations of StringBuffer methods without side effects -# whose return values are not used. --assumenosideeffects public class java.lang.StringBuffer { - public java.lang.StringBuffer(); - public java.lang.StringBuffer(int); - public java.lang.StringBuffer(java.lang.String); - public java.lang.String toString(); - public char charAt(int); - public int capacity(); - public int indexOf(java.lang.String,int); - public int lastIndexOf(java.lang.String); - public int lastIndexOf(java.lang.String,int); - public int length(); - public java.lang.String substring(int); - public java.lang.String substring(int,int); -} diff --git a/src/proguard/wtk/package.html b/src/proguard/wtk/package.html deleted file mode 100644 index 6efc644..0000000 --- a/src/proguard/wtk/package.html +++ /dev/null @@ -1,3 +0,0 @@ -<body> -This package contains the J2ME Wireless Toolkit plug-in for ProGuard. -</body> |