DefaultVersionSelectorSchemeTest.groovy

Clone Tools
  • last updated a few seconds ago
Constraints
Constraints: committers
 
Constraints: files
Constraints: dates
Remove unnecessary @Unroll annotations from "dependencyManagement"

    • -4
    • +0
    ./DefaultVersionSelectorSchemeTest.groovy
  1. … 160 more files in changeset.
Update behaviour for exclude upper bound in range

The upper bound of a version range, when it is an exclusion, now acts as

a smart prefix. Versions that were excluded before remain excluded. In

addition, versions that start with the upper bound are also excluded.

This resolves the unexpected case where 2.0-dev1 is included when the

upper bound is 2.0[.

Fixes #13050

    • -1
    • +2
    ./DefaultVersionSelectorSchemeTest.groovy
  1. … 7 more files in changeset.
Update behaviour for exclude upper bound in range

The upper bound of a version range, when it is an exclusion, now acts as

a smart prefix. Versions that were excluded before remain excluded. In

addition, versions that start with the upper bound are also excluded.

This resolves the unexpected case where 2.0-dev1 is included when the

upper bound is 2.0[.

Fixes #13050

    • -1
    • +2
    ./DefaultVersionSelectorSchemeTest.groovy
  1. … 7 more files in changeset.
Inject FeaturePreviews in DefaultVersionComparator

This will enable to select which StaticVersionComparator to use based on

feature preview activation.

As a consequence, the VersionComparator becomes build scoped and has to

be injected instead of being instantiated in different places.

Issue #13050

    • -1
    • +2
    ./DefaultVersionSelectorSchemeTest.groovy
  1. … 26 more files in changeset.
Inject FeaturePreviews in DefaultVersionComparator

This will enable to select which StaticVersionComparator to use based on

feature preview activation.

As a consequence, the VersionComparator becomes build scoped and has to

be injected instead of being instantiated in different places.

Issue #13050

    • -1
    • +2
    ./DefaultVersionSelectorSchemeTest.groovy
  1. … 26 more files in changeset.
Inject FeaturePreviews in DefaultVersionComparator

This will enable to select which StaticVersionComparator to use based on

feature preview activation.

As a consequence, the VersionComparator becomes build scoped and has to

be injected instead of being instantiated in different places.

Issue #13050

    • -1
    • +2
    ./DefaultVersionSelectorSchemeTest.groovy
  1. … 26 more files in changeset.
Inject FeaturePreviews in DefaultVersionComparator

This will enable to select which StaticVersionComparator to use based on

feature preview activation.

As a consequence, the VersionComparator becomes build scoped and has to

be injected instead of being instantiated in different places.

Issue #13050

    • -1
    • +2
    ./DefaultVersionSelectorSchemeTest.groovy
  1. … 26 more files in changeset.
Inject FeaturePreviews in DefaultVersionComparator

This will enable to select which StaticVersionComparator to use based on

feature preview activation.

As a consequence, the VersionComparator becomes build scoped and has to

be injected instead of being instantiated in different places.

Issue #13050

    • -1
    • +2
    ./DefaultVersionSelectorSchemeTest.groovy
  1. … 26 more files in changeset.
Inject FeaturePreviews in DefaultVersionComparator

This will enable to select which StaticVersionComparator to use based on

feature preview activation.

As a consequence, the VersionComparator becomes build scoped and has to

be injected instead of being instantiated in different places.

Issue #13050

    • -1
    • +2
    ./DefaultVersionSelectorSchemeTest.groovy
  1. … 26 more files in changeset.
Inject FeaturePreviews in DefaultVersionComparator

This will enable to select which StaticVersionComparator to use based on

feature preview activation.

As a consequence, the VersionComparator becomes build scoped and has to

be injected instead of being instantiated in different places.

Issue #13050

    • -1
    • +2
    ./DefaultVersionSelectorSchemeTest.groovy
  1. … 26 more files in changeset.
Inject FeaturePreviews in DefaultVersionComparator

This will enable to select which StaticVersionComparator to use based on

feature preview activation.

As a consequence, the VersionComparator becomes build scoped and has to

be injected instead of being instantiated in different places.

Issue #13050

    • -1
    • +2
    ./DefaultVersionSelectorSchemeTest.groovy
  1. … 22 more files in changeset.
Treat single version ranges as "required"

This commit changes the way Gradle handles single version

ranges to treat them like Maven does: they are effectively

"exact" version selectors (not strictly).

Fixes #11185

    • -4
    • +17
    ./DefaultVersionSelectorSchemeTest.groovy
  1. … 4 more files in changeset.
Treat single version ranges as "required"

This commit changes the way Gradle handles single version

ranges to treat them like Maven does: they are effectively

"exact" version selectors (not strictly).

Fixes #11185

    • -4
    • +17
    ./DefaultVersionSelectorSchemeTest.groovy
  1. … 6 more files in changeset.
Treat single version ranges as "required"

This commit changes the way Gradle handles single version

ranges to treat them like Maven does: they are effectively

"exact" version selectors (not strictly).

Fixes #11185

    • -4
    • +17
    ./DefaultVersionSelectorSchemeTest.groovy
  1. … 6 more files in changeset.
Support prefix and latest selectors in strictly

This was basically just about adding test coverage.

The assumed behavior is that `latest.release` would

accept _any_ version when used in a reject selector,

so that we can iterate on rejected versions until

we find a match.

    • -19
    • +3
    ./DefaultVersionSelectorSchemeTest.groovy
  1. … 5 more files in changeset.
Support prefix and latest selectors in strictly

This was basically just about adding test coverage.

The assumed behavior is that `latest.release` would

accept _any_ version when used in a reject selector,

so that we can iterate on rejected versions until

we find a match.

    • -19
    • +3
    ./DefaultVersionSelectorSchemeTest.groovy
  1. … 5 more files in changeset.
Strict constraints now reject both lower and higher versions

A strict version constraint is implemented by preferring any version in the

declared range, and rejecting other versions. Rejecting of lower versions happens

naturally through the `LatestModuleConflictResolver`.

With this change, the rejection of lower versions becomes explicit, instead of

building a range higher than a strict constraint and rejecting that, we instead

create a 'inverted' VersionSelector that will matches the exact complement of

the `strictly` version selector, and reject that.

This change will later permit us to remove the implicit 'reject all lower'

constraint in our resolution engine.

Strict version constraints are now rendered as 'strictly' in error messages.

    • -10
    • +6
    ./DefaultVersionSelectorSchemeTest.groovy
  1. … 9 more files in changeset.
Improve readability of reject selectors for strict constraints

- Use Maven-style open ranges `(,)` instead of Ivy-style `],[`

- Concatenate multiple ranges with `&` instead of `-`

    • -10
    • +10
    ./DefaultVersionSelectorSchemeTest.groovy
  1. … 7 more files in changeset.
Revert changes from PR5628

This reverts the following commits:

10a25358953dfb28b09cf04356945517d5cc560e

54d19a74ab2d29673219d9c6d27388b93c55eada

d0eb19dbf28df1a108742ba177eda56301e1fab4

dcf5f65b49db17fb625ecab7498b060ab8191b9b

99847ad25f9e0ab7b1f65beb976dcb59cbadd1b9

f2f412141e1ab29e0cfafc72fd962ae645508720

99b45c8d7f0e94d2d41c43c731ca1329d6f07606

    • -10
    • +10
    ./DefaultVersionSelectorSchemeTest.groovy
  1. … 40 more files in changeset.
Cache parsing of version strings

The version parser is by far the largest contributor to garbage created during the

resolution of a large dependency graph. This commit creates a build scope version

parser which is shared and caches the result of parsing, avoiding the creation of

a significant number of arrays.

    • -1
    • +1
    ./DefaultVersionSelectorSchemeTest.groovy
  1. … 45 more files in changeset.
Improve readability of reject selectors for strict constraints

- Use Maven-style open ranges `(,)` instead of Ivy-style `],[`

- Concatenate multiple ranges with `&` instead of `-`

    • -10
    • +10
    ./DefaultVersionSelectorSchemeTest.groovy
  1. … 7 more files in changeset.
Improve readability of reject selectors for strict constraints

- Use Maven-style open ranges `(,)` instead of Ivy-style `],[`

- Concatenate multiple ranges with `&` instead of `-`

    • -10
    • +10
    ./DefaultVersionSelectorSchemeTest.groovy
  1. … 7 more files in changeset.
Replace `NotVersionSelector` with range selectors

This commit removes the `NotVersionSelector`, which was basically inverting the selection of another selector,

in favor of computed ranges. This is done so that the semantics of rejecting are actually meaningful. This also

implies that not all version strings can be used as "strict".

    • -6
    • +49
    ./DefaultVersionSelectorSchemeTest.groovy
  1. … 5 more files in changeset.
Revert "Rename `VersionSelector` to `VersionMatcher`"

This reverts commit 5046159bfc739c3d86c59411dd4b4a1c36786b81. The Nebula resolution rules plugin makes use of internal classes,

and broke with this refactoring.

    • -0
    • +81
    ./DefaultVersionSelectorSchemeTest.groovy
  1. … 67 more files in changeset.
Rename `VersionSelector` to `VersionMatcher`

This refactor is introduced to reduce confusion: the selector corresponds to

the requested version, which can be an exact version number, a range, or

anything else. The matchers, on the other hand, match a selector. In other

words, the selector is a specification, while the matcher does the actual

work of matching.

    • -81
    • +0
    ./DefaultVersionSelectorSchemeTest.groovy
  1. … 69 more files in changeset.
GRADLE-3334: Handle version ranges like [1.0] in a gradle dependency

    • -0
    • +2
    ./DefaultVersionSelectorSchemeTest.groovy
  1. … 3 more files in changeset.
Inject VersionComparator into the various placed it is required, rather than using a static comparator. Also moved a couple of services out of the maven plugins and tasks.

    • -1
    • +1
    ./DefaultVersionSelectorSchemeTest.groovy
  1. … 27 more files in changeset.
Renamed VersionMatcher to VersionSelectorScheme

    • -0
    • +79
    ./DefaultVersionSelectorSchemeTest.groovy
  1. … 29 more files in changeset.