diff --git a/buildSrc/src/main/kotlin/ort-kotlin-conventions.gradle.kts b/buildSrc/src/main/kotlin/ort-kotlin-conventions.gradle.kts index 863951bd3a2f1..2e0165e75a8ff 100644 --- a/buildSrc/src/main/kotlin/ort-kotlin-conventions.gradle.kts +++ b/buildSrc/src/main/kotlin/ort-kotlin-conventions.gradle.kts @@ -157,11 +157,14 @@ tasks.withType().configureEach { } tasks.withType().configureEach { - val customCompilerArgs = listOf( - "-opt-in=kotlin.contracts.ExperimentalContracts", - "-opt-in=kotlin.io.path.ExperimentalPathApi", - "-opt-in=kotlin.time.ExperimentalTime" - ) + val hasSerialization = plugins.hasPlugin(libs.plugins.kotlinSerialization.get().pluginId) + + val customCompilerArgs = buildList { + add("-opt-in=kotlin.contracts.ExperimentalContracts") + add("-opt-in=kotlin.io.path.ExperimentalPathApi") + add("-opt-in=kotlin.time.ExperimentalTime") + if (hasSerialization) add("-opt-in=kotlinx.serialization.ExperimentalSerializationApi") + } compilerOptions { allWarningsAsErrors = true diff --git a/clients/clearly-defined/build.gradle.kts b/clients/clearly-defined/build.gradle.kts index acda81dbbee4c..9e5d139a01390 100644 --- a/clients/clearly-defined/build.gradle.kts +++ b/clients/clearly-defined/build.gradle.kts @@ -17,8 +17,6 @@ * License-Filename: LICENSE */ -import org.jetbrains.kotlin.gradle.tasks.KotlinCompile - plugins { // Apply precompiled plugins. id("ort-library-conventions") @@ -36,13 +34,3 @@ dependencies { implementation(libs.retrofit.converter.kotlinxSerialization) implementation(libs.retrofit.converter.scalars) } - -tasks.withType().configureEach { - val customCompilerArgs = listOf( - "-opt-in=kotlinx.serialization.ExperimentalSerializationApi" - ) - - compilerOptions { - freeCompilerArgs.addAll(customCompilerArgs) - } -} diff --git a/clients/nexus-iq/build.gradle.kts b/clients/nexus-iq/build.gradle.kts index 1f27aad953848..b48245d519dff 100644 --- a/clients/nexus-iq/build.gradle.kts +++ b/clients/nexus-iq/build.gradle.kts @@ -17,8 +17,6 @@ * License-Filename: LICENSE */ -import org.jetbrains.kotlin.gradle.tasks.KotlinCompile - plugins { // Apply precompiled plugins. id("ort-library-conventions") @@ -34,13 +32,3 @@ dependencies { implementation(libs.bundles.kotlinxSerialization) implementation(libs.retrofit.converter.kotlinxSerialization) } - -tasks.withType().configureEach { - val customCompilerArgs = listOf( - "-opt-in=kotlinx.serialization.ExperimentalSerializationApi" - ) - - compilerOptions { - freeCompilerArgs.addAll(customCompilerArgs) - } -} diff --git a/clients/osv/build.gradle.kts b/clients/osv/build.gradle.kts index 7a3ade65cdbcc..232f5b45b2729 100644 --- a/clients/osv/build.gradle.kts +++ b/clients/osv/build.gradle.kts @@ -17,8 +17,6 @@ * License-Filename: LICENSE */ -import org.jetbrains.kotlin.gradle.tasks.KotlinCompile - plugins { // Apply precompiled plugins. id("ort-library-conventions") @@ -37,13 +35,3 @@ dependencies { testImplementation(libs.kotest.assertions.json) } - -tasks.withType().configureEach { - val customCompilerArgs = listOf( - "-opt-in=kotlinx.serialization.ExperimentalSerializationApi" - ) - - compilerOptions { - freeCompilerArgs.addAll(customCompilerArgs) - } -} diff --git a/clients/scanoss/build.gradle.kts b/clients/scanoss/build.gradle.kts index bd6dd2e8aa659..fc18d89d7ef31 100644 --- a/clients/scanoss/build.gradle.kts +++ b/clients/scanoss/build.gradle.kts @@ -17,8 +17,6 @@ * License-Filename: LICENSE */ -import org.jetbrains.kotlin.gradle.tasks.KotlinCompile - plugins { // Apply precompiled plugins. id("ort-library-conventions") @@ -36,13 +34,3 @@ dependencies { testImplementation(libs.wiremock) } - -tasks.withType().configureEach { - val customCompilerArgs = listOf( - "-opt-in=kotlinx.serialization.ExperimentalSerializationApi" - ) - - compilerOptions { - freeCompilerArgs.addAll(customCompilerArgs) - } -} diff --git a/clients/vulnerable-code/build.gradle.kts b/clients/vulnerable-code/build.gradle.kts index e05fd01b7d2d9..3ddb7d4640e08 100644 --- a/clients/vulnerable-code/build.gradle.kts +++ b/clients/vulnerable-code/build.gradle.kts @@ -17,8 +17,6 @@ * License-Filename: LICENSE */ -import org.jetbrains.kotlin.gradle.tasks.KotlinCompile - plugins { // Apply precompiled plugins. id("ort-library-conventions") @@ -34,13 +32,3 @@ dependencies { implementation(libs.bundles.kotlinxSerialization) implementation(libs.retrofit.converter.kotlinxSerialization) } - -tasks.withType().configureEach { - val customCompilerArgs = listOf( - "-opt-in=kotlinx.serialization.ExperimentalSerializationApi" - ) - - compilerOptions { - freeCompilerArgs.addAll(customCompilerArgs) - } -} diff --git a/evaluator/build.gradle.kts b/evaluator/build.gradle.kts index 2d081e37f7e48..c8fff6d475659 100644 --- a/evaluator/build.gradle.kts +++ b/evaluator/build.gradle.kts @@ -19,8 +19,6 @@ import de.undercouch.gradle.tasks.download.Download -import org.jetbrains.kotlin.gradle.tasks.KotlinCompile - plugins { // Apply precompiled plugins. id("ort-library-conventions") @@ -45,16 +43,6 @@ dependencies { testImplementation(libs.mockk) } -tasks.withType().configureEach { - val customCompilerArgs = listOf( - "-opt-in=kotlinx.serialization.ExperimentalSerializationApi" - ) - - compilerOptions { - freeCompilerArgs.addAll(customCompilerArgs) - } -} - tasks.register("updateOsadlMatrix") { description = "Download the OSADL matrix in JSON format and add it as a resource." group = "OSADL" diff --git a/plugins/advisors/osv/build.gradle.kts b/plugins/advisors/osv/build.gradle.kts index d4621bbbfe9de..5234720c6e8f4 100644 --- a/plugins/advisors/osv/build.gradle.kts +++ b/plugins/advisors/osv/build.gradle.kts @@ -17,8 +17,6 @@ * License-Filename: LICENSE */ -import org.jetbrains.kotlin.gradle.tasks.KotlinCompile - plugins { // Apply precompiled plugins. id("ort-library-conventions") @@ -35,13 +33,3 @@ dependencies { implementation(libs.cvssCalculator) implementation(libs.bundles.kotlinxSerialization) } - -tasks.withType().configureEach { - val customCompilerArgs = listOf( - "-opt-in=kotlinx.serialization.ExperimentalSerializationApi" - ) - - compilerOptions { - freeCompilerArgs.addAll(customCompilerArgs) - } -} diff --git a/plugins/package-managers/cargo/build.gradle.kts b/plugins/package-managers/cargo/build.gradle.kts index 0d9bebbda4cd8..beab1e135dacb 100644 --- a/plugins/package-managers/cargo/build.gradle.kts +++ b/plugins/package-managers/cargo/build.gradle.kts @@ -17,8 +17,6 @@ * License-Filename: LICENSE */ -import org.jetbrains.kotlin.gradle.tasks.KotlinCompile - plugins { // Apply precompiled plugins. id("ort-library-conventions") @@ -47,13 +45,3 @@ dependencies { funTestImplementation(testFixtures(projects.analyzer)) } - -tasks.withType().configureEach { - val customCompilerArgs = listOf( - "-opt-in=kotlinx.serialization.ExperimentalSerializationApi" - ) - - compilerOptions { - freeCompilerArgs.addAll(customCompilerArgs) - } -} diff --git a/plugins/package-managers/go/build.gradle.kts b/plugins/package-managers/go/build.gradle.kts index 0d9bebbda4cd8..beab1e135dacb 100644 --- a/plugins/package-managers/go/build.gradle.kts +++ b/plugins/package-managers/go/build.gradle.kts @@ -17,8 +17,6 @@ * License-Filename: LICENSE */ -import org.jetbrains.kotlin.gradle.tasks.KotlinCompile - plugins { // Apply precompiled plugins. id("ort-library-conventions") @@ -47,13 +45,3 @@ dependencies { funTestImplementation(testFixtures(projects.analyzer)) } - -tasks.withType().configureEach { - val customCompilerArgs = listOf( - "-opt-in=kotlinx.serialization.ExperimentalSerializationApi" - ) - - compilerOptions { - freeCompilerArgs.addAll(customCompilerArgs) - } -} diff --git a/plugins/package-managers/nuget/build.gradle.kts b/plugins/package-managers/nuget/build.gradle.kts index 3d51bae330922..a2fde988bbd36 100644 --- a/plugins/package-managers/nuget/build.gradle.kts +++ b/plugins/package-managers/nuget/build.gradle.kts @@ -17,8 +17,6 @@ * License-Filename: LICENSE */ -import org.jetbrains.kotlin.gradle.tasks.KotlinCompile - plugins { // Apply precompiled plugins. id("ort-library-conventions") @@ -41,13 +39,3 @@ dependencies { funTestImplementation(testFixtures(projects.analyzer)) } - -tasks.withType().configureEach { - val customCompilerArgs = listOf( - "-opt-in=kotlinx.serialization.ExperimentalSerializationApi" - ) - - compilerOptions { - freeCompilerArgs.addAll(customCompilerArgs) - } -} diff --git a/plugins/package-managers/python/build.gradle.kts b/plugins/package-managers/python/build.gradle.kts index 4f6fa759ffa05..3ab1adefa129f 100644 --- a/plugins/package-managers/python/build.gradle.kts +++ b/plugins/package-managers/python/build.gradle.kts @@ -17,8 +17,6 @@ * License-Filename: LICENSE */ -import org.jetbrains.kotlin.gradle.tasks.KotlinCompile - plugins { // Apply precompiled plugins. id("ort-library-conventions") @@ -46,13 +44,3 @@ dependencies { funTestImplementation(testFixtures(projects.analyzer)) } - -tasks.withType().configureEach { - val customCompilerArgs = listOf( - "-opt-in=kotlinx.serialization.ExperimentalSerializationApi" - ) - - compilerOptions { - freeCompilerArgs.addAll(customCompilerArgs) - } -} diff --git a/plugins/package-managers/swiftpm/build.gradle.kts b/plugins/package-managers/swiftpm/build.gradle.kts index 4f6fa759ffa05..3ab1adefa129f 100644 --- a/plugins/package-managers/swiftpm/build.gradle.kts +++ b/plugins/package-managers/swiftpm/build.gradle.kts @@ -17,8 +17,6 @@ * License-Filename: LICENSE */ -import org.jetbrains.kotlin.gradle.tasks.KotlinCompile - plugins { // Apply precompiled plugins. id("ort-library-conventions") @@ -46,13 +44,3 @@ dependencies { funTestImplementation(testFixtures(projects.analyzer)) } - -tasks.withType().configureEach { - val customCompilerArgs = listOf( - "-opt-in=kotlinx.serialization.ExperimentalSerializationApi" - ) - - compilerOptions { - freeCompilerArgs.addAll(customCompilerArgs) - } -} diff --git a/plugins/reporters/ctrlx/build.gradle.kts b/plugins/reporters/ctrlx/build.gradle.kts index 3bacc555c0ced..49ff7411ee526 100644 --- a/plugins/reporters/ctrlx/build.gradle.kts +++ b/plugins/reporters/ctrlx/build.gradle.kts @@ -17,8 +17,6 @@ * License-Filename: LICENSE */ -import org.jetbrains.kotlin.gradle.tasks.KotlinCompile - plugins { // Apply precompiled plugins. id("ort-library-conventions") @@ -38,13 +36,3 @@ dependencies { funTestImplementation(testFixtures(projects.reporter)) } - -tasks.withType().configureEach { - val customCompilerArgs = listOf( - "-opt-in=kotlinx.serialization.ExperimentalSerializationApi" - ) - - compilerOptions { - freeCompilerArgs.addAll(customCompilerArgs) - } -} diff --git a/plugins/reporters/gitlab/build.gradle.kts b/plugins/reporters/gitlab/build.gradle.kts index b303544bd246e..7b1b5cb96cc47 100644 --- a/plugins/reporters/gitlab/build.gradle.kts +++ b/plugins/reporters/gitlab/build.gradle.kts @@ -17,8 +17,6 @@ * License-Filename: LICENSE */ -import org.jetbrains.kotlin.gradle.tasks.KotlinCompile - plugins { // Apply precompiled plugins. id("ort-library-conventions") @@ -37,13 +35,3 @@ dependencies { implementation(libs.bundles.kotlinxSerialization) } - -tasks.withType().configureEach { - val customCompilerArgs = listOf( - "-opt-in=kotlinx.serialization.ExperimentalSerializationApi" - ) - - compilerOptions { - freeCompilerArgs.addAll(customCompilerArgs) - } -} diff --git a/plugins/reporters/trustsource/build.gradle.kts b/plugins/reporters/trustsource/build.gradle.kts index de2939a489f6e..6571d8f15fa90 100644 --- a/plugins/reporters/trustsource/build.gradle.kts +++ b/plugins/reporters/trustsource/build.gradle.kts @@ -17,8 +17,6 @@ * License-Filename: LICENSE */ -import org.jetbrains.kotlin.gradle.tasks.KotlinCompile - plugins { // Apply precompiled plugins. id("ort-library-conventions") @@ -42,13 +40,3 @@ dependencies { funTestImplementation(libs.kotest.assertions.json) } - -tasks.withType().configureEach { - val customCompilerArgs = listOf( - "-opt-in=kotlinx.serialization.ExperimentalSerializationApi" - ) - - compilerOptions { - freeCompilerArgs.addAll(customCompilerArgs) - } -} diff --git a/plugins/scanners/askalono/build.gradle.kts b/plugins/scanners/askalono/build.gradle.kts index 02cd0716c1ae2..0040c4de9f8dc 100644 --- a/plugins/scanners/askalono/build.gradle.kts +++ b/plugins/scanners/askalono/build.gradle.kts @@ -17,8 +17,6 @@ * License-Filename: LICENSE */ -import org.jetbrains.kotlin.gradle.tasks.KotlinCompile - plugins { // Apply precompiled plugins. id("ort-library-conventions") @@ -35,13 +33,3 @@ dependencies { funTestApi(testFixtures(projects.scanner)) } - -tasks.withType().configureEach { - val customCompilerArgs = listOf( - "-opt-in=kotlinx.serialization.ExperimentalSerializationApi" - ) - - compilerOptions { - freeCompilerArgs.addAll(customCompilerArgs) - } -} diff --git a/plugins/scanners/boyterlc/build.gradle.kts b/plugins/scanners/boyterlc/build.gradle.kts index 02cd0716c1ae2..0040c4de9f8dc 100644 --- a/plugins/scanners/boyterlc/build.gradle.kts +++ b/plugins/scanners/boyterlc/build.gradle.kts @@ -17,8 +17,6 @@ * License-Filename: LICENSE */ -import org.jetbrains.kotlin.gradle.tasks.KotlinCompile - plugins { // Apply precompiled plugins. id("ort-library-conventions") @@ -35,13 +33,3 @@ dependencies { funTestApi(testFixtures(projects.scanner)) } - -tasks.withType().configureEach { - val customCompilerArgs = listOf( - "-opt-in=kotlinx.serialization.ExperimentalSerializationApi" - ) - - compilerOptions { - freeCompilerArgs.addAll(customCompilerArgs) - } -} diff --git a/plugins/scanners/licensee/build.gradle.kts b/plugins/scanners/licensee/build.gradle.kts index 02cd0716c1ae2..0040c4de9f8dc 100644 --- a/plugins/scanners/licensee/build.gradle.kts +++ b/plugins/scanners/licensee/build.gradle.kts @@ -17,8 +17,6 @@ * License-Filename: LICENSE */ -import org.jetbrains.kotlin.gradle.tasks.KotlinCompile - plugins { // Apply precompiled plugins. id("ort-library-conventions") @@ -35,13 +33,3 @@ dependencies { funTestApi(testFixtures(projects.scanner)) } - -tasks.withType().configureEach { - val customCompilerArgs = listOf( - "-opt-in=kotlinx.serialization.ExperimentalSerializationApi" - ) - - compilerOptions { - freeCompilerArgs.addAll(customCompilerArgs) - } -} diff --git a/plugins/scanners/scancode/build.gradle.kts b/plugins/scanners/scancode/build.gradle.kts index 67205fc728490..ca100b0834ce0 100644 --- a/plugins/scanners/scancode/build.gradle.kts +++ b/plugins/scanners/scancode/build.gradle.kts @@ -17,8 +17,6 @@ * License-Filename: LICENSE */ -import org.jetbrains.kotlin.gradle.tasks.KotlinCompile - plugins { // Apply precompiled plugins. id("ort-library-conventions") @@ -45,13 +43,3 @@ dependencies { testImplementation(libs.mockk) } - -tasks.withType().configureEach { - val customCompilerArgs = listOf( - "-opt-in=kotlinx.serialization.ExperimentalSerializationApi" - ) - - compilerOptions { - freeCompilerArgs.addAll(customCompilerArgs) - } -} diff --git a/scanner/build.gradle.kts b/scanner/build.gradle.kts index f9e3e14e2d935..7fa96372d873d 100644 --- a/scanner/build.gradle.kts +++ b/scanner/build.gradle.kts @@ -17,8 +17,6 @@ * License-Filename: LICENSE */ -import org.jetbrains.kotlin.gradle.tasks.KotlinCompile - plugins { // Apply core plugins. `java-test-fixtures` @@ -57,13 +55,3 @@ dependencies { testFixturesImplementation(libs.kotest.assertions.core) testFixturesImplementation(libs.kotest.runner.junit5) } - -tasks.named("compileTestKotlin") { - val customCompilerArgs = listOf( - "-opt-in=kotlinx.serialization.ExperimentalSerializationApi" - ) - - compilerOptions { - freeCompilerArgs.addAll(customCompilerArgs) - } -}