Clone Tools
  • last updated a few seconds ago
Constraints
Constraints: committers
 
Constraints: files
Constraints: dates
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
    ./DefaultComponentIdentifierFactoryTest.groovy
  1. … 22 more files in changeset.
Restore `BuildIdentifier.isCurrentBuild()`.

    • -0
    • +33
    ./DefaultComponentIdentifierFactoryTest.groovy
  1. … 16 more files in changeset.
Moved responsibility for determining the `BuildIdentifier` for a build into core, from dependencyManagement project, and changed the logic to always produce the same identifier for a given build. Previously, the id could change based on _when_ the id was queried. For example, any kind of dependency resolution in an init script would lead to all build having `:` as their build id.

In this change the build id for all nested builds is calculated based on the root directory of the build.

    • -0
    • +1
    ./DefaultComponentIdentifierFactoryTest.groovy
  1. … 20 more files in changeset.
Format the project path in display names for `ProjectComponentIdentifier` in the same way that the fully qualified project path is formatted elsewhere.

This logic is still duplicated in `DefaultProjectComponentIdentifier`, and instead the value already calculated for the project should be reused instead of recalculated.

    • -1
    • +1
    ./DefaultComponentIdentifierFactoryTest.groovy
  1. … 9 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

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

    • -2
    • +2
    ./DefaultComponentIdentifierFactoryTest.groovy
  1. … 104 more files in changeset.
Added `BuildIdentity` service

- Provides the `BuildIdentifier` for the current build

- Used when constructing `ProjectComponentIdentifier` for project

Note that this service is still relying on the `CurrentBuildIdentifier` implementation.

    • -4
    • +10
    ./DefaultComponentIdentifierFactoryTest.groovy
  1. … 6 more files in changeset.
Always use factory method to create ProjectComponentId

    • -2
    • +3
    ./DefaultComponentIdentifierFactoryTest.groovy
  1. … 24 more files in changeset.
Merge Module and ModuleInternal as both are internal

    • -3
    • +3
    ./DefaultComponentIdentifierFactoryTest.groovy
  1. … 26 more files in changeset.
Moved some meta-data types out of org.gradle.api.internal.artifacts to org.gradle.internal.component, and split up into base, local and external types.

    • -0
    • +2
    ./DefaultComponentIdentifierFactoryTest.groovy
    • -58
    • +0
    ./DefaultComponentSpecIdentifierTest.groovy
    • -91
    • +0
    ./DefaultComponentSpecSelectorTest.groovy
    • -81
    • +0
    ./DefaultModuleComponentIdentifierTest.groovy
    • -117
    • +0
    ./DefaultModuleComponentSelectorTest.groovy
    • -60
    • +0
    ./OpaqueComponentIdentifierTest.groovy
  1. … 302 more files in changeset.
Renamed subprojects/core-impl to subprojects/dependency-management.

    • -0
    • +53
    ./DefaultComponentIdentifierFactoryTest.groovy
    • -0
    • +58
    ./DefaultComponentSpecIdentifierTest.groovy
    • -0
    • +91
    ./DefaultComponentSpecSelectorTest.groovy
    • -0
    • +81
    ./DefaultModuleComponentIdentifierTest.groovy
    • -0
    • +117
    ./DefaultModuleComponentSelectorTest.groovy
    • -0
    • +60
    ./OpaqueComponentIdentifierTest.groovy
  1. … 1379 more files in changeset.