ComponentSelectionRulesDependencyResolveIntegTest.groovy

Clone Tools
  • last updated a few seconds ago
Constraints
Constraints: committers
 
Constraints: files
Constraints: dates
Rename @FailsWithInstantExecution to @ToBeFixedForInstantExecution

Signed-off-by: Paul Merlin <paul@gradle.com>

    • -5
    • +5
    ./ComponentSelectionRulesDependencyResolveIntegTest.groovy
  1. … 872 more files in changeset.
Annotate integ tests failing with instant execution in various projects

removing most of @IgnoreWithInstantExecution annotations

after fixing the @FailsWithInstantExecution rule

and more ci feedback

also make @IgnoreWithInstantExecution require a reason from a fixed set

and add it to the remaining ignores

Signed-off-by: Paul Merlin <paul@gradle.com>

    • -3
    • +2
    ./ComponentSelectionRulesDependencyResolveIntegTest.groovy
  1. … 126 more files in changeset.
Annotate integ tests failing with instant execution in :dependencyManagement

Signed-off-by: Paul Merlin <paul@gradle.com>

    • -0
    • +6
    ./ComponentSelectionRulesDependencyResolveIntegTest.groovy
  1. … 93 more files in changeset.
Annotate integ tests failing with instant execution in :dependencyManagement

Signed-off-by: Paul Merlin <paul@gradle.com>

    • -0
    • +6
    ./ComponentSelectionRulesDependencyResolveIntegTest.groovy
  1. … 93 more files in changeset.
Annotate integ tests failing with instant execution in :dependencyManagement

Signed-off-by: Paul Merlin <paul@gradle.com>

    • -0
    • +6
    ./ComponentSelectionRulesDependencyResolveIntegTest.groovy
  1. … 93 more files in changeset.
Make artifact representation in ivy fixture correspond to publishing

We never publish an aritfact with 'conf=*' but always list

the configurations it is included in.

    • -1
    • +1
    ./ComponentSelectionRulesDependencyResolveIntegTest.groovy
  1. … 1 more file in changeset.
Clean up IvyPublication and publish more information to ivy.xml metadata

This cleans up the implementation of `populateFromComponent()` and

introduces the following changes that publish information which

was lossy before:

- Artifacts are now added to all configurations they belong to and

not just the first found

- Dependencies are now added for all configurations they belong to,

with the corresponding mapping and version, and

not just for the first found

- For a Java library, this means the 'runtime' now represents the full

runtime variant of the library (before, only 'default' represented

that)

    • -1
    • +1
    ./ComponentSelectionRulesDependencyResolveIntegTest.groovy
  1. … 15 more files in changeset.
Adjust tests and samples to new metadata sources defaults

    • -4
    • +4
    ./ComponentSelectionRulesDependencyResolveIntegTest.groovy
  1. … 95 more files in changeset.
Remove 'experimental' variant from dependency resolution tests

With the 'GRADLE_METADATA' feature preview gone, we now only have

two dimensions of variation to test:

(1) Ivy or Maven repository?

(2) Gradle metadata available - in addition to pom or ivy - or not?

If Gradle 6+ was used for publishing, Gradle metadata is most likely

available and the pom/ivy file contains the corresponding marker.

If an older Gradle version (or Maven/Ivy) was used for publishing,

Gradle metadata is not available and there is also no marker in the

other metadata file.

    • -4
    • +4
    ./ComponentSelectionRulesDependencyResolveIntegTest.groovy
  1. … 32 more files in changeset.
Remove 'experimental' variant from dependency resolution tests

With the 'GRADLE_METADATA' feature preview gone, we now only have

two dimensions of variation to test:

(1) Ivy or Maven repository?

(2) Gradle metadata available - in addition to pom or ivy - or not?

If Gradle 6+ was used for publishing, Gradle metadata is most likely

available and the pom/ivy file contains the corresponding marker.

If an older Gradle version (or Maven/Ivy) was used for publishing,

Gradle metadata is not available and there is also no marker in the

other metadata file.

    • -4
    • +4
    ./ComponentSelectionRulesDependencyResolveIntegTest.groovy
  1. … 32 more files in changeset.
Remove 'experimental' variant from dependency resolution tests

With the 'GRADLE_METADATA' feature preview gone, we now only have

two dimensions of variation to test:

(1) Ivy or Maven repository?

(2) Gradle metadata available - in addition to pom or ivy - or not?

If Gradle 6+ was used for publishing, Gradle metadata is most likely

available and the pom/ivy file contains the corresponding marker.

If an older Gradle version (or Maven/Ivy) was used for publishing,

Gradle metadata is not available and there is also no marker in the

other metadata file.

    • -4
    • +4
    ./ComponentSelectionRulesDependencyResolveIntegTest.groovy
  1. … 32 more files in changeset.
spelling: interactions

Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>

    • -6
    • +6
    ./ComponentSelectionRulesDependencyResolveIntegTest.groovy
Tweak the output produced by `TreeFormatter`.

    • -1
    • +2
    ./ComponentSelectionRulesDependencyResolveIntegTest.groovy
  1. … 36 more files in changeset.
