Clone Tools
  • last updated a few seconds ago
Constraints
Constraints: committers
 
Constraints: files
Constraints: dates
De-duplicate entries based on file name instead of artifact id

Because Gradle internally sometimes uses `DefaultModuleComponentArtifactIdentifier`

or `ModuleComponentFileArtifactIdentifier` for the same artifact depending on the

context, we can't rely on equality here. This commit changes the internal verification

structure to rely on the file name which is more consistent and fixes duplication

issues.

    • -0
    • +81
    ./resolve/verification/DependencyVerificationWritingIntegTest.groovy
  1. … 8 more files in changeset.
De-duplicate entries based on file name instead of artifact id

Because Gradle internally sometimes uses `DefaultModuleComponentArtifactIdentifier`

or `ModuleComponentFileArtifactIdentifier` for the same artifact depending on the

context, we can't rely on equality here. This commit changes the internal verification

structure to rely on the file name which is more consistent and fixes duplication

issues.

    • -0
    • +81
    ./resolve/verification/DependencyVerificationWritingIntegTest.groovy
  1. … 8 more files in changeset.
De-duplicate entries based on file name instead of artifact id

Because Gradle internally sometimes uses `DefaultModuleComponentArtifactIdentifier`

or `ModuleComponentFileArtifactIdentifier` for the same artifact depending on the

context, we can't rely on equality here. This commit changes the internal verification

structure to rely on the file name which is more consistent and fixes duplication

issues.

    • -0
    • +81
    ./resolve/verification/DependencyVerificationWritingIntegTest.groovy
  1. … 8 more files in changeset.
De-duplicate entries based on file name instead of artifact id

Because Gradle internally sometimes uses `DefaultModuleComponentArtifactIdentifier`

or `ModuleComponentFileArtifactIdentifier` for the same artifact depending on the

context, we can't rely on equality here. This commit changes the internal verification

structure to rely on the file name which is more consistent and fixes duplication

issues.

    • -0
    • +81
    ./resolve/verification/DependencyVerificationWritingIntegTest.groovy
  1. … 8 more files in changeset.
Restore accidentally deleted code

    • -13
    • +13
    ./resolve/verification/DependencyVerificationIntegrityCheckIntegTest.groovy
    • -22
    • +22
    ./resolve/verification/DependencyVerificationWritingIntegTest.groovy
  1. … 1 more file in changeset.
Sort conflict participants

In some corner cases, it matters to select first the conflict winner

before attempting any other selection.

Fixes #11569

    • -0
    • +10
    ./resolve/rules/ComponentReplacementIntegrationTest.groovy
  1. … 1 more file in changeset.
Sort conflict participants

In some corner cases, it matters to select first the conflict winner

before attempting any other selection.

Fixes #11569

    • -0
    • +10
    ./resolve/rules/ComponentReplacementIntegrationTest.groovy
  1. … 1 more file in changeset.
Recompute selected component when removing selector

Previously, once a component was selected, removing a selector would not

change the resolution result, potentially keeping a selection that no

longer applied.

Now upon removal of a selector, the selected component may be updated.

In order to prevent infinite loops in some cases, the recompute on

removal only happens once per SelectorState instance.

Fixes #6567

    • -11
    • +34
    ./resolve/VersionConflictResolutionIntegrationTest.groovy
  1. … 7 more files in changeset.
Recompute selected component when removing selector

Previously, once a component was selected, removing a selector would not

change the resolution result, potentially keeping a selection that no

longer applied.

Now upon removal of a selector, the selected component may be updated.

In order to prevent infinite loops in some cases, the recompute on

removal only happens once per SelectorState instance.

Fixes #6567

    • -11
    • +34
    ./resolve/VersionConflictResolutionIntegrationTest.groovy
  1. … 7 more files in changeset.
Recompute selected component when removing selector

Previously, once a component was selected, removing a selector would not

change the resolution result, potentially keeping a selection that no

longer applied.

Now upon removal of a selector, the selected component may be updated.

In order to prevent infinite loops in some cases, the recompute on

removal only happens once per SelectorState instance.

Fixes #6567

    • -11
    • +35
    ./resolve/VersionConflictResolutionIntegrationTest.groovy
  1. … 7 more files in changeset.
Recompute selected component when removing selector

Previously, once a component was selected, removing a selector would not

