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

Reply via email to