Clone Tools
  • last updated a few seconds ago
Constraints
Constraints: committers
 
Constraints: files
Constraints: dates
Retain separate versions for 'strictly' and 'prefers'

Previously, a `strictly` version constraint was translated into a separate

'prefer' and 'reject' constraint: this is how it was processed internally,

as well as how it was represented in a `.module` file.

With this change, strict version constraints are logically retained as a

first class version constraint:

- `.module` files can have versions declared with `strictly`

- Strict constraints are only translated to a reject version selector

as part of resolution (not when parsing the constraint)

    • -12
    • +15
    ./DefaultImmutableVersionConstraintTest.groovy
    • -34
    • +7
    ./DefaultMutableVersionConstraintTest.groovy
    • -0
    • +60
    ./DefaultResolvedVersionConstraintTest.groovy
  1. … 23 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 `-`

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

This reverts the following commits:

10a25358953dfb28b09cf04356945517d5cc560e

54d19a74ab2d29673219d9c6d27388b93c55eada

d0eb19dbf28df1a108742ba177eda56301e1fab4

dcf5f65b49db17fb625ecab7498b060ab8191b9b

99847ad25f9e0ab7b1f65beb976dcb59cbadd1b9

f2f412141e1ab29e0cfafc72fd962ae645508720

99b45c8d7f0e94d2d41c43c731ca1329d6f07606

    • -7
    • +7
    ./DefaultMutableVersionConstraintTest.groovy
  1. … 40 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 `-`

    • -7
    • +7
    ./DefaultMutableVersionConstraintTest.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 `-`

    • -7
    • +7
    ./DefaultMutableVersionConstraintTest.groovy
  1. … 7 more files in changeset.
Add unit test to illustrate the behavior when an empty list of rejects is used

    • -0
    • +13
    ./DefaultMutableVersionConstraintTest.groovy
  1. … 1 more file in changeset.
Implement `rejectAll` on mutable version constraint

This commit leverages the prefer/reject infrastructure of version constraints

to implement incompatible module constraints. Internally, the rejection

constraint is implemented as:

- prefer empty version (aka, tells no preference)

- reject `+` (which is "reject any version starting with an empty string")

    • -0
    • +13
    ./DefaultMutableVersionConstraintTest.groovy
  1. … 8 more files in changeset.
Add a `reject` method to `MutableVersionConstraint`

This is the first step towards supporting rejected versions. It will allow the use of `reject` in the DSL,

but support is not complete yet.

    • -0
    • +44
    ./DefaultMutableVersionConstraintTest.groovy
  1. … 2 more files in changeset.
Ensure MutableVersionConstraint does not have null preferredVersion

While the interface for `VersionConstraint` declared that version was

`@Nullable`, in reality we prevented this when constructing an immutable

version constraint. This meant that `MutableVersionConstraint.asImmutable()`

converted null values to empty strings.

This changes the contract so that `VersionConstraint.preferredVersion` is no

longer `@Nullable`, and an empty string is consistently used to define a

'missing' preferred version, for all implementations of `VersionConstraint`.

    • -0
    • +33
    ./DefaultImmutableVersionConstraintTest.groovy
  1. … 6 more files in changeset.
Add code coverage for `DefaultImmutableVersionConstraint`

Issue #3305

    • -0
    • +101
    ./DefaultImmutableVersionConstraintTest.groovy
  1. … 1 more file in changeset.
Add basic test coverage for `DefaultMutableVersionConstraint`

    • -0
    • +100
    ./DefaultMutableVersionConstraintTest.groovy