Plugin authors will now be able to split their API and implementation, effectively hiding any implementation details from consumers of the plugin. This feature is only available if the build specifies an apiSourceSet:
This PR also introduced versioned source sets, meaning the source sets will be tied to a specific Gradle version. The Gradle API dependency will reflect the selected Gradle version. At the moment, we rely on a naming convention:
The main source set will automatically include an implementation dependency on each versioned source set. If an API source set is declared, then each versioned source set will have a compileOnly dependency on the API source set.
Plugin authors will now be able to split their API and implementation, effectively hiding any implementation details from consumers of the plugin. This feature is only available if the build specifies an
apiSourceSet
:This PR also introduced versioned source sets, meaning the source sets will be tied to a specific Gradle version. The Gradle API dependency will reflect the selected Gradle version. At the moment, we rely on a naming convention:
The main source set will automatically include an
implementation
dependency on each versioned source set. If an API source set is declared, then each versioned source set will have acompileOnly
dependency on the API source set.