Clone
Cédric Champeau
committed
on 09 Mar 18
Introduce `CapabilitiesExtension`
This commit adds a capabilities extension which can be applied to a project. If it's added, local
componen… Show more
Introduce `CapabilitiesExtension`

This commit adds a capabilities extension which can be applied to a project. If it's added, local

components gain the ability to declare capabilities. Currently, only the `java-library` plugin

supports capabilities, but it's expected that more plugins will add it (for example, the native

plugin), which explains why the extension lives in `core`.

When a project declares capabilities, they are bound to configurations. This lets us fail whenever

a local component capability conflicts with a transitive module capability. It will also let us

publish capabilities for local components in a subsequent commit.

Show less

master + 444 more