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]
>
>

Reply via email to