I find it hard to follow your explanations as to what the change is, but I think I understand...
could you try and rephrase what your change is because the current phrasing is rather more alarming than I suspect it is On 30 January 2017 at 18:34, Christian Schulte <[email protected]> wrote: > Hi, > > I'd like to merge the MNG-2199 branch to master for 3.5.0. I think this > should really go into 3.5.0 and not 3.5.1. Anyone second that? I tried > to explain things as much as possible in the commit messages. There also > is one IT which needs to be deprecated because it is testing an invalid > project to be supported which never should have worked. I copy the > commit messages here in case the links stop working sometime in the > future. When reviewing the deprecated IT > (testValidLocalParentVersionRange), keep in mind that this multi module > project > > <https://git-wip-us.apache.org/repos/asf?p=maven- > integration-testing.git;a=tree;f=core-it-suite/src/test/ > resources/mng-2199-parent-version-range/local-parent;h= > 54f8d7b92a1fbf1ed4837a5e79b48cf23ce2dc25;hb=HEAD> > > more precisely this module/pom.xml file > > <https://git-wip-us.apache.org/repos/asf?p=maven- > integration-testing.git;a=blob;f=core-it-suite/src/test/ > resources/mng-2199-parent-version-range/local-parent/module/pom.xml;h= > 85769ce5af3a46f57ff4f15bb3faa366278d4cec;hb=HEAD> > > cannot be build with any Maven version prior to 3.3.0 although the test > class declared [3.2.2,) as the range to test. You cannot build that > project using anything < 3.3.0 and it should not be possible to build > that project with anything > 3.3.9 again. So that there are only two > Maven releases out there supporting that project. That's why I think > this should be fixed in 3.5.0 (ASAP) so that the number of Maven > versions suporting that is kept as small as possible (2 - namely 3.3.0 > and 3.3.9). When in doubt, just try this with various Maven versions < > 3.3.0. > > cd > maven-integration-testing/core-it-suite/src/test/ > resources/mng-2199-parent-version-range/local-parent/module > > mvn verify > > > Maven: > ------ > > <https://git-wip-us.apache.org/repos/asf?p=maven.git;a=commit;h= > 85e96e3f386b6097750e74f3a07327ca8dbb2b9b> > > [MNG-2199] Support version ranges in parent elements > > o Updated to fix parent version range resolution broken since 3.2.3 and > to remove parent version range resolution logic obsolete since Maven > 3.2.3 which changed the initialization of MavenProject instances. > o Updated local parent resolution to behave the same way remote parent > resolution behaves. When referencing a parent using version ranges, > inheriting the version or using version expressions should not be > supported. It has been implemented that way for remote parent resolution > as it got introduced in Maven 3.2.2. For local parent resolution the > version in parent declarations had been ignored completely as of Maven > 3.3.0 due to commit be3fb200326208ca4b8c41ebf16d5ae6b8049792 removing > all local parent version validation. Work on fixing this is tracked by > MNG-5840 released with Maven 3.3.9. This commit adds the final missing > bits to make local and remote parent resolution behave the same way as > much as possible. As an exception, remote parent resolution still is a > bit more strict than local parent resolution due to a different API in > use. When resolving a parent from a repository using version ranges, the > ModelBuilder verifies the range in use to declare an upper bound. When > resolving a parent locally using version ranges, those ranges are not > required to declare an upper bound because the API in use does not > support querying that. Authoring a POM relying on this difference should > be considered a bug. > o Added test cases to maven-core testing parent version range resolution > for local and remote parent models. > > Integration tests: > ------------------ > > <https://git-wip-us.apache.org/repos/asf?p=maven- > integration-testing.git;a=commit;h=2348fbc31805560fdd6e1a68dbf7b5 > 2e00e0e992> > > [MNG-2199] Support version ranges in parent elements > > o Updated the ITs to correctly detect parent resolution failures. Maven > does not fail the build when it cannot resolve a parent but instead logs > a warning message. The ITs never checked the log to contain the warning > messages but instead asserted the build to fail when a parent cannot be > resolved. The only Maven version supporting parent version ranges is > Maven 3.2.2 due to this. > o Deprecated an incorrect test case for local parent resolution. Maven > ignored the '<version>' in '<parent>' elements for local parent > resolution. The core has been updated across various versions to > eliminate any differences between local and remote parent resolution. > When local parent resolution had been updated to match remote parent > resolution, an existing IT started to fail testing incorrect behaviour. > As soon as the '<parent>' is referenced using a version range, the > '<version>' element in the project becomes mandatory and does no longer > support using an expression any more. This has been that way for remote > parent resolution from day one. It has never been supported to inherit a > version from a parent when referencing that parent using a version range > intentionally. > o Updated to account for updated error messages. > > Regards, > -- > Christian > > --------------------------------------------------------------------- > To unsubscribe, e-mail: [email protected] > For additional commands, e-mail: [email protected] > >
