.agents/skills/gradle/references/micronaut-build-plugins.md
This reference is for Micronaut Framework committers. It summarizes plugin behavior from micronaut-projects/micronaut-build source (branch 8.0.x), not from README prose.
In micronaut-build, plugin IDs are generated via internal helper logic:
definePlugin("<name>", ...) -> io.micronaut.build.internal.<name>io.micronaut.build.shared.settingsPrimary registration files:
micronaut-gradle-plugins/build.gradle.ktsmicronaut-kotlin-build-plugins/build.gradle.ktsFor repositories generated from the template, default entry points are:
settings.gradle(.kts): io.micronaut.build.shared.settingsbuild.gradle(.kts): io.micronaut.build.internal.parentbuildSrc convention plugin: wraps module-level internal plugins as neededio.micronaut.build.internal.aot-module -> io.micronaut.build.aot.MicronautAotModulePluginio.micronaut.build.internal.base -> io.micronaut.build.MicronautBasePluginio.micronaut.build.internal.base-module -> io.micronaut.build.MicronautBaseModulePluginio.micronaut.build.internal.binary-compatibility-check -> io.micronaut.build.compat.MicronautBinaryCompatibilityPluginio.micronaut.build.internal.bom -> io.micronaut.build.MicronautBomPluginio.micronaut.build.internal.common -> io.micronaut.build.MicronautBuildCommonPluginio.micronaut.build.internal.dependency-updates -> io.micronaut.build.MicronautDependencyUpdatesPluginio.micronaut.build.internal.docs -> io.micronaut.build.MicronautDocsPluginio.micronaut.build.internal.java-base -> io.micronaut.build.MicronautBuildJavaBasePluginio.micronaut.build.internal.kotlin-base -> io.micronaut.build.MicronautBuildKotlinBasePluginio.micronaut.build.internal.module -> io.micronaut.build.MicronautModulePluginio.micronaut.build.internal.parent -> io.micronaut.build.MicronautParentPluginio.micronaut.build.internal.parent-publishing -> io.micronaut.build.MicronautParentPublishingPluginio.micronaut.build.internal.publishing -> io.micronaut.build.MicronautPublishingPluginio.micronaut.build.internal.quality-checks -> io.micronaut.build.MicronautQualityChecksParticipantPluginio.micronaut.build.internal.quality-reporting -> io.micronaut.build.MicronautQualityReportingAggregatorPluginio.micronaut.build.internal.version-catalog-updates -> io.micronaut.build.catalogs.MicronautVersionCatalogUpdatePluginKotlin-specific plugin IDs:
io.micronaut.build.internal.kotlin -> io.micronaut.build.kotlin.MicronautBuildKotlinPluginio.micronaut.build.internal.kotlin-kapt -> io.micronaut.build.kotlin.MicronautBuildKotlinKaptPluginio.micronaut.build.internal.kotlin-ksp -> io.micronaut.build.kotlin.MicronautBuildKotlinKspPluginSettings plugin IDs:
io.micronaut.build.internal.develocity -> io.micronaut.build.MicronautDevelocityPlugin (apply in settings.gradle(.kts))io.micronaut.build.shared.settings -> io.micronaut.build.MicronautSharedSettingsPluginbase (MicronautBasePlugin)projectVersion format (must start with a digit) and sets project.version.common (MicronautBuildCommonPlugin)base and quality checks participant.allDeps task.java-base (MicronautBuildJavaBasePlugin)micronautBuild extension.kotlin-base and Kotlin wrapperskotlin-base bridges Kotlin JVM target to micronautBuild.javaVersion using reflection.kotlin applies Kotlin JVM + kotlin-base.kotlin-kapt and kotlin-ksp layer annotation processing plugin choice on top.base-module and modulebase-module composes common, dependency-updates, publishing, binary compatibility, Sonatype configuration, and module descriptor generation.maven-publish is present.module adds Micronaut injection/doc processors and framework-specific test framework dependencies.bom (MicronautBomPlugin)micronautBom extension with inlining, inclusion, and exclusion controls.dependency-updates (MicronautDependencyUpdatesPlugin)gradle/libs.versions.toml exists, applies catalog update plugin on root and exits.dependencyUpdates and useLatestVersions.version-catalog-updates (MicronautVersionCatalogUpdatePlugin)updateVersionCatalogs, useLatestVersions (real catalog copy task), and compatibility dependencyUpdates task.publishing (MicronautPublishingPlugin)maven-publish; conditionally applies signing when credentials and keys are present.parent and parent-publishingparent is root-oriented composition (docs, quality-reporting, parent-publishing).parent-publishing is root-only and non-snapshot focused; prepares Maven Central bundle and publish task.quality-checks and quality-reportingbinary-compatibility-checkjapicmp checks for Java modules.check and honors accepted regressions configuration files.docs (MicronautDocsPlugin)aot-modulebase-module, disables standard DI/BOM processing defaults for AOT module semantics.io.micronaut.build.shared.settings)MicronautDevelocityPlugin as part of shared settings wiring.micronaut-build-version into buildSrc/gradle.properties when buildSrc exists.micronautBuildImportant properties in MicronautBuildExtension include:
javaVersion, testJavaVersioncheckstyleVersiondependencyUpdatesPatternenforcedPlatform (guarded in common plugin behavior)enableProcessing, enableBomtestFrameworkuseToolchainsbomSuppressions and compile option hooksmicronautBuildMicronautBuildSettingsExtension includes:
useLocalCache, useRemoteCache)importMicronautCatalog*)requiresDevelopmentVersion)compileClasspath/runtimeClasspath and use dependencyInsight.gradle/libs.versions.toml presence.Key source files to read in micronaut-build:
micronaut-gradle-plugins/build.gradle.ktsmicronaut-kotlin-build-plugins/build.gradle.ktsMicronautBasePlugin.groovyMicronautBuildCommonPlugin.groovyMicronautBuildJavaBasePlugin.javaMicronautBuildKotlinBasePlugin.javaMicronautModulePlugin.groovyMicronautBomPlugin.javaMicronautPublishingPlugin.javaMicronautDependencyResolutionConfigurationPlugin.javaMicronautSharedSettingsPlugin.java