Clone Tools
  • last updated a few seconds ago
Constraints
Constraints: committers
 
Constraints: files
Constraints: dates
Add a way to declare exclusive content for each repository

Before this change, if a repository declared contents using

`repository.content { include "...." }`, it was required to

also declare that the _other_ repositories excluded it in

order to be mutually exclusive.

There's now an API which allows to declare exclusive content:

```

repositories {

exclusiveContent {

forRepository {

maven { url "https://my-company-repo.com" }

}

filter { includeGroup("com.mycompany") }

}

mavenCentral()

}

```

    • -2
    • +278
    ./DefaultRepositoryHandlerTest.groovy
  1. … 6 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.

    • -0
    • +2
    ./DefaultComponentMetadataHandlerTest.groovy
    • -0
    • +2
    ./DefaultComponentMetadataProcessorTest.groovy
  1. … 17 more files in changeset.
Inject PlatformSupport into component metadata handler

This gives access to the typed version for the 'category=platform'

attribute value.

    • -4
    • +2
    ./DefaultComponentMetadataHandlerTest.groovy
    • -5
    • +5
    ./DefaultComponentMetadataProcessorTest.groovy
  1. … 7 more files in changeset.
Revert "Revert "Merge branch 'release'""

This reverts commit 67b8bb8f18f854f45a2f5ec52cc9c8a25981e2f2.

This restores the merge attempt from earlier.

    • -2
    • +2
    ./DefaultComponentMetadataHandlerTest.groovy
    • -2
    • +2
    ./DefaultComponentMetadataProcessorTest.groovy
  1. … 65 more files in changeset.
Revert "Merge branch 'release'"

This reverts commit c7fdc455dcb9a8016af0ae9bc8b4c43fde1e2d06, reversing

changes made to 9f70d52b74dbc8c71381781b6c155474031b3cf8.

The changes need a wrapper as there are API changes. Reverting for now.

    • -2
    • +2
    ./DefaultComponentMetadataHandlerTest.groovy
    • -2
    • +2
    ./DefaultComponentMetadataProcessorTest.groovy
  1. … 65 more files in changeset.
Changes in Gradle Module Metadata loading

We no longer define any configurations, like default or the maven ones.

In the past, we still had these defined which allowed partial legacy

selection. But it made no sense since all these configurations would not

have any dependencies for example.

Fixes #10980

    • -2
    • +2
    ./DefaultComponentMetadataHandlerTest.groovy
    • -2
    • +2
    ./DefaultComponentMetadataProcessorTest.groovy
  1. … 15 more files in changeset.
