DependencyGraphBuilderTest.groovy

Clone Tools
  • last updated a few seconds ago
Constraints
Constraints: committers
 
Constraints: files
Constraints: dates
Fix test

  1. … 1 more file in changeset.
Fix test

  1. … 1 more file 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.

  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.

  1. … 8 more files in changeset.
Remove deprecated constructor

  1. … 2 more files in changeset.
Remove deprecated constructor

  1. … 2 more files in changeset.
Remove deprecated constructor

  1. … 2 more files in changeset.
Remove deprecated constructor

  1. … 2 more files in changeset.
Remove deprecated constructor

  1. … 2 more files in changeset.
Introduce constraint inheritance API

  1. … 40 more files in changeset.
Introduce constraint inheritance API

  1. … 40 more files in changeset.
Introduce constraint inheritance API

  1. … 40 more files in changeset.
Introduce constraint inheritance API

  1. … 41 more files in changeset.
Add `inheritSubgraphConstraints()` API to dependencies

  1. … 61 more files in changeset.
Add `inheritSubgraphConstraints()` API to dependencies

  1. … 62 more files in changeset.
Add `inheritSubgraphConstraints()` API to dependencies

  1. … 63 more files in changeset.
Revert new exclude rule merging

This is a temporary revert to allow ironing out some issues with

the newer implementation.

  1. … 38 more files in changeset.
Revert new exclude rule merging

This is a temporary revert to allow ironing out some more issues with

the newer implementation.

  1. … 38 more files in changeset.
Revert new exclude rule merging

This is a temporary revert to allow ironing out some issues with

the newer implementation.

  1. … 38 more files in changeset.
Add deprecation mechanism for configurations

  1. … 16 more files in changeset.
Add deprecation mechanism for configurations

  1. … 16 more files in changeset.
Add deprecation mechanism for configurations

  1. … 16 more files in changeset.
Add deprecation mechanism for configurations

  1. … 16 more files in changeset.
Add deprecation mechanism for configurations

  1. … 16 more files in changeset.
Add deprecation mechanism for configurations

  1. … 16 more files in changeset.
Add deprecation mechanism for configurations

  1. … 16 more files in changeset.
Do not share exclusion cache

For some reason (that I'm obviously not smart enough to figure out),

we can't share the exclusion cache for the whole build, because even

if its safe, resolution is sensitive to the order of entries in

the cache.

  1. … 5 more files in changeset.
Do not share exclusion cache

For some reason (that I'm obviously not smart enough to figure out),

we can't share the exclusion cache for the whole build, because even

if its safe, resolution is sensitive to the order of entries in

the cache.

  1. … 5 more files in changeset.
Sort module selectors

This commit reworks module selectors so that they are sorted

in an order which reduces the cost of module selection. We

make sure to put local (project) selectors first, then we

use selectors from locks (if any).

The next selectors are "latest" version selectors because

even if they are dynamic, they are likely to "win" selection.

Then, exact version selectors are sorted by version descending

, and last we add dynamic version selectors.

    • -14
    • +14
    ./DependencyGraphBuilderTest.groovy
  1. … 19 more files in changeset.
Sort module selectors

This commit reworks module selectors so that they are sorted

in an order which reduces the cost of module selection. We

make sure to put local (project) selectors first, then we

use selectors from locks (if any).

The next selectors are "latest" version selectors because

even if they are dynamic, they are likely to "win" selection.

Then, exact version selectors are sorted by version descending

, and last we add dynamic version selectors.

    • -14
    • +14
    ./DependencyGraphBuilderTest.groovy
  1. … 19 more files in changeset.