Clone Tools
  • last updated a few seconds ago
Constraints: committers
Constraints: files
Constraints: dates
Support requested capabilities on external dependencies

This commit adds support for having requested capabilities

part of the module component selector, for external dependencies.

This means that if a component is using Gradle metadata, we can

read requested capabilities and honor them during selection.

This reworks where requested capabilities are stored, and in

particular moves them to the `ComponentSelector`, making them

properly part of the identity of a dependency. As such, two

dependencies requiring two different variants by using distinct

capabilities will now properly appear as two different dependencies

in the dependency graph, instead of two variants of the same


  1. … 49 more files in changeset.

Signed-off-by: Paul Merlin <>

Remove unnecessary Kotlin DSL version in generated extensions jar name

Signed-off-by: Paul Merlin <>

Upgrade to latest nightly

The nightly includes the fix for #8244.

    • -1
    • +1
Separate the two ValidatingProperty classes

Remove now unused Kotlin and Kotlin DSL versions declaration in build

Signed-off-by: Paul Merlin <>

Rename LifecycleAware{Property -> Value}

Rename PropertyMetadata.get{Field -> Property}Name

Rename {Registered* -> *Registration}

  1. … 4 more files in changeset.
Remove a bunch of @LeaksFileHandles annotations

Signed-off-by: Paul Merlin <>

Introduce common superclass for TaskFilePropertySpecs

Add common superclasses for PropertySpec

Undo rename of TaskProperties

  1. … 9 more files in changeset.
Address more review feedback

Merge pull request #8247 from gradle/wolfs/tasks-as-decorated

Use `_Decorated` as class name for generated task classes

Merge branch 'sg/merges/8089'

* sg/merges/8089:

Add setting environment variables to the TestKit support matrix docs

Add missing @Incubating and tweak docs

Mentioned contribution in the release notes

Addressed code review feedback

Support for env variables in TestKit

Initial support for optional features

This commit introduces initial support for optional features, by

implementing a way for a dependency declaration (currently *only* in

the DSL) to request variants of the target component that provide one

or more capabilities.

Previously to this change, selection was (simplified) done like this:

1. find the target component

2. select the variant of the target component which matches the requested


Now, selection introduces another step:

1. find the target component

2. filter variants by eliminating those which do not provide the requested


3. select the variant in this list which matches the requested attributes

Several changes had to be implemented:

First, component metadata rules calling `addCapability` will now return

a component which capabilities _include_ the default capability.

Second, attribute filtering is done in a secondary step, which means that

if there are no variant matching the requested capabilities, we will immediately


  1. … 44 more files in changeset.
Revert "Revert "PluginDependenciesSpecAccessorsIntegrationTest @LeaksFileHandles""

This reverts commit 4a2e7482e5074ee096b1aaf8cbca081e3dde7cfc.

Fix TestFile.forceDeleteDir()

Signed-off-by: Paul Merlin <>

Revert "PluginDependenciesSpecAccessorsIntegrationTest @LeaksFileHandles"

This reverts commit 78e02f9f626ffb070770549fcce9b214b6fe827e.

Raise accepted TAPI jar size by 1KB

to account for the parameter names index resource

Signed-off-by: Paul Merlin <>

Use `_Decorated` as class name for generated task classes

If we don't, there seems to be some problems when syncing with IDEA.

See #8244

PluginDependenciesSpecAccessorsIntegrationTest @LeaksFileHandles


Signed-off-by: Paul Merlin <>

Attempt to fix ScriptCachingIntegrationTest flakiness

Signed-off-by: Paul Merlin <>

TeamCity change in 'Gradle / Promotion' project: runners of 'Publish Branch Snapshot (from Quick Feedback)' build configuration were updated

TeamCity change in 'Gradle / Promotion' project: triggers of 'Release - Release Nightly Snapshot' build configuration were updated

Merge pull request #8230 from gradle/jjohannes/remove-idea

Remove support for using the `idea` task on the Gradle project


Run jfr

KotlinOneDotOnePluginIntegrationTest @LeaksFileHandles

Signed-off-by: Paul Merlin <>