You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@maven.apache.org by "Liana Lupsa (Jira)" <ji...@apache.org> on 2019/11/13 10:11:00 UTC

[jira] [Comment Edited] (MNG-6801) MavenXpp3Writer doesn't retain structure

    [ https://issues.apache.org/jira/browse/MNG-6801?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16973210#comment-16973210 ] 

Liana Lupsa edited comment on MNG-6801 at 11/13/19 10:10 AM:
-------------------------------------------------------------

Well I do think it's a bug because the output is not consistent.  And I it's not only my issue - this problem has been reported by several people - 

[https://stackoverflow.com/questions/22010062/retain-project-structureelement-order-while-writing-pom-file-using-mavenxpp3wr]
Asked 5 years, 8 months ago  Viewed 90 times
Will someone from apache investigate it ? 


was (Author: liana.lupsa1):
Well I do think it's a bug because the output is not consistent.  And I it's not only my issue - this problem has been reported by several people - 

[https://stackoverflow.com/questions/22010062/retain-project-structureelement-order-while-writing-pom-file-using-mavenxpp3wr]

Will someone from apache investigate it ? 

> MavenXpp3Writer doesn't retain structure
> ----------------------------------------
>
>                 Key: MNG-6801
>                 URL: https://issues.apache.org/jira/browse/MNG-6801
>             Project: Maven
>          Issue Type: Bug
>          Components: Plugins and Lifecycle
>            Reporter: Liana Lupsa
>            Priority: Major
>
> Context: 
>  We are using pipeline-utility-steps-plugin which is a jenkins plugin which uses the following classes:
>  [https://github.com/jenkinsci/pipeline-utility-steps-plugin/blob/master/src/main/java/org/jenkinsci/plugins/pipeline/utility/steps/maven/ReadMavenPomStep.java].
>  [https://github.com/jenkinsci/pipeline-utility-steps-plugin/blob/master/src/main/java/org/jenkinsci/plugins/pipeline/utility/steps/maven/WriteMavenPomStep.java#L32]
>  In our Jenkins file we have a stage that overwrites the version in the pom with the computed version and for this we need pipeline-utility-steps-plugin.
> The problem is that the tags in the pom.xml are never retained in the same order. The elements in the pom file are completelly rearranged.
>  For consistency reasons and idempotency we need to retain the structure and simply update one line.
> Status:
>  After evaluating the plugin code we noticed that it uses: 
>  [https://github.com/jenkinsci/pipeline-utility-steps-plugin/blob/master/src/main/java/org/jenkinsci/plugins/pipeline/utility/steps/maven/WriteMavenPomStep.java#L32]
>  and imports:
>  import org.apache.maven.model.io.xpp3.MavenXpp3Writer;
>  with [https://maven.apache.org/ref/3.3.9/maven-model/apidocs/src-html/org/apache/maven/model/io/xpp3/MavenXpp3Writer.html]
>  which uses 
>  XmlSerializer serializer = new MXSerializer();
>  [https://github.com/sonatype/plexus-utils/blob/master/src/main/java/org/codehaus/plexus/util/xml/pull/MXSerializer.java]
>  We think that maven XmlSerializer causes this problem.
> Example of the pom.xml changes:
> first build trigger:
> run 1:
> <properties>
>  <javax.version>3.1.0</javax.version>
>  <mockito.version>1.10.19</mockito.version>
>  <hamcrest.version>2.1</hamcrest.version>
>  <openam.version>6.5.1</openam.version>
>  <lombok.version>1.18.6</lombok.version>
>  <junit.version>4.12</junit.version>
>  </properties>
> run 2:
> <properties>
>  <mockito.version>1.10.19</mockito.version>
>  <javax.version>3.1.0</javax.version>
>  <hamcrest.version>2.1</hamcrest.version>
>  <openam.version>6.5.1</openam.version>
>  <lombok.version>1.18.6</lombok.version>
>  <junit.version>4.12</junit.version>
>  </properties>
> ​and run 3: 
> <properties>
>  <javax.version>3.1.0</javax.version>
>  <mockito.version>1.10.19</mockito.version>
>  <hamcrest.version>2.1</hamcrest.version>
>  <openam.version>6.5.1</openam.version>
>  <lombok.version>1.18.6</lombok.version>
>  <junit.version>4.12</junit.version>
>  </properties>



--
This message was sent by Atlassian Jira
(v8.3.4#803005)