[ https://issues.apache.org/jira/browse/MENFORCER-477?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Peter De Maeyer updated MENFORCER-477: -------------------------------------- Affects Version/s: 3.3.0 > failWhenParentIsSnapshot does not respect onlyWhenRelease > --------------------------------------------------------- > > Key: MENFORCER-477 > URL: https://issues.apache.org/jira/browse/MENFORCER-477 > Project: Maven Enforcer Plugin > Issue Type: Bug > Affects Versions: 3.2.1, 3.3.0 > Reporter: Peter De Maeyer > Priority: Major > > I have a snapshot project that has a snapshot parent. > At release time, I want to use the enforcer plugin to make sure the release > version of my project only depends on release versions, including the parent, > so I use {{failWhenParentIsSnapshot=true}}. > For snapshot versions of my project, I want to _allow_ snapshot dependencies > including snapshot parent, so I use {{onlyWhenRelease=true}} to disable the > enforcer for snapshot versions. > *Expected:* my snapshot project build succeeds with a snapshot parent. > *Actual:* my snapshot project build _fails_ with a snapshot parent, despite > {{onlyWhenRelease=true}}. > *Workaround:* disable {{failWhenParentIsSnapshot}}, but then I lose the > enforcement on the parent when I make a release of my project. > I suspect that {{failWhenParentIsSnapshot}} does not take {{onlyWhenRelease}} > into account. > The intuitive fix for me would be that the combination of both options > behaves as expected. > I imagine that maybe it was a design choice to keep both options completely > independent of each other, so an acceptable alternative for me would be to > introduce yet another option, e.g. {{onlyWhenParentIsRelease}} that behaves > similar to {{onlyWhenRelease}} but applies to the parent only. > {noformat} > [WARNING] > [WARNING] Some problems were encountered while building the effective settings > [WARNING] Unrecognised tag: 'properties' (position: START_TAG seen > ...</servers>\n\t<properties>... @13:14) @ /home/peter/.m2/settings.xml, > line 13, column 14 > [WARNING] > [INFO] Scanning for projects... > [WARNING] > [WARNING] Some problems were encountered while building the effective model > for su.pernova:assertions-parent:pom:1.1.0-SNAPSHOT > [WARNING] 'build.pluginManagement.plugins.plugin.(groupId:artifactId)' must > be unique but found duplicate declaration of plugin > org.apache.maven.plugins:maven-failsafe-plugin @ > su.pernova:bom:1.1.0-SNAPSHOT, > /home/peter/.m2/repository/su/pernova/bom/1.1.0-SNAPSHOT/bom-1.1.0-SNAPSHOT.pom, > line 263, column 17 > [WARNING] > [WARNING] It is highly recommended to fix these problems because they > threaten the stability of your build. > [WARNING] > [WARNING] For this reason, future Maven versions might no longer support > building such malformed projects. > [WARNING] > [INFO] Inspecting build with total of 5 modules... > [INFO] Installing Nexus Staging features: > [INFO] ... total of 5 executions of maven-deploy-plugin replaced with > nexus-staging-maven-plugin > [INFO] > ------------------------------------------------------------------------ > [INFO] Reactor Build Order: > [INFO] > [INFO] Supernova Assertions - Parent > [pom] > [INFO] Supernova Assertions - Main > [jar] > [INFO] Supernova Assertions - JUnit 4 > [jar] > [INFO] Supernova Assertions - JUnit 5 > [jar] > [INFO] Supernova Assertions - JUnit 4 + JUnit 5 > [jar] > [INFO] > [INFO] --------------------< su.pernova:assertions-parent > >-------------------- > [INFO] Building Supernova Assertions - Parent 1.1.0-SNAPSHOT > [1/5] > [INFO] --------------------------------[ pom > ]--------------------------------- > [INFO] > [INFO] --- maven-clean-plugin:3.2.0:clean (default-clean) @ assertions-parent > --- > [INFO] > [INFO] --- flatten-maven-plugin:1.3.0:clean (flatten-clean) @ > assertions-parent --- > [INFO] > [INFO] --- maven-enforcer-plugin:3.2.1:enforce > (enforce-no-snapshots-in-releases) @ assertions-parent --- > [INFO] > ------------------------------------------------------------------------ > [INFO] Reactor Summary for Supernova Assertions - Parent 1.1.0-SNAPSHOT: > [INFO] > [INFO] Supernova Assertions - Parent ...................... FAILURE [ 0.464 > s] > [INFO] Supernova Assertions - Main ........................ SKIPPED > [INFO] Supernova Assertions - JUnit 4 ..................... SKIPPED > [INFO] Supernova Assertions - JUnit 5 ..................... SKIPPED > [INFO] Supernova Assertions - JUnit 4 + JUnit 5 ........... SKIPPED > [INFO] > ------------------------------------------------------------------------ > [INFO] BUILD FAILURE > [INFO] > ------------------------------------------------------------------------ > [INFO] Total time: 1.023 s > [INFO] Finished at: 2023-04-06T21:12:23+02:00 > [INFO] > ------------------------------------------------------------------------ > [ERROR] Failed to execute goal > org.apache.maven.plugins:maven-enforcer-plugin:3.2.1:enforce > (enforce-no-snapshots-in-releases) on project assertions-parent: > [ERROR] Rule 0: org.apache.maven.enforcer.rules.dependency.RequireReleaseDeps > failed with message: > [ERROR] Parent Cannot be a snapshot: su.pernova:bom:pom:1.1.0-SNAPSHOT > [ERROR] -> [Help 1] > [ERROR] > [ERROR] To see the full stack trace of the errors, re-run Maven with the -e > switch. > [ERROR] Re-run Maven using the -X switch to enable full debug logging. > [ERROR] > [ERROR] For more information about the errors and possible solutions, please > read the following articles: > [ERROR] [Help 1] > http://cwiki.apache.org/confluence/display/MAVEN/MojoExecutionException > {noformat} -- This message was sent by Atlassian Jira (v8.20.10#820010)