Clone Tools
  • last updated a few minutes ago
Constraints
Constraints: committers
 
Constraints: files
Constraints: dates
Add API to disable dependency verification

This commit adds an API to disable verification on a specific

configuration (using `resolutionStrategy.disableDependencyVerification`.

This would let tasks which perform special dependency resolution (like

checking newer versions of dependencies) to pass even if dependency

verification is enabled.

    • -0
    • +16
    ./DefaultResolutionStrategySpec.groovy
  1. … 11 more files in changeset.
Add API to disable dependency verification

This commit adds an API to disable verification on a specific

configuration (using `resolutionStrategy.disableDependencyVerification`.

This would let tasks which perform special dependency resolution (like

checking newer versions of dependencies) to pass even if dependency

verification is enabled.

    • -0
    • +16
    ./DefaultResolutionStrategySpec.groovy
  1. … 11 more files in changeset.
Add API to disable dependency verification

This commit adds an API to disable verification on a specific

configuration (using `resolutionStrategy.disableDependencyVerification`.

This would let tasks which perform special dependency resolution (like

checking newer versions of dependencies) to pass even if dependency

verification is enabled.

    • -0
    • +16
    ./DefaultResolutionStrategySpec.groovy
  1. … 11 more files in changeset.
Add API to disable dependency verification

This commit adds an API to disable verification on a specific

configuration (using `resolutionStrategy.disableDependencyVerification`.

This would let tasks which perform special dependency resolution (like

checking newer versions of dependencies) to pass even if dependency

verification is enabled.

    • -0
    • +16
    ./DefaultResolutionStrategySpec.groovy
  1. … 11 more files in changeset.
Add API to disable dependency verification

This commit adds an API to disable verification on a specific

configuration (using `resolutionStrategy.disableDependencyVerification`.

This would let tasks which perform special dependency resolution (like

checking newer versions of dependencies) to pass even if dependency

verification is enabled.

    • -0
    • +16
    ./DefaultResolutionStrategySpec.groovy
  1. … 11 more files in changeset.
Add `failOnNonReproducibleResolution`

This method is a short-hand notation to disable both use

of dynamic and changing versions.

    • -0
    • +3
    ./DefaultResolutionStrategySpec.groovy
  1. … 8 more files in changeset.
Add `failOnNonReproducibleResolution`

This method is a short-hand notation to disable both use

of dynamic and changing versions.

    • -0
    • +3
    ./DefaultResolutionStrategySpec.groovy
  1. … 8 more files in changeset.
Add support for failing on changing versions

This commit adds the `failOnChangingVersions()` method on

the resolution strategy, which will make the build fail as

soon as a changing version is detected.

This is useful to prevent, for example, snapshots from

appearing in a dependency graph.

    • -0
    • +5
    ./DefaultResolutionStrategySpec.groovy
  1. … 5 more files in changeset.
Add support for failing on changing versions

This commit adds the `failOnChangingVersions()` method on

the resolution strategy, which will make the build fail as

soon as a changing version is detected.

This is useful to prevent, for example, snapshots from

appearing in a dependency graph.

    • -0
    • +5
    ./DefaultResolutionStrategySpec.groovy
  1. … 5 more files in changeset.
Introduce `failOnDynamicVersion`

This commit introduces a new dependency graph validation mode,

which will make sure that if dynamic versions are found in the

graph, then either they are superceded by another version (they

don't participate in selection) or the build should fail.

This means that, for example, if a version selector uses a

version range `[1.0, 2.0[`, the build will fail because in a

subsequent build the resolution may change.

However, if there are two selectors participating, say

`[1.0, 2.0[` and `1.5`, then we choose `1.5` because this version

is within the range. Even if newer versions are released, we

would _not_ change the resolution result.

    • -0
    • +7
    ./DefaultResolutionStrategySpec.groovy
  1. … 8 more files in changeset.
Introduce `failOnDynamicVersion`

This commit introduces a new dependency graph validation mode,

which will make sure that if dynamic versions are found in the

graph, then either they are superceded by another version (they

don't participate in selection) or the build should fail.

This means that, for example, if a version selector uses a

version range `[1.0, 2.0[`, the build will fail because in a

subsequent build the resolution may change.

However, if there are two selectors participating, say

`[1.0, 2.0[` and `1.5`, then we choose `1.5` because this version

is within the range. Even if newer versions are released, we

would _not_ change the resolution result.

    • -0
    • +7
    ./DefaultResolutionStrategySpec.groovy
  1. … 8 more files in changeset.
Add support for deactivateDependencyLocking to disable locking on configurations

Signed-off-by: Roberto Perez Alcolea <rperezalcolea@netflix.com>

    • -0
    • +8
    ./DefaultResolutionStrategySpec.groovy
  1. … 12 more files in changeset.
Remove parameter support in ComponentSelectionRules

Previous parameters are available on `ComponentSelection` instead.

    • -1
    • +1
    ./DefaultComponentSelectionRulesTest.groovy
  1. … 10 more files in changeset.
Remove parameter support in ComponentSelectionRules

Previous parameters are available on `ComponentSelection` instead.

    • -1
    • +1
    ./DefaultComponentSelectionRulesTest.groovy
  1. … 10 more files in changeset.
Remove parameter support in ComponentSelectionRules

Previous parameters are available on `ComponentSelection` instead.

    • -1
    • +1
    ./DefaultComponentSelectionRulesTest.groovy
  1. … 8 more files in changeset.
Remove parameter support in ComponentSelectionRules

Previous parameters are available on `ComponentSelection` instead.

    • -1
    • +1
    ./DefaultComponentSelectionRulesTest.groovy
  1. … 8 more files in changeset.
Remove parameter support in ComponentSelectionRules

Previous parameters are available on `ComponentSelection` instead.

    • -1
    • +1
    ./DefaultComponentSelectionRulesTest.groovy
  1. … 11 more files in changeset.
Remove parameter support in ComponentSelectionRules

Previous parameters are available on `ComponentSelection` instead.

    • -1
    • +1
    ./DefaultComponentSelectionRulesTest.groovy
  1. … 11 more files in changeset.
Remove parameter support in ComponentSelectionRules

Previous parameters are available on `ComponentSelection` instead.

    • -1
    • +1
    ./DefaultComponentSelectionRulesTest.groovy
  1. … 8 more files in changeset.
Add customizable capability conflict resolution

This commit disables the automatic capability conflict

resolution based on the highest version of a capability

and replaces it with a customizable resolution strategy.

This allows better control on how capability conflicts

are handled: before this change, capabilities could be

automatically upgraded just because they had a higher

version, which is not always acceptable.

The new API gives finer control by providing a DSL on

the resolution strategy which allows:

- explicitly setting "highest wins" strategy for a given

capability

- or choosing explicitly between a list of modules in conflict

for a given capability

It is possible to use a generic _all_ call to configure the

strategy independently of the capability.

Closes #9888

    • -1
    • +1
    ./DefaultResolutionStrategySpec.groovy
  1. … 19 more files in changeset.
Add customizable capability conflict resolution

This commit disables the automatic capability conflict

resolution based on the highest version of a capability

and replaces it with a customizable resolution strategy.

This allows better control on how capability conflicts

are handled: before this change, capabilities could be

automatically upgraded just because they had a higher

version, which is not always acceptable.

The new API gives finer control by providing a DSL on

the resolution strategy which allows:

- explicitly setting "highest wins" strategy for a given

capability

- or choosing explicitly between a list of modules in conflict

for a given capability

It is possible to use a generic _all_ call to configure the

strategy independently of the capability.

Closes #9888

    • -1
    • +1
    ./DefaultResolutionStrategySpec.groovy
  1. … 19 more files in changeset.
Add customizable capability conflict resolution

This commit disables the automatic capability conflict

resolution based on the highest version of a capability

and replaces it with a customizable resolution strategy.

This allows better control on how capability conflicts

are handled: before this change, capabilities could be

automatically upgraded just because they had a higher

version, which is not always acceptable.

The new API gives finer control by providing a DSL on

the resolution strategy which allows:

- explicitly setting "highest wins" strategy for a given

capability

- or choosing explicitly between a list of modules in conflict

for a given capability

It is possible to use a generic _all_ call to configure the

strategy independently of the capability.

Closes #9888

    • -1
    • +1
    ./DefaultResolutionStrategySpec.groovy
  1. … 19 more files in changeset.
Renamed `VersionSelectionReasons` -> `ComponentSelectionReasons`

    • -3
    • +3
    ./DefaultResolutionStrategySpec.groovy
  1. … 29 more files in changeset.
Remove unused field

    • -10
    • +3
    ./ModuleForcingResolveRuleSpec.groovy
  1. … 2 more files in changeset.
Deprecate extra parameters in ComponentSelectionRules

Since methods have been added on ComponentSelection, the logic for

detecting extra parameters in provided closures is now deprecated.

Fixes #6607

    • -13
    • +3
    ./DefaultComponentSelectionRulesTest.groovy
  1. … 12 more files in changeset.
Add accessors to ComponentSelection

The Groovy DSL gave access to ComponentMetadata and IvyModuleDescriptor

through the use of dynamic closure parameters.

These extra parameters are now available directly on the

ComponentSelection allowing access to them from the Action based API.

Note that this implies a slight semantical change, where rules using

closures would never see a null ComponentMetadata or IvyModuleDescriptor

while the API on ComponentSelection are effectively nullable.

Issue #6607

    • -9
    • +0
    ./DefaultComponentSelectionRulesTest.groovy
  1. … 6 more files in changeset.
Simplify construction of ModuleVersionSelector in unit tests

    • -4
    • +4
    ./DefaultResolutionStrategySpec.groovy
    • -28
    • +22
    ./ModuleForcingResolveRuleSpec.groovy
  1. … 12 more files in changeset.
Normalize `ModuleIdentifier`

This commit reworks the `ComponentModuleIdentifier`/`ComponentModuleSelector`/`ModuleVersionSelector`

classes to use `ModuleIdentifier` under the hood, instead of storing denormalized strings. This has

the advantage that we can reduce the use of the module identifier factory, which is called very

often during dependency resolution. Sharing instances reduces the need for conversions, and makes

comparisons faster.

    • -1
    • +4
    ./DefaultComponentSelectionRulesTest.groovy
    • -6
    • +8
    ./DefaultResolutionStrategySpec.groovy
    • -14
    • +19
    ./ModuleForcingResolveRuleSpec.groovy
  1. … 161 more files in changeset.
Revert changes from PR5628

This reverts the following commits:

10a25358953dfb28b09cf04356945517d5cc560e

54d19a74ab2d29673219d9c6d27388b93c55eada

d0eb19dbf28df1a108742ba177eda56301e1fab4

dcf5f65b49db17fb625ecab7498b060ab8191b9b

99847ad25f9e0ab7b1f65beb976dcb59cbadd1b9

f2f412141e1ab29e0cfafc72fd962ae645508720

99b45c8d7f0e94d2d41c43c731ca1329d6f07606

    • -2
    • +2
    ./DefaultResolutionStrategySpec.groovy
    • -22
    • +27
    ./ModuleForcingResolveRuleSpec.groovy
  1. … 39 more files in changeset.
Removed `ModuleVersionSelector.versionConstraint`

- Pushed `getVersionConstraint()` down to `ExternalDependency` and

`DependencyConstraint`

- Only use a single version string when constructing `ModuleVersionSelector`

    • -2
    • +2
    ./DefaultResolutionStrategySpec.groovy
    • -27
    • +22
    ./ModuleForcingResolveRuleSpec.groovy
  1. … 18 more files in changeset.