Rename inheritStrictVersions() -> endorseStrictVersions() (#10755)

This name change more clearly communicates the semantics of the

feature from a users point of view.

This commit also removes all mentions of 'inheriting' AND 'forSubgraph'.

There have been some leftovers in documentation/comments that

would have been misleading in the future. To make sure we catch all,

this also updates all variable/method/package names.

    • -12
    • +12
    ./dependencies/DefaultDependencyHandlerTest.groovy
  1. … 70 more files in changeset.
Updates to terminology for clarity

- `inheritStrictConstraints` -> `inheritStrictVersions`

- `notInheritStrictConstraints` -> `doNotInheritStrictVersions`

    • -2
    • +2
    ./dependencies/DefaultDependencyHandlerTest.groovy
  1. … 31 more files in changeset.
Rework `forSubgraph` as implied by `strictly`

This commit removes a dedicated `forSubgraph` flag

on version constraints, so that it is _implied_ by

strict version constraints. This simplifies the behavior

of `strictly`, making it closer to the intuitive semantics,

while maintaining the ability to fail the build if a

consumer brings an incompatible version in the graph.

As a consequence, _strict dependencies_ now express that

the producer preference overrides whatever is found in

its own dependency graph. It is closer to the "nearest

first" semantics of Maven, while not having its drawbacks

(ordering in particular).

    • -2
    • +2
    ./dependencies/DefaultDependencyHandlerTest.groovy
  1. … 77 more files in changeset.
Add notInheritConstraints() to module dependency API

    • -0
    • +26
    ./dependencies/DefaultDependencyHandlerTest.groovy
  1. … 5 more files in changeset.
Make platform() dependencies inheriting

    • -0
    • +53
    ./dependencies/DefaultDependencyHandlerTest.groovy
  1. … 1 more file in changeset.
Remove parameter support in ComponentSelectionRules

Previous parameters are available on `ComponentSelection` instead.

    • -1
    • +1
    ./DefaultComponentMetadataProcessorTest.groovy
  1. … 11 more files in changeset.
Remove the singleton `NamedObjectInstantiator`. This is now available as a global service instead.

    • -1
    • +2
    ./dependencies/DefaultDependencyConstraintHandlerTest.groovy
    • -1
    • +2
    ./dependencies/DefaultDependencyHandlerTest.groovy
  1. … 12 more files in changeset.
Replace another usage of the `NamedObjectInstantiator` singleton with an injected service.

    • -4
    • +3
    ./DefaultComponentMetadataHandlerTest.groovy
    • -4
    • +3
    ./DefaultComponentMetadataProcessorTest.groovy
  1. … 31 more files in changeset.
Add deprecation mechanism for configurations

  1. … 16 more files in changeset.
Merge branch 'dependency-handler-as-extension-aware' of https://github.com/JLLeitschuh/gradle

    • -0
    • +24
    ./dependencies/DefaultDependencyHandlerTest.groovy
  1. … 4 more files in changeset.
Update Category attribute to be typed

Adapt code to new typed attributes, dealing with coercible String values

when parsed from metadata and typed values when created inside a Gradle

build.

    • -3
    • +1
    ./dependencies/DefaultDependencyConstraintHandlerTest.groovy
    • -1
    • +1
    ./dependencies/DefaultDependencyHandlerTest.groovy
  1. … 26 more files in changeset.
Do not require a version for required capabilities

Whenever a dependency "requires" a capability, use a lenient

parser so that we don't have to provide a version number: the

version is currently not used.

    • -9
    • +77
    ./CapabilityNotationParserFactoryTest.groovy
  1. … 8 more files in changeset.
Merge branch 'master' into dependency-handler-as-extension-aware

Signed-off-by: Jonathan Leitschuh <Jonathan.Leitschuh@plexxi.com>

    • -16
    • +4
    ./dependencies/DefaultDependencyHandlerTest.groovy
  1. … 4 more files in changeset.
Allow the services required by a given class to be queried prior to creating any instances of that class. Use this to allow `ArtifactTransformDependencies` to be injected into artifact transforms using any of the service injection patterns (that is, via a constructor or a getter).

    • -2
    • +2
    ./DefaultComponentMetadataHandlerTest.groovy
    • -1
    • +1
    ./DefaultComponentMetadataProcessorTest.groovy
    • -1
    • +1
    ./PublishArtifactNotationParserFactoryTest.groovy
    • -1
    • +1
    ./dependencies/DefaultDependencyConstraintHandlerTest.groovy
    • -1
    • +1
    ./dependencies/DefaultDependencyHandlerTest.groovy
  1. … 121 more files in changeset.
Remove direct usages of `ThreadGlobalInstantiator` from tests, replace with test fixtures.

    • -2
    • +2
    ./PublishArtifactNotationParserFactoryTest.groovy
  1. … 8 more files in changeset.
Revert "Merge branch 'sg/lazy/publish-register-2' into release"

This reverts commit 975120ec3997139e2e81e9ad4c03df89fa0748e5, reversing

changes made to 2eb24bc6b76a7d76b97036ca2c716730bc156d76.

    • -7
    • +10
    ./DefaultArtifactHandlerTest.groovy
    • -45
    • +39
    ./PublishArtifactNotationParserFactoryTest.groovy
  1. … 23 more files in changeset.
Fix remaining unit tests

    • -11
    • +11
    ./PublishArtifactNotationParserFactoryTest.groovy
Almost all tests fixed

    • -19
    • +19
    ./PublishArtifactNotationParserFactoryTest.groovy
  1. … 3 more files in changeset.
Fix unit tests

    • -10
    • +7
    ./DefaultArtifactHandlerTest.groovy
    • -11
    • +19
    ./PublishArtifactNotationParserFactoryTest.groovy
  1. … 2 more files in changeset.
Fix unused import

    • -1
    • +0
    ./PublishArtifactNotationParserFactoryTest.groovy
Replace various ConfigurablePublishArtifact types with a single one backed by Providers

    • -9
    • +8
    ./PublishArtifactNotationParserFactoryTest.groovy
  1. … 19 more files in changeset.
Replace most direct usages of `DirectInstantiator` with indirect usages via `InstantiatorFactory` or test fixtures instead. This means more consistent behaviour in unit tests because the objects under test will behave more similarly to how they do at runtime. This also allows the decision of how the instantiation should behave to live in as few places as possible, so this can be more easily evolved and contextualized.

    • -3
    • +2
    ./DefaultComponentMetadataHandlerTest.groovy
    • -2
    • +1
    ./DefaultComponentMetadataProcessorTest.groovy
  1. … 59 more files in changeset.
Remove some direct usages of `AsmBackedClassGenerator` from tests, and instead use `TestUtil` fixture to take care of setting up a decorating `Instantiator`.

    • -2
    • +2
    ./dependencies/DefaultDependencyConstraintHandlerTest.groovy
    • -2
    • +2
    ./dependencies/DefaultDependencyHandlerTest.groovy
  1. … 15 more files in changeset.
Emit build operations around container callback executions (core and dependencyMgmt containers) (#7734)

* Decorate taskcontainer callbacks to track application id

* Decorate plugin container callbacks

* Decorate repositoryContainer callbacks

* Decoreate configurations and configuration.dependencies container callbacks

* Decorate artifactTypesDecorator callbacks

* Dont emit build ops for internal declared callbacks

* Provide usercode context in beforeResolve / afterResolve callbacks

* keep compatibility for nebula.dependency-recommender plugin

* Put domain collection callback build ops behind feature toggle

* Decorate Provider.configure() methods

* Simplify container callback filtering and decoration

Previously, we had three classes collaborating to achieve this but now this is inlined into effectively one. While this creates a more complex implementation, that is still rather simple, it avoids the more problematic complexity of a complicated relationship between the three implementations that also required extra state and details to be propagated through all of the collections.

  1. … 70 more files in changeset.