[ 
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

        

Reply via email to