Details
-
New Feature
-
Status: Closed
-
Major
-
Resolution: Won't Fix
-
2.3
-
None
-
None
-
Patch
Description
For a project with packaging "rar" the codehaus maven plugin for Cobertura does not work.
During instrumentation the following message is displayed:
"Not executing cobertura:instrument as the project is not a Java classpath-capable package"
The reason for this is that in the CoberturaInstrumentMojo.execute() the code checks which language that the artifact is implemented in, like this:
ArtifactHandler artifactHandler = project.getArtifact().getArtifactHandler();
if ( !"java".equals( artifactHandler.getLanguage() ) )
Looking at the components.xml in the Maven sources, we find that the "rar" packaging is not specified at all, meaning that it will be handled with the DefaultArtifactHandler and all properties set to null, including the language property.
This can be fixed with the following addition to components.xml:
<components>
....
<component>
<role>org.apache.maven.artifact.handler.ArtifactHandler</role>
<role-hint>rar</role-hint>
<implementation>org.apache.maven.artifact.handler.DefaultArtifactHandler</implementation>
<configuration>
<type>rar</type>
<extension>rar</extension>
<includesDependencies>true</includesDependencies>
<language>java</language>
<addedToClasspath>false</addedToClasspath>
</configuration>
</component>
...
</components>