chore(infra+frontend): upgrade Gradle to 9.3.1 and fix KMP plugin conflicts in Docker builds
- Updated Gradle version in `.env`, Dockerfiles, and wrapper to 9.3.1. - Replaced alias-based application of `kotlinMultiplatform` plugin with direct `id` usage in subprojects to resolve "Plugin loaded multiple times" error. - Applied centralized plugin management and Gradle daemon optimizations to improve Docker build stability and address KMP classloading issues.
This commit is contained in:
+7
-5
@@ -2,7 +2,6 @@ import groovy.json.JsonSlurper
|
||||
import io.gitlab.arturbosch.detekt.Detekt
|
||||
import io.gitlab.arturbosch.detekt.extensions.DetektExtension
|
||||
import org.jetbrains.kotlin.gradle.dsl.JvmTarget
|
||||
import org.jetbrains.kotlin.gradle.targets.js.nodejs.NodeJsRootPlugin
|
||||
import org.jetbrains.kotlin.gradle.tasks.KotlinCompile
|
||||
import org.jlleitschuh.gradle.ktlint.KtlintExtension
|
||||
import org.jlleitschuh.gradle.ktlint.reporter.ReporterType
|
||||
@@ -17,7 +16,8 @@ plugins {
|
||||
// This prevents "plugin loaded multiple times" errors in Gradle 9.2.1+
|
||||
// Subprojects apply these plugins via version catalog: alias(libs.plugins.kotlinJvm)
|
||||
alias(libs.plugins.kotlinJvm) apply false
|
||||
alias(libs.plugins.kotlinMultiplatform) apply false
|
||||
// CHANGE: Apply KMP plugin at root (but don't configure targets yet) to claim NodeJsRootPlugin ownership
|
||||
alias(libs.plugins.kotlinMultiplatform) apply true
|
||||
alias(libs.plugins.kotlinSerialization) apply false
|
||||
alias(libs.plugins.kotlinSpring) apply false
|
||||
alias(libs.plugins.kotlinJpa) apply false
|
||||
@@ -34,9 +34,11 @@ plugins {
|
||||
alias(libs.plugins.ktlint)
|
||||
}
|
||||
|
||||
// Workaround for Gradle 9 / KMP Race Condition:
|
||||
// Wir erzwingen die Initialisierung des NodeJsRootPlugins im Root-Projekt
|
||||
apply<NodeJsRootPlugin>()
|
||||
// Minimal KMP configuration for Root Project to satisfy the plugin
|
||||
// This ensures NodeJsRootPlugin is initialized here first.
|
||||
kotlin {
|
||||
jvm() // Dummy target to keep KMP happy
|
||||
}
|
||||
|
||||
// ##################################################################
|
||||
// ### ALLPROJECTS CONFIGURATION ###
|
||||
|
||||
Reference in New Issue
Block a user