diff --git a/libraries/examples/kotlin-gradle-subplugin-example/build.gradle b/libraries/examples/kotlin-gradle-subplugin-example/build.gradle index 86398ae327d..5455a0a62f5 100644 --- a/libraries/examples/kotlin-gradle-subplugin-example/build.gradle +++ b/libraries/examples/kotlin-gradle-subplugin-example/build.gradle @@ -35,7 +35,7 @@ dependencies { compileOnly project(':dependencies:intellij-core') } -GradleCommonKt.configureCommonPublicationSettingsForGradle(project, false) +GradleCommonKt.configureCommonPublicationSettingsForGradle(project, false, false) GradleCommonKt.configureKotlinCompileTasksGradleCompatibility(project) GradleCommonKt.excludeGradleCommonDependencies(project, sourceSets.main) TasksKt.optInToExperimentalCompilerApi(project) diff --git a/libraries/tools/kotlin-gradle-plugins-bom/build.gradle.kts b/libraries/tools/kotlin-gradle-plugins-bom/build.gradle.kts index 36f288f5d10..0bce50d7d29 100644 --- a/libraries/tools/kotlin-gradle-plugins-bom/build.gradle.kts +++ b/libraries/tools/kotlin-gradle-plugins-bom/build.gradle.kts @@ -26,7 +26,7 @@ dependencies { } } -configureCommonPublicationSettingsForGradle(signLibraryPublication) +configureCommonPublicationSettingsForGradle(signLibraryPublication, sbom = false) publishing { publications { diff --git a/repo/gradle-build-conventions/buildsrc-compat/src/main/kotlin/GradleCommon.kt b/repo/gradle-build-conventions/buildsrc-compat/src/main/kotlin/GradleCommon.kt index 2a388aef713..72c963d59be 100644 --- a/repo/gradle-build-conventions/buildsrc-compat/src/main/kotlin/GradleCommon.kt +++ b/repo/gradle-build-conventions/buildsrc-compat/src/main/kotlin/GradleCommon.kt @@ -65,18 +65,33 @@ val commonSourceSetName = "common" */ fun Project.configureCommonPublicationSettingsForGradle( signingRequired: Boolean, + sbom: Boolean = true, ) { plugins.withId("maven-publish") { - configureDefaultPublishing(signingRequired) - extensions.configure { publications .withType() .configureEach { configureKotlinPomAttributes(project) + if (sbom) { + if (name == "pluginMaven") { + val sbomTask = configureSbom(target = "PluginMaven") + artifact("$buildDir/spdx/PluginMaven/PluginMaven.spdx.json") { + extension = "spdx.json" + builtBy(sbomTask) + } + } else if (name == "Main") { + val sbomTask = configureSbom() + artifact("$buildDir/spdx/MainPublication/MainPublication.spdx.json") { + extension = "spdx.json" + builtBy(sbomTask) + } + } + } } } } + configureDefaultPublishing(signingRequired) } /**