AbstractProjectDependencyConflictResolutionIntegrationSpec.groovy

Clone Tools
  • last updated a few seconds ago
Constraints
Constraints: committers
 
Constraints: files
Constraints: dates
Go over all @ToBeFixedForInstantExecution(Skip.FAILS_IN_SUBCLASS) cases

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

    • -1
    • +4
    ./AbstractProjectDependencyConflictResolutionIntegrationSpec.groovy
  1. … 14 more files in changeset.
Rename @FailsWithInstantExecution to @ToBeFixedForInstantExecution

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

    • -2
    • +2
    ./AbstractProjectDependencyConflictResolutionIntegrationSpec.groovy
  1. … 872 more files in changeset.
Move skip reasons to @FailsWithInstantExecution and drop @IgnoreWithInstantExecution

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

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

    • -1
    • +1
    ./AbstractProjectDependencyConflictResolutionIntegrationSpec.groovy
  1. … 126 more files in changeset.
Annotate integ tests failing with instant execution in :compositeBuilds

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

    • -0
    • +2
    ./AbstractProjectDependencyConflictResolutionIntegrationSpec.groovy
  1. … 27 more files in changeset.
Annotate integ tests failing with instant execution in :compositeBuilds

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

    • -0
    • +2
    ./AbstractProjectDependencyConflictResolutionIntegrationSpec.groovy
  1. … 27 more files in changeset.
Annotate integ tests failing with instant execution in :compositeBuilds

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

    • -0
    • +2
    ./AbstractProjectDependencyConflictResolutionIntegrationSpec.groovy
  1. … 27 more files in changeset.
Revert "Do not emit deprecation warning for deprecated 'force'"

This reverts commit 1db54192db6ef9af5c2fd6b227004eed9a27c07f.

    • -0
    • +3
    ./AbstractProjectDependencyConflictResolutionIntegrationSpec.groovy
  1. … 10 more files in changeset.
Do not emit deprecation warning for deprecated 'force'

Nagging for this deprecation will only start with 6.1 to ease

the migration from 'force' to 'strictly'.

    • -3
    • +0
    ./AbstractProjectDependencyConflictResolutionIntegrationSpec.groovy
  1. … 10 more files in changeset.
Do not emit deprecation warning for deprecated 'force'

Nagging for this deprecation will only start with 6.1 to ease

the migration from 'force' to 'strictly'.

    • -3
    • +0
    ./AbstractProjectDependencyConflictResolutionIntegrationSpec.groovy
  1. … 10 more files in changeset.
Deprecated `force` on first-level dependencies

This commit deprecates using `force` in favor of using the

new "strictly" behavior. The "force" flag is still used

internally, in particular in case of virtual platforms, but

its usage should be discouraged as we have a solution which

is better now.

    • -0
    • +3
    ./AbstractProjectDependencyConflictResolutionIntegrationSpec.groovy
  1. … 23 more files in changeset.
Deprecated `force` on first-level dependencies

This commit deprecates using `force` in favor of using the

new "strictly" behavior. The "force" flag is still used

internally, in particular in case of virtual platforms, but

its usage should be discouraged as we have a solution which

is better now.

    • -0
    • +3
    ./AbstractProjectDependencyConflictResolutionIntegrationSpec.groovy
  1. … 18 more files in changeset.
Deprecated `force` on first-level dependencies

This commit deprecates using `force` in favor of using the

new "strictly" behavior. The "force" flag is still used

internally, in particular in case of virtual platforms, but

its usage should be discouraged as we have a solution which

is better now.

    • -0
    • +3
    ./AbstractProjectDependencyConflictResolutionIntegrationSpec.groovy
  1. … 23 more files in changeset.
Support a dependency with both `require` and `prefer` versions

    • -40
    • +35
    ./AbstractProjectDependencyConflictResolutionIntegrationSpec.groovy
  1. … 14 more files in changeset.
Normalize `ModuleIdentifier`