change the resolution result, potentially keeping a selection that no

longer applied.

Now upon removal of a selector, the selected component may be updated.

In order to prevent infinite loops in some cases, the recompute on

removal only happens once per SelectorState instance.

Fixes #6567

    • -11
    • +35
    ./resolve/VersionConflictResolutionIntegrationTest.groovy
  1. … 7 more files in changeset.
Recompute selected component when removing selector

Previously, once a component was selected, removing a selector would not

change the resolution result, potentially keeping a selection that no

longer applied.

Now upon removal of a selector, the selected component may be updated.

In order to prevent infinite loops in some cases, the recompute on

removal only happens once per SelectorState instance.

Fixes #6567

    • -11
    • +34
    ./resolve/VersionConflictResolutionIntegrationTest.groovy
  1. … 6 more files in changeset.
Recompute selected component when removing selector

Previously, once a component was selected, removing a selector would not

change the resolution result, potentially keeping a selection that no

longer applied.

Now upon removal of a selector, the selected component may be updated.

In order to prevent infinite loops in some cases, the recompute on

removal only happens once per SelectorState instance.

Fixes #6567

    • -11
    • +35
    ./resolve/VersionConflictResolutionIntegrationTest.groovy
  1. … 7 more files in changeset.
Recompute selected component when removing selector

Previously, once a component was selected, removing a selector would not

change the resolution result, potentially keeping a selection that no

longer applied.

Now upon removal of a selector, the selected component may be updated.

In order to prevent infinite loops in some cases, the recompute on

removal only happens once per SelectorState instance.

Fixes #6567

    • -11
    • +35
    ./resolve/VersionConflictResolutionIntegrationTest.groovy
  1. … 7 more files in changeset.
Recompute selected component when removing selector

Previously, once a component was selected, removing a selector would not

change the resolution result, potentially keeping a selection that no

longer applied.

Now upon removal of a selector, the selected component may be updated.

In order to prevent infinite loops in some cases, the recompute on

removal only happens once per SelectorState instance.

Fixes #6567

    • -11
    • +35
    ./resolve/VersionConflictResolutionIntegrationTest.groovy
  1. … 7 more files in changeset.
Recompute selected component when removing selector

Previously, once a component was selected, removing a selector would not

change the resolution result, potentially keeping a selection that no

longer applied.

Now upon removal of a selector, the selected component may be updated.

In order to prevent infinite loops in some cases, the recompute on

removal only happens once per SelectorState instance.

Fixes #6567

    • -11
    • +34
    ./resolve/VersionConflictResolutionIntegrationTest.groovy
  1. … 7 more files in changeset.
Recompute selected component when removing selector

Previously, once a component was selected, removing a selector would not

change the resolution result, potentially keeping a selection that no

longer applied.

Now upon removal of a selector, the selected component may be updated.

In order to prevent infinite loops in some cases, the recompute on

removal only happens once per SelectorState instance.

Fixes #6567

    • -11
    • +35
    ./resolve/VersionConflictResolutionIntegrationTest.groovy
  1. … 7 more files in changeset.
Recompute selected component when removing selector

Previously, once a component was selected, removing a selector would not

change the resolution result, potentially keeping a selection that no

longer applied.

Now upon removal of a selector, the selected component may be updated.

In order to prevent infinite loops in some cases, the recompute on

removal only happens once per SelectorState instance.

Fixes #6567

    • -11
    • +35
    ./resolve/VersionConflictResolutionIntegrationTest.groovy
  1. … 7 more files in changeset.
Add lenient version of ComponentMetadataDetails.addVariant()

    • -10
    • +90
    ./resolve/rules/VariantFilesMetadataRulesIntegrationTest.groovy
  1. … 10 more files in changeset.
Introduce a checksum file cache service

This service is responsible for caching the checksums computed from

local file system. Because it's also used for dependency verification

writing and checking, this cache uses the existing infrastructure which

makes sure that if a file is updated locally, we expire the entry in

the cache.

This is done because there are lots of places in the code where we

used the legacy `HashUtil` class, which has no caching whatsoever.

It's, however, quite common to have a build which generates sha1

checksums multiple times for the same file. For example, during

publication.

    • -6
    • +9
    ./resolve/caching/CachedDependencyResolutionIntegrationTest.groovy
    • -3
    • +3
    ./resolve/verification/DependencyVerificationWritingIntegTest.groovy
  1. … 101 more files in changeset.
