(I am trying to confirm my understanding of the diff: https://github.com/apache/maven-integration-testing/compare/master...MNG-2199
On 30 January 2017 at 22:19, Stephen Connolly < [email protected]> wrote: > 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=54f8d7b92a1fbf1 >> ed4837a5e79b48cf23ce2dc25;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=commi >> t;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=2348fbc31805560fdd6e1a68dbf7b52e00e0e992> >> >> [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] >> >> >
