On 7/9/10 3:17 PM, D. Stuart Freeman wrote:
> On Fri, Jul 09, 2010 at 10:55:14AM -0400, Justin Edelson wrote:
>> I think the simplest thing would be to add the emma jar to the
>> classpath and then add the necessary package(s) to the packages
>> exported by the system bundle (i.e. via sling.system.packages). You
>> can do this by adding emma as a dependency to the
>> maven-launchpad-plugin and create a file called
>> src/test/config/sling.properties with this line in it:
>>
>> sling.system.packages.simple=com.vladium.emma.rt
>>
> 
> That makes sense, but I can't seem to figure out where to put the
> dependency so that it actually works.

Take a look at http://codereview.appspot.com/1807041, specifically
http://codereview.appspot.com/1807041/patch/1/5

Here I'm putting the emma stuff in a profile, so you'd run it like

mvn -P emma clean verify

I verified that when not using the instrumented bundles, I don't need
emma on the classpath, so I'm not sure how to explain what you were
seeing where the uninstrumented bundles still needed emma.

I'm totally unsatisifed with the need here to specify an alternate
bundle list file. At least for Sling, this isn't going to work as it
means we need to maintain two bundle lists with essentially duplicate
information. This is just a recipe for failure.

So I'm thinking there needs to be something like this in the plugin
configuration:

<bundleOverrides>
  <bundleOverride>
    <pattern>org.apache.sling:*</pattern>
    <classifier>emma</classifier>
  </bundleOverride>
</bundleOverrides>

Which means... process the bundle list and for each bundle with a
groupId of org.apache.sling, set the classifier to "emma".

But I'm still at a loss for how to handle the .em files effectively. The
merge reference you sent still seems to require the assembly of the .em
file list.

Justin

Reply via email to