Clone Tools
  • last updated a few seconds ago
Constraints
Constraints: committers
 
Constraints: files
Constraints: dates
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
    • +2
    ./AbstractValidatingLockingIntegrationTest.groovy
  1. … 81 more files in changeset.
Add @ToBeFixedForInstantExecution to MultiProjectDependencyLockingIntegrationTest

because the :dependencyInsight task has a Configuration field

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

    • -0
    • +2
    ./MultiProjectDependencyLockingIntegrationTest.groovy
Add @ToBeFixedForInstantExecution to MixedDependencyLockingIntegrationTest

because the :dependencyInsight task has a Configuration field

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

    • -0
    • +3
    ./MixedDependencyLockingIntegrationTest.groovy
Make lock file location configurable

When using the unique lock file per project, it is possible to configure

the lockfile name and location.

This enables scenarios where the lockfile name depends on some build

properties, allowing to have different lock state for different state of

the build.

Issue #11881

    • -0
    • +48
    ./DependencyLockingIntegrationTest.groovy
    • -0
    • +44
    ./UsingLockingOnNonProjectConfigurationsIntegrationTest.groovy
  1. … 9 more files in changeset.
Use a property for LockMode

This is more inline with modern Gradle APIs and enables the usage of

finalized value instead of doing it internally.

    • -1
    • +1
    ./DependencyLockingIntegrationTest.groovy
  1. … 8 more files in changeset.
Add test coverage for per project lockfile

This is done by making sure most tests cover both the existing file

format and the upcoming file format.

Issue #11881

    • -101
    • +118
    ./AbstractLockingIntegrationTest.groovy
    • -78
    • +61
    ./AbstractValidatingLockingIntegrationTest.groovy
    • -3
    • +33
    ./DependencyLockingIntegrationTest.groovy
    • -7
    • +45
    ./DependencyLockingLenientModeIntegrationTest.groovy
    • -4
    • +4
    ./DependencyLockingStrictModeIntegrationTest.groovy
    • -13
    • +13
    ./LockingInteractionsIntegrationTest.groovy
    • -4
    • +4
    ./MixedDependencyLockingIntegrationTest.groovy
    • -3
    • +3
    ./MultiProjectDependencyLockingIntegrationTest.groovy
    • -20
    • +66
    ./UsingLockingOnNonProjectConfigurationsIntegrationTest.groovy
  1. … 6 more files in changeset.
Annotate tests to account for new reported problems

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

    • -0
    • +3
    ./AbstractValidatingLockingIntegrationTest.groovy
  1. … 49 more files in changeset.
Initial support for unique lockfile creation

When the feature preview is activated, Gradle will generate a single

lockfile per project when creating or updating lock state.

Issue #11881

    • -0
    • +37
    ./AbstractLockingIntegrationTest.groovy
  1. … 8 more files in changeset.
@ToBeFixedForInstantExecution(because = ":reportingTasks use Task.getProject()")

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

    • -0
    • +1
    ./UsingLockingOnNonProjectConfigurationsIntegrationTest.groovy
  1. … 19 more files in changeset.
Initial support for unique lockfile per project

With a feature preview, Gradle now supports reading from a unique

lockfile per project.

If the support is enabled and the unique lockfile has no lock

information for a locked configuration, Gradle attempts to read the

configuration specific lockfile in case it exists.

Issue #11881

    • -0
    • +66
    ./AbstractValidatingLockingIntegrationTest.groovy
  1. … 9 more files in changeset.
Rename test methods and fixtures

Given that a new format will be introduced for dependency lock files,

the existing methods have legacy in their name for clear identification.

    • -22
    • +22
    ./AbstractLockingIntegrationTest.groovy
    • -7
    • +7
    ./AbstractValidatingLockingIntegrationTest.groovy
    • -3
    • +3
    ./DependencyLockingIntegrationTest.groovy
    • -7
    • +7
    ./DependencyLockingLenientModeIntegrationTest.groovy
    • -2
    • +2
    ./DependencyLockingStrictModeIntegrationTest.groovy
    • -13
    • +13
    ./LockingInteractionsIntegrationTest.groovy
    • -6
    • +6
    ./MixedDependencyLockingIntegrationTest.groovy
    • -3
    • +3
    ./MultiProjectDependencyLockingIntegrationTest.groovy
    • -7
    • +7
    ./UsingLockingOnNonProjectConfigurationsIntegrationTest.groovy
  1. … 3 more files in changeset.
Annotate tests involving composite builds

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

    • -0
    • +1
    ./LockingInteractionsIntegrationTest.groovy
  1. … 21 more files in changeset.
Add missing test exclusions for instant execution

    • -0
    • +4
    ./AbstractLockingIntegrationTest.groovy
    • -0
    • +3
    ./DependencyLockingLenientModeIntegrationTest.groovy
    • -0
    • +4
    ./DependencyLockingStrictModeIntegrationTest.groovy
Make it illegal to tweak lock mode after resolution

This is mostly to help usability through consistency and accidental

updates detection.

Note that the resolution is for a _locked_ configuration. Resolving a

configuration that is not locked has no impact on this check.

Issue #9907

    • -0
    • +32
    ./DependencyLockingIntegrationTest.groovy
  1. … 1 more file in changeset.
Add support for locking extension in ScriptHandler

This enables defining the lock mode and other extensions to dependency

locking.

Issue #9907

    • -0
    • +86
    ./UsingLockingOnNonProjectConfigurationsIntegrationTest.groovy
  1. … 6 more files in changeset.
