1b72c5c2e5482cf10117b2b25f642f7616b2326c3Joe Onorato#
2b72c5c2e5482cf10117b2b25f642f7616b2326c3Joe Onorato# This ProGuard configuration file illustrates how to process the ProGuard GUI.
3b72c5c2e5482cf10117b2b25f642f7616b2326c3Joe Onorato# Configuration files for typical applications will be very similar.
4b72c5c2e5482cf10117b2b25f642f7616b2326c3Joe Onorato# Usage:
5b72c5c2e5482cf10117b2b25f642f7616b2326c3Joe Onorato#     java -jar proguard.jar @proguardgui.pro
6b72c5c2e5482cf10117b2b25f642f7616b2326c3Joe Onorato#
7b72c5c2e5482cf10117b2b25f642f7616b2326c3Joe Onorato
8b72c5c2e5482cf10117b2b25f642f7616b2326c3Joe Onorato# Specify the input jars, output jars, and library jars.
9b72c5c2e5482cf10117b2b25f642f7616b2326c3Joe Onorato# The input jars will be merged in a single output jar.
10b9cc48a43ed984587c939d02fba5316bf5c0df6eYing Wang# We'll filter out the Ant classes, Gradle classes, and WTK classes, keeping
11b9cc48a43ed984587c939d02fba5316bf5c0df6eYing Wang# everything else.
12b72c5c2e5482cf10117b2b25f642f7616b2326c3Joe Onorato
13b72c5c2e5482cf10117b2b25f642f7616b2326c3Joe Onorato-injars  ../lib/proguardgui.jar
14b9cc48a43ed984587c939d02fba5316bf5c0df6eYing Wang-injars  ../lib/proguard.jar(!META-INF/**,!proguard/ant/**,!proguard/gradle/**,!proguard/wtk/**)
15b72c5c2e5482cf10117b2b25f642f7616b2326c3Joe Onorato-injars  ../lib/retrace.jar (!META-INF/**)
16b72c5c2e5482cf10117b2b25f642f7616b2326c3Joe Onorato-outjars proguardgui_out.jar
17b72c5c2e5482cf10117b2b25f642f7616b2326c3Joe Onorato
18b72c5c2e5482cf10117b2b25f642f7616b2326c3Joe Onorato-libraryjars <java.home>/lib/rt.jar
19b72c5c2e5482cf10117b2b25f642f7616b2326c3Joe Onorato
20b72c5c2e5482cf10117b2b25f642f7616b2326c3Joe Onorato# If we wanted to reuse the previously obfuscated proguard_out.jar, we could
21b72c5c2e5482cf10117b2b25f642f7616b2326c3Joe Onorato# perform incremental obfuscation based on its mapping file, and only keep the
22b72c5c2e5482cf10117b2b25f642f7616b2326c3Joe Onorato# additional GUI files instead of all files.
23b72c5c2e5482cf10117b2b25f642f7616b2326c3Joe Onorato
24b72c5c2e5482cf10117b2b25f642f7616b2326c3Joe Onorato#-applymapping proguard.map
25b72c5c2e5482cf10117b2b25f642f7616b2326c3Joe Onorato#-injars      ../lib/proguardgui.jar
26b72c5c2e5482cf10117b2b25f642f7616b2326c3Joe Onorato#-outjars     proguardgui_out.jar
27b72c5c2e5482cf10117b2b25f642f7616b2326c3Joe Onorato#-libraryjars ../lib/proguard.jar(!proguard/ant/**,!proguard/wtk/**)
28b72c5c2e5482cf10117b2b25f642f7616b2326c3Joe Onorato#-libraryjars ../lib/retrace.jar
29b72c5c2e5482cf10117b2b25f642f7616b2326c3Joe Onorato#-libraryjars <java.home>/lib/rt.jar
30b72c5c2e5482cf10117b2b25f642f7616b2326c3Joe Onorato
31b72c5c2e5482cf10117b2b25f642f7616b2326c3Joe Onorato
32b72c5c2e5482cf10117b2b25f642f7616b2326c3Joe Onorato# Allow methods with the same signature, except for the return type,
33b72c5c2e5482cf10117b2b25f642f7616b2326c3Joe Onorato# to get the same obfuscation name.
34b72c5c2e5482cf10117b2b25f642f7616b2326c3Joe Onorato
35b72c5c2e5482cf10117b2b25f642f7616b2326c3Joe Onorato-overloadaggressively
36b72c5c2e5482cf10117b2b25f642f7616b2326c3Joe Onorato
37b72c5c2e5482cf10117b2b25f642f7616b2326c3Joe Onorato# Put all obfuscated classes into the nameless root package.
38b72c5c2e5482cf10117b2b25f642f7616b2326c3Joe Onorato
39b72c5c2e5482cf10117b2b25f642f7616b2326c3Joe Onorato-repackageclasses ''
40b72c5c2e5482cf10117b2b25f642f7616b2326c3Joe Onorato
41b72c5c2e5482cf10117b2b25f642f7616b2326c3Joe Onorato# Adapt the names of resource files, based on the corresponding obfuscated
42b72c5c2e5482cf10117b2b25f642f7616b2326c3Joe Onorato# class names. Notably, in this case, the GUI resource properties file will
43b72c5c2e5482cf10117b2b25f642f7616b2326c3Joe Onorato# have to be renamed.
44b72c5c2e5482cf10117b2b25f642f7616b2326c3Joe Onorato
45b72c5c2e5482cf10117b2b25f642f7616b2326c3Joe Onorato-adaptresourcefilenames **.properties,**.gif,**.jpg
46b72c5c2e5482cf10117b2b25f642f7616b2326c3Joe Onorato
47b72c5c2e5482cf10117b2b25f642f7616b2326c3Joe Onorato# The entry point: ProGuardGUI and its main method.
48b72c5c2e5482cf10117b2b25f642f7616b2326c3Joe Onorato
49b72c5c2e5482cf10117b2b25f642f7616b2326c3Joe Onorato-keep public class proguard.gui.ProGuardGUI {
50b72c5c2e5482cf10117b2b25f642f7616b2326c3Joe Onorato    public static void main(java.lang.String[]);
51b72c5c2e5482cf10117b2b25f642f7616b2326c3Joe Onorato}
52