IvyDynamicRevisionResolveIntegrationTest.groovy

Clone Tools
  • last updated a few seconds ago
Constraints
Constraints: committers
 
Constraints: files
Constraints: dates
Test fixes for strictness.

    • -0
    • +6
    ./IvyDynamicRevisionResolveIntegrationTest.groovy
  1. … 13 more files in changeset.
Change `AbstractIntegrationSpec` to fail when a test runs a build that fails with more than one exception and does not verify the number of exceptions in the failure using `assertHasFailures()`.

This is to avoid additional exceptions unintentionally being introduced, for example when a failure starts being thrown because of configuration cache problems alongside the expected failure.

    • -0
    • +6
    ./IvyDynamicRevisionResolveIntegrationTest.groovy
  1. … 81 more files in changeset.
Change `AbstractIntegrationSpec` to fail when a test runs a build that fails with more than one exception and does not verify the number of exceptions in the failure using `assertHasFailures()`.

This is to avoid additional exceptions unintentionally being introduced, for example when a failure starts being thrown because of configuration cache problems alongside the expected failure.

    • -0
    • +6
    ./IvyDynamicRevisionResolveIntegrationTest.groovy
  1. … 81 more files in changeset.
Change `AbstractIntegrationSpec` to fail when a test runs a build that fails with more than one exception and does not verify the number of exceptions in the failure using `assertHasFailures()`.

This is to avoid additional exceptions unintentionally being introduced, for example when a failure starts being thrown because of configuration cache problems alongside the expected failure.

    • -0
    • +6
    ./IvyDynamicRevisionResolveIntegrationTest.groovy
  1. … 81 more files in changeset.
Add @ToBeFixedForInstantExecution to IvyDynamicRevisionResolveIntegrationTest

because of the GenerateGraphTask in ResolveTestFixture that has a Configuration field

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

    • -0
    • +8
    ./IvyDynamicRevisionResolveIntegrationTest.groovy
@RequiredFeature can be used as a repeated annotation

If used for a single feature, avoid annotation noise by not using the

composite annotation. This also avoids the confusion that the

@RequiredFeature annotation cannot be used independently

(no compile error but does not work).

I made the @RequiredFeatures annotation package-private as it is

only required by the compiler and the runner now.

Signed-off-by: Benjamin Muskalla <bmuskalla@gradle.com>

    • -6
    • +2
    ./IvyDynamicRevisionResolveIntegrationTest.groovy
  1. … 43 more files in changeset.
@RequiredFeature can be used as a repeated annotation

If used for a single feature, avoid annotation noise by not using the

composite annotation. This also avoids the confusion that the

@RequiredFeature annotation cannot be used independently

(no compile error but does not work).

I made the @RequiredFeatures annotation package-private as it is

only required by the compiler and the runner now.

Signed-off-by: Benjamin Muskalla <bmuskalla@gradle.com>

    • -6
    • +2
    ./IvyDynamicRevisionResolveIntegrationTest.groovy
  1. … 43 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

    • -9
    • +0
    ./IvyDynamicRevisionResolveIntegrationTest.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

    • -9
    • +0
    ./IvyDynamicRevisionResolveIntegrationTest.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

    • -9
    • +0
    ./IvyDynamicRevisionResolveIntegrationTest.groovy
  1. … 6 more files in changeset.
Adjust tests and samples to new metadata sources defaults

    • -2
    • +2
    ./IvyDynamicRevisionResolveIntegrationTest.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.

    • -2
    • +2
    ./IvyDynamicRevisionResolveIntegrationTest.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.

    • -2
    • +2
    ./IvyDynamicRevisionResolveIntegrationTest.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.

    • -2
    • +2
    ./IvyDynamicRevisionResolveIntegrationTest.groovy
  1. … 32 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.

    • -11
    • +11
    ./IvyDynamicRevisionResolveIntegrationTest.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.

    • -11
    • +11
    ./IvyDynamicRevisionResolveIntegrationTest.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.

    • -4
    • +3
    ./IvyDynamicRevisionResolveIntegrationTest.groovy
  1. … 37 more files in changeset.
Let Maven and Ivy module fixture provide java library variants

    • -1
    • +1
    ./IvyDynamicRevisionResolveIntegrationTest.groovy
  1. … 8 more files in changeset.
Allow users to configure the metadata sources for a repository

With this change, a user can configure the `metadataSources` for an Ivy or Maven

repository. It is thus possible to enable or disable any of the built-in sources:

- gradleMetadata()

- mavenPom() or ivyDescriptor()

- artifact()

This will allow users to opt-in to searching for artifacts where metadata is missing,

and to opt-out of searching for Gradle metadata when it's known not to exist.

    • -197
    • +31
    ./IvyDynamicRevisionResolveIntegrationTest.groovy
  1. … 8 more files in changeset.
Do not use artifact metadata source when experimental features are enabled

    • -233
    • +34
    ./IvyDynamicRevisionResolveIntegrationTest.groovy
  1. … 4 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.

    • -31
    • +15
    ./IvyDynamicRevisionResolveIntegrationTest.groovy
  1. … 8 more files in changeset.
Fix missing `resetExpectations`

    • -0
    • +2
    ./IvyDynamicRevisionResolveIntegrationTest.groovy
Add test coverage for `components.all` and `componentSelection.all`

    • -0
    • +20
    ./IvyDynamicRevisionResolveIntegrationTest.groovy
Add `status` to Gradle module metadata

This commit adds attributes to top level component in Gradle metadata. Attributes are written to Gradle metadata files,

and when read, some attributes can be mapped to existing, legacy, properties of component metadata. This is the case

for the "status" property, which is now mapped to a component attribute when serializing, and mapped back to the "status"

property when reading.

This commit also introduces a test that makes sure that the status is actually read from the Gradle metadata file, by

totally ignoring the Ivy descriptor.

    • -6
    • +196
    ./IvyDynamicRevisionResolveIntegrationTest.groovy
  1. … 18 more files in changeset.
Ignore test when executed with `--parallel`

    • -0
    • +3
    ./IvyDynamicRevisionResolveIntegrationTest.groovy
Convert `IvyDynamicRevisionResolveIntegrationTest` to new test fixtures

    • -175
    • +529
    ./IvyDynamicRevisionResolveIntegrationTest.groovy
  1. … 5 more files in changeset.
Moved `ResolveTestFixture` into a `org.gradle.integtests.fixtures` subpackage

This has the net effect of making this class visible to the Tooling API integration

tests, since the `org.gradle.integtests.fixtures` package is explicitly allowed

in the filtering classloader used by the TAPI integration tests.

    • -1
    • +1
    ./IvyDynamicRevisionResolveIntegrationTest.groovy
  1. … 8 more files in changeset.
Add some test coverage for ivy repos, and switch to use ResolveTestFixture

+review REVIEW-5991

    • -0
    • +36
    ./IvyDynamicRevisionResolveIntegrationTest.groovy
  1. … 3 more files in changeset.
Added more detail to the 'could not find any matches for selector' error message, to distinguish between:

1. No versions were found.

2. Some candidate versions were found but none matched the selector (and what those versions were).

3. Some matching versions were found by all were rejected by component selection rules (and what those versions were).

Changed ModuleVersionResolveException constructor so that it does not pass the provided message through String.format().

    • -9
    • +28
    ./IvyDynamicRevisionResolveIntegrationTest.groovy
  1. … 22 more files in changeset.
Renamed subprojects/core-impl to subprojects/dependency-management.

    • -0
    • +430
    ./IvyDynamicRevisionResolveIntegrationTest.groovy
  1. … 1384 more files in changeset.