Skip to content

Switch to using Configuration Capabilities for exporting data - #60

Merged
mcumings merged 1 commit into
mainfrom
mcumings/capabilities
Aug 14, 2026
Merged

Switch to using Configuration Capabilities for exporting data#60
mcumings merged 1 commit into
mainfrom
mcumings/capabilities

Conversation

@mcumings

Copy link
Copy Markdown
Member

Changes the plugin implementation's mechanism for sharing data between project modules in order to avoid the problems which were encountered in eBay/metrics-for-develocity-plugin#102.

Specifically, using configurations with only attributes to distinguish them runs into resolution-time issues:

A lack of attribute definition on a configuration does NOT result in a match rejection. A lack of attribute value acts more like a wildcard accept, resulting in the consumer potentially matching against incorrect configurations. This becomes an issue when multiple plugins publish configurations, as there is no way to filter these out of the matching algorithm and Gradle can fail due to being left with ambiguous options.

TL;DR: There is no decent way for a plugin to publish configurations exclusively for use by itself, so there is no isolation.

Using the newer Capabilities functionality allows for this isolation to be better established.

@mcumings
mcumings marked this pull request as ready for review August 14, 2026 01:17
@mcumings
mcumings requested a review from a team as a code owner August 14, 2026 01:17

@rcgonzalezf rcgonzalezf left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

👍

@mcumings
mcumings merged commit 388b3bd into main Aug 14, 2026
5 checks passed
@mcumings
mcumings deleted the mcumings/capabilities branch August 14, 2026 16:48
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants