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