BeforeResolveIntegrationTest.groovy

Clone Tools
  • last updated a few seconds ago
Constraints
Constraints: committers
 
Constraints: files
Constraints: dates
Let dependency-management tests not use deprecated configurations

  1. … 27 more files in changeset.
Let dependency-management tests not use deprecated configurations

  1. … 27 more files in changeset.
Let dependency-management tests not use deprecated configurations

  1. … 27 more files in changeset.
Let dependency-management tests not use deprecated configurations

  1. … 27 more files in changeset.
Make test behavior more clear

Reintroduce some limited synchronization for configuration resolution

This ensures that only one thread is resolving the graph of a given

configuration at a time.

When we step over to other projects while resolving configurations, we

will release the current project lock. This can allow other tasks to

start running. When they do, there can be issues when they try to

continue resolving the graph of the same configuration as the first

task. For example, a beforeResolve hook can cause the project lock

to be released (perhaps by resolving another configuration) and then

another task can put the configuration in an unexpected state before

the project lock can be reacquired..

    • -0
    • +52
    ./BeforeResolveIntegrationTest.groovy
  1. … 3 more files in changeset.
Recover ignored tests

See https://github.com/gradle/gradle-private/issues/1341

and https://github.com/gradle/gradle/issues/5777

Recover these tests after jfrog adjusted their cipher configuration

  1. … 6 more files in changeset.
Disable some tests on Java 7 to avoid ssl handshake failure

See https://github.com/gradle/gradle-private/issues/1341

On June 24th, jfrog.org forced all clients to used TLSv1.2, whose cipher

algorithms are not fully supported by JDK7. This commit disabled these

affected tests on Java 7.

  1. … 2 more files in changeset.
Annotate test that requires network access

Fix issue with `gradle idea` and Spring DM plugin

The Spring DM plugin modifies dependency excludes in a `beforeResolve`

hook. In certain circumstances this results in modifying a

dependency on an already-resolved configuration, which then fails

when the `idea` plugin resolves a second time.

This fixes the issue by ignoring changes to dependency excludes

post-resolve, as was the case in previous releases. Going forward

we should deprecate and eventually prohibit modification of

dependency attributes after a configuration has been resolved.

    • -0
    • +52
    ./BeforeResolveIntegrationTest.groovy
  1. … 1 more file in changeset.
Fix issue with `gradle idea` and Spring DM plugin

The Spring DM plugin modifies dependency excludes in a `beforeResolve`

hook. In certain circumstances this results in modifying a

dependency on an already-resolved configuration, which then fails

when the `idea` plugin resolves a second time.

This fixes the issue by ignoring changes to dependency excludes

post-resolve, as was the case in previous releases. Going forward

we should deprecate and eventually prohibit modification of

dependency attributes after a configuration has been resolved.

    • -0
    • +52
    ./BeforeResolveIntegrationTest.groovy
  1. … 1 more file in changeset.
Moved test for Spring DM plugin into smoke tests

Added test that demonstrates issue with Spring DM plugin

by directly configuring a `beforeResolve` hook.

    • -64
    • +26
    ./BeforeResolveIntegrationTest.groovy
  1. … 1 more file in changeset.
Use a separate type for dependency attribute mutation

Gradle prevents changes to dependencies after a configuration has

been resolved or has been involved in resolution (as a parent configuration

or as a referenced project dependency).

Now that we are tracking mutation to Dependency attributes, changes that

were previously silently ignored should now fail the build. However, this

is a breaking change that affects the Spring DM plugin, and other plugins

that modify dependencies in a `beforeResolve` hook.

To avoid this breakage, we use a separate mutation type that is not (yet)

prohibited on resolved configurations. This will permit us to prohibit

this with a full deprecation cycle.

  1. … 4 more files in changeset.
Add @NotYetImplemented test highlighting issue with Spring DM plugin

    • -0
    • +80
    ./BeforeResolveIntegrationTest.groovy
Fix root component metadata cache not invalidated in `beforeResolve`

This commit fixes #2480 by making sure that calls to methods which effectively mutate dependencies

hold by a configuration trigger mutation validation. This is done by wrapping the dependencies which

can be mutated by a proxy. This shouldn't be considered a final solution, as it has several issues.

First of all, using a proxy is a dirty workaround. This is done because there's tangling between

`core` and `dependencyMananagement`, and typically `ModuleDependency` lives into `core`, whereas

`MutationValidator` lives into `dependencyManagement`. Second, proxies have a performance cost (which

is going to prove to be a problem or not by the performance test suite).

A better fix would be to untangle everything and propagate the mutation validator.

  1. … 1 more file in changeset.
Add test demonstrating gradle/gradle#2480

The introduction of the 'root component metadata' cache

(68c0bb3bb14a361674804ef080b886394f07dfad) causes the

excludes added in a `beforeResolve` hook to be ignored.

    • -0
    • +84
    ./BeforeResolveIntegrationTest.groovy
Add test demonstrating gradle/gradle#2480

The introduction of the 'root component metadata' cache

(68c0bb3bb14a361674804ef080b886394f07dfad) causes the

excludes added in a `beforeResolve` hook to be ignored.

    • -0
    • +84
    ./BeforeResolveIntegrationTest.groovy
Cherry-pick and squash fix for #2480 from 4.1 release

    • -0
    • +123
    ./BeforeResolveIntegrationTest.groovy
  1. … 8 more files in changeset.