Hi, uimaFIT uses a lot of reflection to inject parameter values. I can well imagine that you have to be quite careful here. Probably better not touch annotations and annotated fields at all and restrict obfuscation to logic, such as the process() method.
It may be even better to extract the core logic that you want to obfuscate entirely from the UIMA components and leave the UIMA wrappers for your logic unobfuscated. That said, the obfuscator may have "optimized" > private String outputDirectory away, because the value is never changed in the code known to the obfuscator. It cannot know that uimaFIT changes this field using reflection. -- Richard Am 28.07.2013 um 12:27 schrieb swirl <[email protected]>: > Hi! > > I was trying to create a obfuscated API library based on Uima/Uimafit. > > My project was in Maven so I used the Proguard plugin: > http://pastebin.com/T3N3JgVv > > When tried to use the obfuscated jar in a separate application, an Uima > parameter "PARAM_OUTDIR" was strangely nullified. > > For an un-obfuscated jar, looking through a decompiler: > http://pastebin.com/JnQkV2mJ > > When I looked at the jar through a decompiler, this is what I see: > http://pastebin.com/B0ZJpaFk > Notice the line "private String outputDirectory;" is totally removed in the > obfuscated jar. > > > Is Proguard compatible with Uima/Uimafit? > Is my plugin config incorrect?