This commit reworks the `ComponentModuleIdentifier`/`ComponentModuleSelector`/`ModuleVersionSelector`

classes to use `ModuleIdentifier` under the hood, instead of storing denormalized strings. This has

the advantage that we can reduce the use of the module identifier factory, which is called very

often during dependency resolution. Sharing instances reduces the need for conversions, and makes

comparisons faster.

    • -1
    • +2
    ./AbstractProjectDependencyConflictResolutionIntegrationSpec.groovy
  1. … 164 more files in changeset.
Change `ProjectComponentIdentifier` and `ProjectComponentSelector` implementations to carry enough information to report the correct display name and project name. Change more places to delegate to the `BuildState` for a particular build to determine these values for a given project, rather than duplicating the logic to calculate these things.

    • -1
    • +3
    ./AbstractProjectDependencyConflictResolutionIntegrationSpec.groovy
  1. … 43 more files in changeset.
Move a service implementation into core to live with the service interface, as this service no longer represents a composite build specific view of the projects in the build tree.

    • -1
    • +1
    ./AbstractProjectDependencyConflictResolutionIntegrationSpec.groovy
  1. … 22 more files in changeset.
Remove design-docs folder

This has turned into a graveyard for ideas. It only serves

to confuse people at this point. We have found it more productive

to either

- use GitHub Epics and issues for smaller design questions

- use Google Docs for larger topics (e.g. native publishing)

These documents quickly go out of date once a feature is implemented.

They are not a replacement for good user and code documentation.

Many of the documents are about features that we never ended up

implementing. Having those documents still around might lock us

into a certain way of thinking about a problem. Instead we should

have a fresh look at it when we actually want to start working on it.

    • -2
    • +1
    ./AbstractProjectDependencyConflictResolutionIntegrationSpec.groovy
  1. … 200 more files in changeset.
Revert De-duplicate commonly used immutable objects in dependency resolution and IDE changes

Commits reverted:

- 807b1e4f8d1585d93c1de3e9ca83d99d0819e2d2

- 9482b0b05374253cafdb776550d7016385912e04

- 4ecead06b53ec6b0f15c517bf0d0c6a74c3b3c05

- db1135a8a5f1c507e0df3c03ad12ddc963799e4d

- 7350bcbae30a777909cec74ebfd5a91d2c89081e

Additionally, minor changes to avoid usage of introduced

classes and methods from subsequent commits.

Issue: gradle/gradle-private#563

    • -1
    • +1
    ./AbstractProjectDependencyConflictResolutionIntegrationSpec.groovy
  1. … 109 more files in changeset.
De-duplicate (= intern) some instances in dependency resolution

- Reduce memory usage of dependency resolution by de-duplicating the

most commonly used immutable instances.

- Objects aren't strictly immutable: displayName is calculated lazily

- solution is thread-safe without synchronization

- lazy calculation is needed for efficient interning since a lookup

will always create a new instance.

- Use strong references in some instance interners

- strong references cause less GC overhead than weak references

- Strong references:

DefaultModuleIdentifier

DefaultModuleVersionIdentifier

DefaultModuleVersionSelector

DefaultModuleComponentIdentifier

DefaultModuleComponentSelector

DefaultProjectComponentSelector

- Weak references:

DefaultLibraryBinaryIdentifier

DefaultLibraryComponentSelector

DefaultIvyArtifactName

- Both reference types:

DefaultBuildIdentifier

DefaultProjectComponentIdentifier

- The reason for special handing is that DefaultBuildIdentifier

has a state field "current" as part of the instance which

isn't part of equals/hashCode.

+review REVIEW-6277

    • -1
    • +1
    ./AbstractProjectDependencyConflictResolutionIntegrationSpec.groovy
  1. … 104 more files in changeset.
(slightly) shorter test names

This addresses a review comment.

+review REVIEW-6257

    • -0
    • +191
    ./AbstractProjectDependencyConflictResolutionIntegrationSpec.groovy
  1. … 8 more files in changeset.