Obclipse - Documentation

Installation
1. Unzip the Obclipse Release
2. Copy desired JRE to the base directory of Obclipse, or specify path to java home inside the launcher file
3. Copy a proguard.jar to the Obclipse/lib directory (Versions: 3.8-4.6)
4. Copy an ant.jar to the Obclipse/lib directory if the ant-task is used, and specify the correct "obclipseBaseDir" inside the launch.xml

Configuration
1. Configure the obclipse.properties file
2. Add basic and special desired options for ProGuard inside the obfuscationParameter.pro

Execution
Warning: The files of the specified product are changed. This could not be reverted. Please make a copy of your product before running the obfuscation process.
1. Run the obfuscation by executing the os specific launcher file or call the predefined ant task inside launch.xml from your ant script


Configuration files

obclipse.properties

obfuscationParameter.pro


Brief description of the product obfuscation process

Plugin structure

Plugin structure:
mfb2.smalltool
- src
-- mfb2.smalltool.SmallToolActivator.java
-- mfb2.smalltool.views.MyView.java
-- some.other.path.ClsOfSomeOtherPath.java
- lib
-- additionalLib.jar
-- additionalLib2.jar
- META-INF
-- MANIFEST.MF
- schemas
-- mySchema.exsd
- build.properties
- plugin.xml

Packaged Plugin structure (only src dir):
Variant 1 (plugin unpacked, src-code jared):
mfb2.smalltool
- mfb2.smalltool.jar
-- mfb2.smalltool.SmallToolActivator.java
-- mfb2.smalltool.views.MyView.java
-- some.other.path.ClsOfSomeOtherPath.java

Variant 2 (plugin packed, src-code jared):
mfb2.smalltool.jar
- mfb2.smalltool.jar
-- mfb2.smalltool.SmallToolActivator.java
-- mfb2.smalltool.views.MyView.java
-- some.other.path.ClsOfSomeOtherPath.java

Variant 3 (plugin unpacked, src-code not jared):
mfb2.smalltool
-- mfb2.smalltool.SmallToolActivator.java
-- mfb2.smalltool.views.MyView.java
-- some.other.path.ClsOfSomeOtherPath.java

Variant 4 (plugin packed, src-code not jared):
mfb2.smalltool.jar
-- mfb2.smalltool.SmallToolActivator.java
-- mfb2.smalltool.views.MyView.java
-- some.other.path.ClsOfSomeOtherPath.java

Processing the plugins

1.Unpack jared Plugins
1.1After unpacking the Variant 2 is equal to 1 and Variant 4 is equal to 3
2.Create the proguard config file
2.1The whole obfuscationParamter.pro file is included
2.2Depending on the parameters of the obclipse.properties file the dynamic product specific configuration is added
2.2.1The plugins to obfuscate has to be specified:
applicationPrefix=mfb2.smalltool,mfb2.utils
All other plugins are added as libraries
2.2.2The library dirs of the plugins have to be specified:
pluginLibSubDirs=lib
2.2.3The configured filter has to collect all src code:
proguardFilter=(*.jar;mfb2/smalltool/**,some/**)
"*.jar": includes the jared src-code
"mfb2/smalltool/**": includes all folders and files inside the mfb2/smalltool directory
"some/**": includes all folders and files inside the some directory
So all the src-code of the variants 1 to 4 is covered.
All other files and directories of the plugins are ignored by ProGuard.
For more details have a look at the ProGuard documentation
3.Execute ProGuard
4.Special files like the MANIFEST.MF and plugin.xml are fixed
5.The unpacked plugins are jared

supported by
SourceForge.net Logo