Details
-
Type:
New Feature
-
Status:
Open
-
Priority:
Major
-
Resolution: Unresolved
-
Affects Version/s: 2.3
-
Fix Version/s: None
-
Labels:None
-
Patch Submitted:Yes
-
Number of attachments :
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>
Issue Links
- is duplicated by
-
MNG-3147
No component for RAR packaging projects in components.xml
-
- is related to
-
MNGECLIPSE-425
Rar dependencies cause failure to build project
-
- is superceded by
-
MNG-3497
rar, par and ejb3 archives should not be added to classpath
-
While the original bug for RAR has been fixed the same problem exists for MAR files that can be created using the axis2-mar-maven-plugin. The original fix (to change maven) works for core plugins but not for every generic package type.