diff --git a/buildSrc/build.gradle.kts b/buildSrc/build.gradle.kts index dad2820..1b062d6 100644 --- a/buildSrc/build.gradle.kts +++ b/buildSrc/build.gradle.kts @@ -3,10 +3,11 @@ import org.jetbrains.kotlin.gradle.tasks.KotlinCompile plugins { id("kafkatorio.conventions.kotlin-dsl") + id("kafkatorio.conventions.kotlin-serialization") // idea // `kotlin-dsl` // kotlin("jvm") //version "1.7.20" // embeddedKotlinVersion - kotlin("plugin.serialization") version embeddedKotlinVersion +// kotlin("plugin.serialization") // version embeddedKotlinVersion // kotlin("plugin.serialization") version "1.7.20" } diff --git a/gradle-plugins/factorio-gradle/build.gradle.kts b/gradle-plugins/factorio-gradle/build.gradle.kts index 9c5d55e..6b19f3b 100644 --- a/gradle-plugins/factorio-gradle/build.gradle.kts +++ b/gradle-plugins/factorio-gradle/build.gradle.kts @@ -3,7 +3,7 @@ import org.jetbrains.kotlin.gradle.tasks.KotlinCompile plugins { id("kafkatorio.conventions.kotlin-dsl") - kotlin("plugin.serialization") version embeddedKotlinVersion + id("kafkatorio.conventions.kotlin-serialization") } @@ -61,7 +61,7 @@ gradlePlugin { } -overrideKotlinLanguageVersion("1.6") +overrideKotlinLanguageVersion("1.7") //val gradleKotlinTarget = "1.7" // @@ -73,3 +73,13 @@ overrideKotlinLanguageVersion("1.6") // } // } //} + + +tasks.withType().configureEach { + kotlinOptions.freeCompilerArgs += listOf( + "-opt-in=kotlin.RequiresOptIn", + "-opt-in=kotlin.ExperimentalStdlibApi", + "-opt-in=kotlin.time.ExperimentalTime", + "-opt-in=kotlinx.coroutines.ExperimentalCoroutinesApi", + ) +} diff --git a/gradle-plugins/settings-plugins/build.gradle.kts b/gradle-plugins/settings-plugins/build.gradle.kts index a6e6a32..10e849f 100644 --- a/gradle-plugins/settings-plugins/build.gradle.kts +++ b/gradle-plugins/settings-plugins/build.gradle.kts @@ -14,8 +14,12 @@ dependencies { // get polluted and messy. implementation("org.gradle.kotlin:gradle-kotlin-dsl-plugins:$expectedKotlinDslPluginsVersion") -// implementation("org.jetbrains.kotlin:kotlin-gradle-plugin:${embeddedKotlinVersion}") implementation("org.jetbrains.kotlin:kotlin-gradle-plugin:${libs.versions.kotlin.get()}") + + implementation(platform(libs.kotlin.bom)) + implementation("org.jetbrains.kotlin:kotlin-serialization") + + implementation(platform(libs.kotlinx.coroutines.bom)) } kotlin { diff --git a/gradle-plugins/settings-plugins/src/main/kotlin/kafkatorio/conventions/kotlin-serialization.gradle.kts b/gradle-plugins/settings-plugins/src/main/kotlin/kafkatorio/conventions/kotlin-serialization.gradle.kts new file mode 100644 index 0000000..ad386e9 --- /dev/null +++ b/gradle-plugins/settings-plugins/src/main/kotlin/kafkatorio/conventions/kotlin-serialization.gradle.kts @@ -0,0 +1,8 @@ +package kafkatorio.conventions + +plugins { + kotlin("plugin.serialization") +} + +// No config required or available. This convention plugin is only required because Gradle gets +// confused about the version.