Rename @FailsWithInstantExecution to @ToBeFixedForInstantExecution

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

    • -21
    • +21
    ./DependencyLockingIntegrationTest.groovy
    • -8
    • +8
    ./LockingInteractionsIntegrationTest.groovy
    • -2
    • +2
    ./MixedDependencyLockingIntegrationTest.groovy
    • -2
    • +2
    ./MultiProjectDependencyLockingIntegrationTest.groovy
    • -4
    • +4
    ./UsingLockingOnNonProjectConfigurationsIntegrationTest.groovy
  1. … 868 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>

    • -2
    • +1
    ./LockingInteractionsIntegrationTest.groovy
  1. … 126 more files in changeset.
Remove useless import

LockMode is in a default imported package.

Issue #9907

    • -30
    • +0
    ./AbstractLockingIntegrationTest.groovy
    • -14
    • +0
    ./AbstractValidatingLockingIntegrationTest.groovy
    • -14
    • +0
    ./DependencyLockingLenientModeIntegrationTest.groovy
    • -6
    • +0
    ./DependencyLockingStrictModeIntegrationTest.groovy
Implement lenient mode for locking

In lenient mode, lock entries are `requires` and not `strictly` and

there is no validation after resolution. This allows deviations from the

lock state.

Issue #9907

    • -280
    • +5
    ./AbstractLockingIntegrationTest.groovy
    • -0
    • +302
    ./AbstractValidatingLockingIntegrationTest.groovy
    • -1
    • +1
    ./DependencyLockingIntegrationTest.groovy
    • -0
    • +335
    ./DependencyLockingLenientModeIntegrationTest.groovy
    • -1
    • +1
    ./DependencyLockingStrictModeIntegrationTest.groovy
  1. … 4 more files in changeset.
Annotate integ tests failing with instant execution in :dependencyManagement

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

    • -0
    • +21
    ./DependencyLockingIntegrationTest.groovy
    • -0
    • +9
    ./LockingInteractionsIntegrationTest.groovy
    • -0
    • +2
    ./MixedDependencyLockingIntegrationTest.groovy
    • -0
    • +2
    ./MultiProjectDependencyLockingIntegrationTest.groovy
    • -0
    • +4
    ./UsingLockingOnNonProjectConfigurationsIntegrationTest.groovy
  1. … 89 more files in changeset.
Implement strict mode for locking

In strict mode, a locked configuration without a lockfile, empty or not,

is illegal and will cause the build to fail.

Issue #9907

    • -0
    • +932
    ./AbstractLockingIntegrationTest.groovy
    • -870
    • +34
    ./DependencyLockingIntegrationTest.groovy
    • -0
    • +129
    ./DependencyLockingStrictModeIntegrationTest.groovy
  1. … 10 more files in changeset.
Remove trailing space in error message

And pay the price with tons of whitespace changes...

    • -8
    • +8
    ./DependencyLockingIntegrationTest.groovy
  1. … 10 more files in changeset.
Disallow using dependency locking with failOnDynamic/Changing versions

Because those 2 features are effectively incompatible:

- either you use dynamic versions but with locking

- or you disallow dynamic versions

    • -0
    • +33
    ./DependencyLockingIntegrationTest.groovy
  1. … 1 more file in changeset.
Add support for deactivateDependencyLocking to disable locking on configurations

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

    • -0
    • +52
    ./DependencyLockingIntegrationTest.groovy
  1. … 12 more files in changeset.
Delay selection when constraint exists

When a node makes it into the graph, it potentially can transform

pending constraints into valid edges. When that happens, we defer the

selection of the the node so that it happens when the constraint

selector also is known.

In the best case, a fixed version is computed, skipping a dynamic

version resolution. In the worst case, the defer was not needed because

the constraint does not change the selection result.

    • -6
    • +1
    ./LockingInteractionsIntegrationTest.groovy
  1. … 11 more files in changeset.
Partial ordering of module selectors

With this commit, we do a partial sort on the selectors, where we place

the dynamic selectors at the end compared to the other ones.

This allows a more efficient resolution in some corner cases but is

mostly preparation work for follow up changes.

    • -3
    • +1
    ./DependencyLockingIntegrationTest.groovy
    • -6
    • +9
    ./LockingInteractionsIntegrationTest.groovy
  1. … 6 more files in changeset.
Dependency locking and composite build integration

When globabl composite substitutions are declared, they will also filter

out lock entries. This means that a binary dependency substituted with a

project dependency will no longer be part of the live lock state.

Issue #4749

    • -0
    • +43
    ./LockingInteractionsIntegrationTest.groovy
  1. … 3 more files in changeset.
Locking now detects invalid force / substitute

Before this commit, a force or substitution was not detected by

dependency locking and would allow a user to have a graph result that

differed from the lock state.

With this commit, such differences are now properly reported and will

fail resolution when identified.

Closes #8971

    • -0
    • +134
    ./LockingInteractionsIntegrationTest.groovy
  1. … 2 more files in changeset.
Remove custom rendering when building failure message

For consistency, we now use `ComponentSelector.displayName` when

rendering a failure message, instead of custom display logic.

    • -3
    • +3
    ./DependencyLockingIntegrationTest.groovy
  1. … 6 more files in changeset.
Include version constraint details in ModuleComponentSelector.displayName

    • -3
    • +3
    ./DependencyLockingIntegrationTest.groovy
    • -2
    • +2
    ./LockingInteractionsIntegrationTest.groovy
    • -2
    • +2
    ./UsingLockingOnNonProjectConfigurationsIntegrationTest.groovy
  1. … 6 more files in changeset.