[
https://jira.codehaus.org/browse/MPH-78?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Robert Scholte updated MPH-78:
------------------------------
Component/s: effective-pom
> effective-pom creates invalid xml because it outputs the Resource.mergeId
> -------------------------------------------------------------------------
>
> Key: MPH-78
> URL: https://jira.codehaus.org/browse/MPH-78
> Project: Maven 2.x Help Plugin
> Issue Type: Bug
> Components: effective-pom
> Affects Versions: 2.1.1
> Reporter: Jacob Robertson
> Priority: Minor
>
> My organization would like to use the output from the effective-pom goal as
> part of the deployed meta data in an ear. This is useful for some of our
> scripting that needs properties and dependencyManagement versions resolved
> (i.e. from parent poms), and the pom that is currently put in the ear does
> not have that information. However, once we start generating the
> effective-pom.xml file, any tool that uses xml validation will notice that
> the mergeId tag is invalid. This is especially annoying in eclipse, as it
> marks the whole project as having an error due to the effective-pom.xml file
> being in the target directory under the eclipse project. We can of course
> turn the xml validation off for the eclipse project or folder, but this is
> one additional step to ask a multitude of developers to take in configuring
> their projects.
> I notice that the EffectivePomMojo class has a "cleanModel" method that
> appears to sort the properties. Just to play with this, I added a
> "cleanResources" method that calls Resource.setMergeId(null). This technique
> does in fact work as I hoped for outputting the xml without the mergeId, but
> it requires upgrading this plugin to use at least Maven 2.0.10.
> {code}
> private static void cleanModel( Model pom )
> {
> Properties properties = new SortedProperties();
> properties.putAll( pom.getProperties() );
> pom.setProperties( properties );
> cleanResources( pom.getBuild().getResources() );
> cleanResources( pom.getBuild().getTestResources() );
> }
> private static void cleanResources( List resources )
> {
> for ( Iterator i = resources.iterator(); i.hasNext(); )
> {
> Resource resource = (Resource) i.next();
> resource.setMergeId( null );
> }
> }
> {code}
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators:
https://jira.codehaus.org/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira