Clone Tools
  • last updated a few seconds ago
Constraints
Constraints: committers
 
Constraints: files
Constraints: dates
Make `JvmPackageName` stateless, since it was only used for validation

  1. … 3 more files in changeset.
Make `JvmPackageName` stateless, since it was only used for validation

  1. … 3 more files in changeset.
Move all infrastructure to the new exclude merging package

The old package is still here and will be removed in a subsequent commit.

    • -3
    • +6
    ./resolve/JvmLocalLibraryDependencyResolverTest.groovy
  1. … 18 more files in changeset.
Extend `JvmPackageNameTest` with package names that include `$` and `_`

Rename several classes to fix spelling

Signed-off-by: Bo Zhang <bo@gradle.com>

    • -0
    • +26
    ./resolve/ParameterizedBinaryString.java
    • -0
    • +26
    ./resolve/ParameterizedBinaryVariantDimension1.java
    • -0
    • +24
    ./resolve/ParameterizedVariant.java
    • -26
    • +0
    ./resolve/ParametrizedBinaryString.java
    • -26
    • +0
    ./resolve/ParametrizedBinaryVariantDimension1.java
  1. … 2 more files in changeset.
spelling: parameterized

Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>

    • -2
    • +2
    ./resolve/ParametrizedBinaryString.java
    • -2
    • +2
    ./resolve/ParametrizedBinaryVariantDimension1.java
    • -3
    • +3
    ./resolve/VariantsMetaDataHelperTest.groovy
  1. … 11 more files in changeset.
Provide an explicit `acceptor` and `rejector` to API for choosing dependency version

This will permit a single `ResolvedVersionConstraint` to have both a `prefer`

and a `require` version.

    • -1
    • +1
    ./resolve/JvmLocalLibraryDependencyResolverTest.groovy
  1. … 14 more files in changeset.
Separate `ITaskFactory` from `NamedEntityInstantiator<Task>` so that the instantiator is applied as a decoration over the factory.

  1. … 37 more files in changeset.
Honor dependency attributes when they override configuration attributes

This commit fixes artifact selection so that when we resolve artifacts, we also use

the attributes defined on the dependency itself, if ever. Before, when we were resolving

artifacts, only the consumer configuration attributes were used.

    • -2
    • +3
    ./resolve/JvmLocalLibraryDependencyResolverTest.groovy
  1. … 23 more files in changeset.
Provide ResolvedVersionConstraint when resolving component id

The 'resolved' version constraint is critical to resolving the component id

for a given selector. In order to honour all constraints in the resolution

process, this `ResolvedVersionConstraint` will be composed of more than

just the constraints for a single selector.

With this change, the `ResolvedVersionConstraint` is constructed

prior to resolving the id, rather than being constructed as part of that

process.

    • -1
    • +1
    ./resolve/JvmLocalLibraryDependencyResolverTest.groovy
  1. … 14 more files in changeset.
Rename id accessors for consistency

Use `ComponentIdentifier getId()`

Use `ModuleVersionIdentifier getModuleVersionId()`

    • -5
    • +5
    ./resolve/JvmLocalLibraryDependencyResolverTest.groovy
  1. … 67 more files in changeset.
Polish: metaData -> metadata

    • -1
    • +1
    ./resolve/JvmLocalLibraryDependencyResolverTest.groovy
  1. … 13 more files in changeset.
Remove unit test uses of DependencyMetadata.requested

    • -6
    • +0
    ./resolve/JvmLocalLibraryDependencyResolverTest.groovy
  1. … 14 more files in changeset.
Removed unused `ModuleId` param from `DependencyToComponentIdResolver.resolve()`

    • -2
    • +1
    ./resolve/JvmLocalLibraryDependencyResolverTest.groovy
  1. … 14 more files in changeset.
Avoid computing `ModuleIdentifier` multiple times for the same module

This commit pre-computes a `ModuleIdentifier` from a dependency and passes it around several places where it

is used. This saves a bunch of lookups in the module identifier cache, which tend to be pretty expensive.

Dependency substitution is also passed the original module identifier, in case no substitution is done. This

prevents an additional lookup.

    • -1
    • +2
    ./resolve/JvmLocalLibraryDependencyResolverTest.groovy
  1. … 23 more files in changeset.
Create a `ResolvedArtifact` wrapper for each external artifact once per build invocation, rather than once per dependency graph per build invocation.

    • -2
    • +2
    ./resolve/JvmLocalLibraryDependencyResolverTest.groovy
  1. … 15 more files in changeset.
Moved some in-heap caching of `ResolvedArtifact` from cache per dependency graph to cache per build invocation. In this change the caching is applied only to local artifacts. With this change, only a single `ResolvedArtifact` wrapper is created and retained per build invocation for each project artifact, instead of creating and retaining a wrapper per artifact per resolved dependency graph.

    • -7
    • +10
    ./resolve/JvmLocalLibraryDependencyResolverTest.groovy
  1. … 9 more files in changeset.
Replace generic `Transformer` with typed `VariantSelector`

This change allows us to use `select` instead of `transform` as the

action method and should also locate uses/implementations of this

interface.

    • -2
    • +2
    ./resolve/JvmLocalLibraryDependencyResolverTest.groovy
  1. … 23 more files in changeset.
Turn `ModuleExclusions` into a build scoped service

    • -0
    • +3
    ./resolve/JvmLibraryResolveContextTest.groovy
  1. … 53 more files in changeset.
Pass the module identifier factory down to module forcing resolve rule

    • -1
    • +1
    ./resolve/JvmLibraryResolveContextTest.groovy
  1. … 11 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
    ./resolve/JvmLibraryResolveContextTest.groovy
    • -1
    • +1
    ./resolve/JvmLocalLibraryDependencyResolverTest.groovy
  1. … 108 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
    ./resolve/JvmLibraryResolveContextTest.groovy
    • -1
    • +1
    ./resolve/JvmLocalLibraryDependencyResolverTest.groovy
  1. … 103 more files in changeset.
Move JVM-component dependency resolution classes

Moved a lot of classes from ':platform-base' to ':platform-jvm',

and restructured into common `org.gradle.jvm.internal.resolve` package.

    • -74
    • +0
    ./DefaultJavaPlatformVariantAxisCompatibilityTest.groovy
    • -0
    • +73
    ./resolve/DefaultJavaPlatformVariantAxisCompatibilityTest.groovy
    • -0
    • +75
    ./resolve/DefaultVariantsMetaDataTest.groovy
    • -0
    • +49
    ./resolve/JvmLibraryResolveContextTest.groovy
    • -0
    • +292
    ./resolve/JvmLocalLibraryDependencyResolverTest.groovy
    • -0
    • +26
    ./resolve/ParametrizedBinaryString.java
    • -0
    • +26
    ./resolve/ParametrizedBinaryVariantDimension1.java
    • -0
    • +24
    ./resolve/ParametrizedVariant.java
    • -0
    • +22
    ./resolve/VariantDimension1.java
    • -0
    • +22
    ./resolve/VariantDimension2.java
    • -0
    • +20
    ./resolve/VariantDimension3.java
    • -0
    • +241
    ./resolve/VariantsMatcherTest.groovy
    • -0
    • +107
    ./resolve/VariantsMetaDataHelperTest.groovy
  1. … 46 more files in changeset.
Moved `ComponentSpecIdentifier` into an internal package.

    • -1
    • +1
    ./plugins/CreateJvmBinariesTest.groovy
  1. … 6 more files in changeset.
Pushed `JvmBinaryTasks` down to `JarBinarySpec` and use same pattern as for the native binaries to statically declare the tasks.

  1. … 9 more files in changeset.
Fixed unit test for changes to descriptors of `BinarySpec` children.

    • -2
    • +2
    ./plugins/CreateJvmBinariesTest.groovy
Rework extensible type fixtures to simplify code

+review REVIEW-5695

    • -3
    • +1
    ./plugins/CreateJvmBinariesTest.groovy
  1. … 13 more files in changeset.
Make extensible type fixtures work with managed types

Things that had to be cleared up:

- not all Base*Fixtures classes were creating nodes with managed

projections

- some tests were using a separate ManagedProxyFactory, and the same

type got generated twice in the same classloader

+review REVIEW-5695

  1. … 16 more files in changeset.
Merged `BinaryNamingSchemeBuilder` into `BinaryNamingScheme`.

    • -10
    • +2
    ./plugins/CreateJvmBinariesTest.groovy
  1. … 13 more files in changeset.
Do not use the legacy decoration on the delegate objects created for `ComponentSpec`, `BinarySpec` and `LanguageSourceSet` elements.

+review REVIEW-5708

    • -3
    • +1
    ./plugins/CreateJvmBinariesTest.groovy
  1. … 26 more files in changeset.