Class ApiOnlySuitePlugin
- All Implemented Interfaces:
org.gradle.api.Plugin<org.gradle.api.Project>
detectAllApiGaps aggregate task and the apiOnlySuite DSL
extension.
This is a pure composition module: it contains no detection logic of its own, only wiring. Each of the three underlying plugins registers its own task and extension exactly as it does when applied on its own - applying via this suite is indistinguishable, from each individual plugin's point of view, from a consumer applying it directly. None of the three plugins was modified to support being applied this way.
Applying this plugin pulls in whatever version of each of the three detector plugins was the latest published one at the time this suite's own version was released - not necessarily each plugin's current latest, since a consumer only re-resolves it by upgrading the suite itself. The release pipeline resolves each sibling's real published version from its own release tags immediately before publishing this plugin, and - since Aug 2026 - waits for any sibling release this same push also triggers to finish first, so this suite is never published pinned to a sibling version older than what that same change actually released.
Usage
plugins {
id 'com.arc-e-tect.api-only-suite'
}
apiOnlySuite {
rootDocument = file('src/main/resources/openapi/openapi.yaml')
}
The aggregate task is not wired into check or build
automatically, for the same reason none of the three individual plugins are. Opt in explicitly
once the task is safe to run as part of your build:
tasks.named('check') {
dependsOn 'detectAllApiGaps'
}
-
Field Summary
Fields -
Constructor Summary
Constructors -
Method Summary
-
Field Details
-
TASK_NAME
Name of the aggregate Gradle task registered by this plugin.- See Also:
-
-
Constructor Details
-
ApiOnlySuitePlugin
public ApiOnlySuitePlugin()Creates a new plugin instance. Instantiated by Gradle infrastructure.
-
-
Method Details
-
apply
public void apply(org.gradle.api.Project project) - Specified by:
applyin interfaceorg.gradle.api.Plugin<org.gradle.api.Project>
-