Fail on competing force on a virtual platform

When a virtual platform is used and competing force are declared on

leaves, resolution will now fail, indicating that all forced modules

could not be resolved as they cause a conflict.

Fixes #6817

    • -1
    • +1
    ./ComponentSelectionRulesDependencyResolveIntegTest.groovy
  1. … 3 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

    • -12
    • +14
    ./ComponentSelectionRulesDependencyResolveIntegTest.groovy
  1. … 12 more files in changeset.
Consistently report conflict resolution

This commit refactors how conflict resolution selection reasons are handled, in order to:

- collect the list of versions which participated in conflict resolution

- report a single conflict resolution cause when conflicts are resolved several times for the same module

- consistently report module replacement rules as rules, not conflict resolution. Before this change,

a module replacement was reported as both a conflict and a rule

    • -3
    • +3
    ./ComponentSelectionRulesDependencyResolveIntegTest.groovy
  1. … 29 more files in changeset.
Collect unmatched dependencies too

Without this change, it is not possible to know which versions Gradle

considered for a dynamic range, unless it's rejected by a rule or by

attribute matching.

    • -12
    • +12
    ./ComponentSelectionRulesDependencyResolveIntegTest.groovy
  1. … 19 more files in changeset.
Collect unmatched dependencies too

Without this change, it is not possible to know which versions Gradle

considered for a dynamic range, unless it's rejected by a rule or by

attribute matching.

    • -12
    • +12
    ./ComponentSelectionRulesDependencyResolveIntegTest.groovy
  1. … 19 more files in changeset.
Improve error reporting in case no matching dynamic version is found

This commit improves rendering of errors in case resolution fails because

all versions in a dynamic range are evicted, and that at least one of the

evicted versions was evicted because of attribute matching. The error will

now report the attributes on each tested version, as well as the requested

attributes.

For this, the module not found exception has been updated to carry more

context, and now makes use of the tree formatter for consistency with other

exceptions in the codebase.

    • -13
    • +12
    ./ComponentSelectionRulesDependencyResolveIntegTest.groovy
  1. … 37 more files in changeset.
Add EXPERIMENTAL_RESOLVE_BEHAVIOR feature to GradleMetadataResolveRunner

This adds the test variant where experimental features are enabled for

resolving dependencies, but module metadata was not published to the

repository that is used. The feature combination

EXPERIMENTAL_RESOLVE_BEHAVIOR=false && GRADLE_METADATA=true

is excluded, as Gradle metadata is completely ignored without

experimental features.

    • -3
    • +3
    ./ComponentSelectionRulesDependencyResolveIntegTest.groovy
  1. … 9 more files in changeset.
Do not request Ivy/POM file when module metadata is used

The previous change meant that the Ivy/POM was not _used_ when

a module metadata file was found. With this change, the unusued

file is not requested when it won't be needed.

The change is trivial, but it required changes to our test

infrastructure due to the change expected requests.

    • -3
    • +3
    ./ComponentSelectionRulesDependencyResolveIntegTest.groovy
  1. … 8 more files in changeset.
Use `Assume` to ignore tests rather than allowing failure

    • -19
    • +20
    ./ComponentSelectionRulesDependencyResolveIntegTest.groovy
  1. … 3 more files in changeset.
Don't test Ivy-specific functionality with Gradle module metadata

Since we are no longer merging metadata from different sources, any Ivy-specific

tests will not function when metadata is sourced from a Gradle module metadata

file.

    • -30
    • +31
    ./ComponentSelectionRulesDependencyResolveIntegTest.groovy
  1. … 2 more files in changeset.
Migrate `ComponentSelectorRulesDependencyResolveIntegTest` to cross-repository test fixtures

    • -123
    • +190
    ./ComponentSelectionRulesDependencyResolveIntegTest.groovy
  1. … 8 more files in changeset.
Use doLast instead of left shift operator

Made this change in preparation for deprecating the left shift operator.

+review REVIEW-6236

    • -8
    • +12
    ./ComponentSelectionRulesDependencyResolveIntegTest.groovy
  1. … 163 more files in changeset.
Added some more test coverage for error reporting and caching when component selection rules reject every candidate.

    • -5
    • +89
    ./ComponentSelectionRulesDependencyResolveIntegTest.groovy
Added some more dependency caching int test coverage.

    • -1
    • +9
    ./ComponentSelectionRulesDependencyResolveIntegTest.groovy
Separated the reuse of cached version listing and cached meta-data when resolving dynamic version, so that the cached version list can be used when the meta-data for a candidate is not cached, and vice versa.

Updated a bunch of int tests to remove expected requests that are no longer required.

    • -3
    • +0
    ./ComponentSelectionRulesDependencyResolveIntegTest.groovy
  1. … 10 more files in changeset.
Improved test name

    • -1
    • +1
    ./ComponentSelectionRulesDependencyResolveIntegTest.groovy
Improving integration test for GRADLE-3236

+review REVIEW-5385

    • -6
    • +11
    ./ComponentSelectionRulesDependencyResolveIntegTest.groovy