Obfuscate4e Summer of Code

We “convinced” a Student to spend his summer holidays at PartMaster (officially he is working as a trainee) and we decided to code heavily on Obfuscate4e during this summer. :)

So we introduced a stack of new and cool features into Obfuscate4e. To name just the highlights:

  • You can register a builder so that each relevant change of the bundle API (exported configuration as well as extension classes) updates the obfuscator configuration.
  • The configuration file is split into a static and a dynamic part. The dynamic part is managed by Obfuscate4e, all statements in the static part are left as is. You can customize the obfuscation process to the limit!
  • Workspace preferences and Project properties. Many settings can be configured for all projects (mean: plug-ins) in advance in the workspace preferences or tailored per project in the project properties dialog.
  • Support for multiple installed obfuscators. You can install several obfuscators (Proguard is part of Obfuscate4e, support for ZKM is under development and almost finished). You can select the obfuscator per project (and pre-define a default obfuscator).
  • Update of Proguard to the just released version 4.4.

We implemented an extensive UI test suite using SWTbot. All defined use cases a accompanied by an UI test (for all combinations of Eclipse 3.4/3.5 and Java 1.5/6). A Junit test suite is under development. We plan to release a new version of Obfuscate4e in September (2009 of course ;-). For the impatient we deployed an update site with an development snapshot containing many of the above-mentioned features at

http://obfuscate4e.org/updates/dev/

This update site is not meant for production use. It needs more testing on larger projects (you are welcome!) and the format of the Proguard configuration file will change a bit as we will insert some metadata.

Now I have the challenging part to update the documentation (on the website as well es the Eclipse help section). So feel free to test the development release and submit tickets to the project trac.

Update: Submit Tickets at the project issue tracker which is hosted at http://code.google.com. The Sourceforge project isn’t maintained anymore.