Introduce a checksum file cache service

This service is responsible for caching the checksums computed from

local file system. Because it's also used for dependency verification

writing and checking, this cache uses the existing infrastructure which

makes sure that if a file is updated locally, we expire the entry in

the cache.

This is done because there are lots of places in the code where we

used the legacy `HashUtil` class, which has no caching whatsoever.

It's, however, quite common to have a build which generates sha1

checksums multiple times for the same file. For example, during

publication.

    • -6
    • +9
    ./resolve/caching/CachedDependencyResolutionIntegrationTest.groovy
    • -3
    • +3
    ./resolve/verification/DependencyVerificationWritingIntegTest.groovy
  1. … 101 more files in changeset.
Introduce a checksum file cache service

This service is responsible for caching the checksums computed from

local file system. Because it's also used for dependency verification

writing and checking, this cache uses the existing infrastructure which

makes sure that if a file is updated locally, we expire the entry in

the cache.

This is done because there are lots of places in the code where we

used the legacy `HashUtil` class, which has no caching whatsoever.

It's, however, quite common to have a build which generates sha1

checksums multiple times for the same file. For example, during

publication.

    • -6
    • +9
    ./resolve/caching/CachedDependencyResolutionIntegrationTest.groovy
    • -3
    • +3
    ./resolve/verification/DependencyVerificationWritingIntegTest.groovy
  1. … 101 more files in changeset.
Introduce a checksum file cache service

This service is responsible for caching the checksums computed from

local file system. Because it's also used for dependency verification

writing and checking, this cache uses the existing infrastructure which

makes sure that if a file is updated locally, we expire the entry in

the cache.

This is done because there are lots of places in the code where we

used the legacy `HashUtil` class, which has no caching whatsoever.

It's, however, quite common to have a build which generates sha1

checksums multiple times for the same file. For example, during

publication.

    • -6
    • +9
    ./resolve/caching/CachedDependencyResolutionIntegrationTest.groovy
    • -1
    • +1
    ./resolve/verification/DependencyVerificationIntegrityCheckIntegTest.groovy
    • -10
    • +10
    ./resolve/verification/DependencyVerificationWritingIntegTest.groovy
  1. … 101 more files in changeset.
Add some debug logging

    • -0
    • +1
    ./resolve/rules/ComponentMetadataRulesCachingIntegrationTest.groovy
  1. … 2 more files in changeset.
Add logging of the test path

This is done in order to debug checksums failing on CI

    • -1
    • +2
    ./resolve/verification/AbstractDependencyVerificationIntegTest.groovy
Bump metadata format

    • -7
    • +7
    ./resolve/rules/ComponentMetadataRulesCachingIntegrationTest.groovy
  1. … 2 more files in changeset.
Always serialize module sources

Module sources were only serialized in the cache metadata entry.

In practice, they belong to the module metadata, so they are now

properly serialized as part of it. This fixes the "force realize"

tests.

    • -7
    • +8
    ./resolve/rules/ComponentMetadataRulesCachingIntegrationTest.groovy
    • -1
    • +2
    ./resolve/verification/AbstractDependencyVerificationIntegTest.groovy
  1. … 17 more files in changeset.
Always serialize module sources

Module sources were only serialized in the cache metadata entry.

In practice, they belong to the module metadata, so they are now

properly serialized as part of it. This fixes the "force realize"

tests.

    • -7
    • +8
    ./resolve/rules/ComponentMetadataRulesCachingIntegrationTest.groovy
    • -1
    • +2
    ./resolve/verification/AbstractDependencyVerificationIntegTest.groovy
  1. … 17 more files in changeset.
Always serialize module sources

Module sources were only serialized in the cache metadata entry.

In practice, they belong to the module metadata, so they are now

properly serialized as part of it. This fixes the "force realize"

tests.

    • -7
    • +8
    ./resolve/rules/ComponentMetadataRulesCachingIntegrationTest.groovy
    • -1
    • +2
    ./resolve/verification/AbstractDependencyVerificationIntegTest.groovy
  1. … 17 more files in changeset.
Add more test coverage for deleted artifacts

    • -0
    • +100
    ./resolve/verification/DependencyVerificationIntegrityCheckIntegTest.groovy
  1. … 5 more files in changeset.