[ https://issues.apache.org/jira/browse/MNG-8306?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Guillaume Nodet reassigned MNG-8306: ------------------------------------ Assignee: Guillaume Nodet > combine.children=append duplicating options > ------------------------------------------- > > Key: MNG-8306 > URL: https://issues.apache.org/jira/browse/MNG-8306 > Project: Maven > Issue Type: Bug > Components: Profiles > Affects Versions: 4.0.0-beta-4 > Environment: Apache Maven 4.0.0-beta-4 > (697c543b4e3bbec1b99e9d4d1ee8e0302e748f09) > Maven home: /home/dan1st/dev/tools/maven > Java version: 21.0.2, vendor: Oracle Corporation, runtime: > /usr/lib/jvm/graal21 > Default locale: en_US, platform encoding: UTF-8 > OS name: "linux", version: "6.11.0-8-generic", arch: "amd64", family: "unix" > Reporter: Daniel Schmid > Assignee: Guillaume Nodet > Priority: Major > Fix For: 4.0.0-beta-5 > > Attachments: job-logs.txt, pom.xml > > > if combine.children="append" is set in some profile on an element with > multiple children, these children are duplicated. > For example, if <compilerArgs> is set with combine.children="append" for the > maven-compiler-plugin in a profile with > {code:java} > <arg>-Xmaxerrs</arg> > <arg>100</arg> > <arg>-Xmaxwarns</arg> > <arg>100</arg> {code} > then executing the build with that profile results in the following CLI > arguments for javac: > > {code:none} > [DEBUG] Command line options: > [DEBUG] -d /home/runner/work/maven-repro/maven-repro/target/classes > -classpath /home/runner/work/maven-repro/maven-repro/target/classes: > -sourcepath > /home/runner/work/maven-repro/maven-repro/src/main/java:/home/runner/work/maven-repro/maven-repro/target/generated-sources/annotations: > -s > /home/runner/work/maven-repro/maven-repro/target/generated-sources/annotations > -g --release 17 -encoding UTF-8 -Xmaxerrs 100 100 -Xmaxwarns -Xmaxerrs 100 > -Xmaxwarns 100 -XDuseUnsharedTable=true{code} > > > Since javac doesn't know what to do with "-Xmaxerrs 100 100", it fails to > build. > > An example of such a profile would be the following: > {code:xml} > <profile> > <id>test</id> > <build> > <plugins> > <plugin> > <groupId>org.apache.maven.plugins</groupId> > <artifactId>maven-compiler-plugin</artifactId> > <version>3.13.0</version> > <configuration> > <compilerArgs combine.children="append"> > <arg>-Xmaxerrs</arg> > <arg>100</arg> > <arg>-Xmaxwarns</arg> > <arg>100</arg> > </compilerArgs> > </configuration> > </plugin> > </plugins> > </build> > </profile> {code} > If a project like that is run with > {code:none} > mvn clean verify -Ptest {code} > on Maven 4, this will result in the above CLI arguments and a build failure. > Both the full pom.xml as well as the build output are included as attachments. > A full reproducer using GitHub Actions can be found here: > [https://github.com/danthe1st/maven-repro/tree/duplicate-compiler-arg] > Build output: > [https://github.com/danthe1st/maven-repro/actions/runs/11280962017/job/31375110882] > Build output with Maven 3 (works): > [https://github.com/danthe1st/maven-repro/actions/runs/11280962017/job/31375110610] > -- This message was sent by Atlassian Jira (v8.20.10#820010)