What you really want is to attach additional artifacts to your build with an
"emma-instrumented" classifier...

[Random but relevant]This will probably break the maven-ear-plugin on your
build... ;-) [/Random but relevant]

My understanding is that issues with instrumented jars using classifiers and
forked builds and fun like that is why clover-maven-plugin is less than
perfect...

I know that there are changes to maven which will make the coverage
situation nicer... I suspect people are holding off to see what they are

-Stephen

2009/3/18 COURCY Michael <[email protected]>

> I see, well unless you instrument your local repository ... I don't really
> see a simple and *clean* solution.
>
> Emma offer an option to instrument code by providing its own classloader,
> but it means you have to inteact with classworld maven classloader and thus
> write a plugin for that :
>
> http://maven.apache.org/guides/mini/guide-maven-classloading.html
>
> Should be possible but there's a real work to do.
>
> -----Message d'origine-----
> De : [email protected] [mailto:[email protected]]
> Envoyé : mercredi 18 mars 2009 16:48
> À : Maven Users List
> Objet : Re: how to EMMA-instrument dependencies
>
> Thank you, but this does not really solve my problem. The problem is not
>  that I cannot instrument dependency JARs. The problem is I cannot cleanly
> get instrumented JARs into the unit test classpath.
>
> Vasiliy
>
> COURCY Michael wrote:
> > Hi
> >
> > From my experience with emma I use a ant call after the compilation
> phase.
> >
> > Ant is going much more power than the emma plugin
> >
> >                 <!--
> >                    pour instrumenter l'appli web
> >                    mvn install -P instrument
> >                  -->
> >                 <profile>
> >                       <id>instrument</id>
> >                       <build>
> >                               <plugins>
> >                                       <plugin>
> >
> <artifactId>maven-antrun-plugin</artifactId>
> >                                     <executions>
> >                                        <execution>
> >                                          <phase>process-classes</phase>
> >                                                       <configuration>
> >                                                 <tasks>
> >                                                       <ant
> antfile="${basedir}/instrument_for_coverage.xml">
> >
>     <target name="instrument"/>
> >
> </ant>
> >                                                     </tasks>
> >                                           </configuration>
> >                                           <goals>
> >                                             <goal>run</goal>
> >                                           </goals>
> >                                         </execution>
> >                                       </executions>
> >                                 </plugin>
> >                                 </plugins>
> >                         </build>
> >                 </profile>
> >
> > And use the overwrite mode in the ant, then only your class are going to
> be instrumended if you active this option  :
> >
> > <target name="instrument" depends="init">
> >
> >     <echo>Instrumenting the classes</echo>
> >       <emma enabled="${emma.enabled}" >
> >       <instr instrpathref="ServeurJava.classpath"
> >              metadatafile="${metadatafile}"
> >              merge="true"
> >                        mode="overwrite"
> >       >
> >          <filter value="${emma.filter}" />
> >       </instr>
> >     </emma>
> >
> >   </target>
> >
> > Thus running
> >
> > Mvn package -P instrument
> >
> > produce an instrumented war
> >
> > And
> >
> > Mvn package
> >
> > Produce a regular one
> >
> > Good luck, emma rocks !!
> >
> >
> >
> >
> >
> > -----Message d'origine-----
> > De : [email protected] [mailto:[email protected]] Envoyé :
> > mercredi 18 mars 2009 15:32 À : [email protected] Objet : how to
> > EMMA-instrument dependencies
> >
> > Hi,
> >
> > I have a Maven 2 project that depends on a number of other Maven 2
> projects that are built locally and installed into the local repository.
> > I need to instrument some of the dependency JARs with the EMMA
> > coverage tool and have Maven run unit tests against instrumented JARs
> > rather than the original dependencies. The emma-maven-plugin
> > (http://mojo.codehaus.org/emma-maven-plugin) does not seem to be of much
> help as it does not seem to support this scenario.
> >
> > Of course, it would be ideal if the emma-maven-plugin had support for
> this. In fact, the plugin has an 'instrumentationPaths' parameter which can
> be used to instrument classes from arbitrary directories; so I think
> dependencies can be copied, unpacked, instrumented this way and passed to
> maven-surefire-plugin via the 'classesDirectory' parameter; but in this case
> both the instrumented classes and original dependencies both appear on the
> test classpath, which sounds wrong.
> >
> > Actually, I can bypass emma-maven-plugin and run EMMA instrumentor via
> exec-maven-plugin, but again, it looks like the only way to pass the
> instrumented classes to surefire is via the 'classesDirectory' or
> 'additionalClasspathElements' parameter, which is the same problem as above,
> which makes me think this is not solely emma-maven-plugin's problem (hence
> posting to this list).
> >
> > What would be the right Maven way to achieve the goal? I am new to Maven
> so I am sorry if I am missing something obvious. I spent several days trying
> to find a solution, to no success.
> >
> > In fact, I have some control over the dependency projects so I think I
> can build them so that the resulting JARs will contain instrumented classes
> (or I can instrument JARs separately and 'install:install-file'
> > them as separate components), but this is undesirable.
> >
> > I hope I am making sense.
> >
> > Thank you,
> > Vasiliy
> >
> >
> >
> > ---------------------------------------------------------------------
> > To unsubscribe, e-mail: [email protected]
> > For additional commands, e-mail: [email protected]
> >
> >
> > ---------------------------------------------------------------------
> > To unsubscribe, e-mail: [email protected]
> > For additional commands, e-mail: [email protected]
> >
>
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: [email protected]
> For additional commands, e-mail: [email protected]
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: [email protected]
> For additional commands, e-mail: [email protected]
>
>

Reply via email to