#123 In-place instrumentation should add emma.jar to classpath

open
nobody
None
5
2011-01-26
2011-01-26
Ben Spiller
No

I love EMMA's in-place .jar file instrumentation ability - EMMA is the only tool that has this feature as far as I can tell, and it allows us to run an instrumentation step on all our built jars and then execute our enormous python-based test framework - without making changes to hundreds of python and ant files to turn coverage on for each testcase individually (e.g. no need to change classpath to include the instrumented jar directory each time we invoke java.exe).

The only problem is that emma.jar needs to be explicitly added to the classpath whenever we invoke java - and that's *really* hard when there are a large number of places it's invoked (from python, from hundreds of separate ant scripts, from eclipse, etc); putting emma.jar into the jvm lib/ext directory helps but is clunky and doesn't always work (e.g. ClassDefNotFound if executing java from ant under linux if forked=false!).

So I wonder if it would be possible to have an instrumentation option for hardcoding the location of the emma.jar during the instrumentation process so that once a .jar has been instrumented it can run with NO additional jvm/classpath arguments at all.

This would be a really awesome feature :o)

Discussion