diff --git a/analysis/analysis-api-fe10/build.gradle.kts b/analysis/analysis-api-fe10/build.gradle.kts index ab612a15bcb..a3567196d3d 100644 --- a/analysis/analysis-api-fe10/build.gradle.kts +++ b/analysis/analysis-api-fe10/build.gradle.kts @@ -1,3 +1,5 @@ +import org.jetbrains.kotlin.gradle.tasks.KotlinJvmCompile + plugins { kotlin("jvm") id("jps-compatible") @@ -41,11 +43,15 @@ sourceSets { } } -tasks.withType> { - kotlinOptions { - freeCompilerArgs += "-opt-in=kotlin.RequiresOptIn" - freeCompilerArgs += "-Xcontext-receivers" - freeCompilerArgs += "-opt-in=org.jetbrains.kotlin.analysis.api.KtAnalysisApiInternals" +tasks.withType().configureEach { + compilerOptions { + optIn.addAll( + listOf( + "kotlin.RequiresOptIn", + "org.jetbrains.kotlin.analysis.api.KtAnalysisApiInternals" + ) + ) + freeCompilerArgs.add("-Xcontext-receivers") } } diff --git a/analysis/analysis-api-fir/build.gradle.kts b/analysis/analysis-api-fir/build.gradle.kts index 3a73c4c2cc5..a820b7c3168 100644 --- a/analysis/analysis-api-fir/build.gradle.kts +++ b/analysis/analysis-api-fir/build.gradle.kts @@ -1,3 +1,5 @@ +import org.jetbrains.kotlin.gradle.tasks.KotlinJvmCompile + plugins { kotlin("jvm") id("jps-compatible") @@ -73,11 +75,13 @@ projectTest(jUnitMode = JUnitMode.JUnit5) { testsJar() allprojects { - tasks.withType> { - kotlinOptions { - freeCompilerArgs += "-opt-in=org.jetbrains.kotlin.fir.symbols.SymbolInternals" - freeCompilerArgs += "-opt-in=org.jetbrains.kotlin.analysis.api.lifetime.KtAllowProhibitedAnalyzeFromWriteAction" - } + tasks.withType().configureEach { + compilerOptions.optIn.addAll( + listOf( + "org.jetbrains.kotlin.fir.symbols.SymbolInternals", + "org.jetbrains.kotlin.analysis.api.lifetime.KtAllowProhibitedAnalyzeFromWriteAction" + ) + ) } } @@ -108,7 +112,7 @@ val compileKotlin by tasks compileKotlin.dependsOn(generateCode) -tasks.withType().configureEach { - kotlinOptions.freeCompilerArgs += "-Xcontext-receivers" - kotlinOptions.freeCompilerArgs += "-opt-in=org.jetbrains.kotlin.analysis.api.KtAnalysisApiInternals" +tasks.withType().configureEach { + compilerOptions.freeCompilerArgs.add("-Xcontext-receivers") + compilerOptions.optIn.add("org.jetbrains.kotlin.analysis.api.KtAnalysisApiInternals") } diff --git a/analysis/analysis-api-impl-base/build.gradle.kts b/analysis/analysis-api-impl-base/build.gradle.kts index 93a34c19591..e3ddc032e51 100644 --- a/analysis/analysis-api-impl-base/build.gradle.kts +++ b/analysis/analysis-api-impl-base/build.gradle.kts @@ -1,3 +1,5 @@ +import org.jetbrains.kotlin.gradle.tasks.KotlinJvmCompile + plugins { kotlin("jvm") id("jps-compatible") @@ -40,9 +42,9 @@ sourceSets { "test" { projectDefault() } } -tasks.withType().configureEach { - kotlinOptions.freeCompilerArgs += "-Xcontext-receivers" - kotlinOptions.freeCompilerArgs += "-opt-in=org.jetbrains.kotlin.analysis.api.KtAnalysisApiInternals" +tasks.withType().configureEach { + compilerOptions.freeCompilerArgs.add("-Xcontext-receivers") + compilerOptions.optIn.add("org.jetbrains.kotlin.analysis.api.KtAnalysisApiInternals") } testsJar() diff --git a/analysis/analysis-api/build.gradle.kts b/analysis/analysis-api/build.gradle.kts index 2cd10f81f28..8cd9ca9c06c 100644 --- a/analysis/analysis-api/build.gradle.kts +++ b/analysis/analysis-api/build.gradle.kts @@ -1,3 +1,5 @@ +import org.jetbrains.kotlin.gradle.tasks.KotlinJvmCompile + plugins { kotlin("jvm") id("jps-compatible") @@ -35,8 +37,8 @@ sourceSets { "test" { projectDefault() } } -tasks.withType().configureEach { - kotlinOptions.freeCompilerArgs += "-Xcontext-receivers" +tasks.withType().configureEach { + compilerOptions.freeCompilerArgs.add("-Xcontext-receivers") } testsJar() diff --git a/analysis/analysis-test-framework/build.gradle.kts b/analysis/analysis-test-framework/build.gradle.kts index 0684efcc4da..a87e5e6cf74 100644 --- a/analysis/analysis-test-framework/build.gradle.kts +++ b/analysis/analysis-test-framework/build.gradle.kts @@ -1,3 +1,5 @@ +import org.jetbrains.kotlin.gradle.tasks.KotlinJvmCompile + plugins { kotlin("jvm") id("jps-compatible") @@ -38,6 +40,6 @@ projectTest(jUnitMode = JUnitMode.JUnit5) { testsJar() -tasks.withType().configureEach { - kotlinOptions.freeCompilerArgs += "-Xcontext-receivers" +tasks.withType().configureEach { + compilerOptions.freeCompilerArgs.add("-Xcontext-receivers") } \ No newline at end of file diff --git a/analysis/low-level-api-fir/build.gradle.kts b/analysis/low-level-api-fir/build.gradle.kts index 769344f7785..3b6f49a9a4a 100644 --- a/analysis/low-level-api-fir/build.gradle.kts +++ b/analysis/low-level-api-fir/build.gradle.kts @@ -1,3 +1,5 @@ +import org.jetbrains.kotlin.gradle.tasks.KotlinJvmCompile + plugins { kotlin("jvm") id("jps-compatible") @@ -82,12 +84,14 @@ projectTest(jUnitMode = JUnitMode.JUnit5) { } allprojects { - tasks.withType> { - kotlinOptions { - freeCompilerArgs += "-opt-in=org.jetbrains.kotlin.fir.symbols.SymbolInternals" - freeCompilerArgs += "-opt-in=org.jetbrains.kotlin.analysis.low.level.api.fir.LLFirInternals" - freeCompilerArgs += "-opt-in=org.jetbrains.kotlin.analysis.api.KtAnalysisApiInternals" - } + tasks.withType().configureEach { + compilerOptions.optIn.addAll( + listOf( + "org.jetbrains.kotlin.fir.symbols.SymbolInternals", + "org.jetbrains.kotlin.analysis.low.level.api.fir.LLFirInternals", + "org.jetbrains.kotlin.analysis.api.KtAnalysisApiInternals", + ) + ) } } diff --git a/analysis/symbol-light-classes/build.gradle.kts b/analysis/symbol-light-classes/build.gradle.kts index c4479b785d4..a1cf6e831f8 100644 --- a/analysis/symbol-light-classes/build.gradle.kts +++ b/analysis/symbol-light-classes/build.gradle.kts @@ -1,3 +1,5 @@ +import org.jetbrains.kotlin.gradle.tasks.KotlinJvmCompile + plugins { kotlin("jvm") id("jps-compatible") @@ -39,9 +41,9 @@ projectTest(jUnitMode = JUnitMode.JUnit5) { useJUnitPlatform() } -tasks.withType().configureEach { - kotlinOptions.freeCompilerArgs += "-Xcontext-receivers" - kotlinOptions.freeCompilerArgs += "-opt-in=org.jetbrains.kotlin.analysis.api.lifetime.KtAllowProhibitedAnalyzeFromWriteAction" +tasks.withType().configureEach { + compilerOptions.freeCompilerArgs.add("-Xcontext-receivers") + compilerOptions.optIn.add("org.jetbrains.kotlin.analysis.api.lifetime.KtAllowProhibitedAnalyzeFromWriteAction") } diff --git a/compiler/fir/build.gradle.kts b/compiler/fir/build.gradle.kts index af70e2c8ae4..b4178303472 100644 --- a/compiler/fir/build.gradle.kts +++ b/compiler/fir/build.gradle.kts @@ -1,3 +1,5 @@ +import org.jetbrains.kotlin.gradle.tasks.KotlinJvmCompile + val projectsAllowedToUseFirFromSymbol = listOf( "analysis-tests", "dump", @@ -19,11 +21,13 @@ val projectsAllowedToUseFirFromSymbol = listOf( subprojects { if (name in projectsAllowedToUseFirFromSymbol) { - tasks.withType>().configureEach { - kotlinOptions { - freeCompilerArgs += "-opt-in=org.jetbrains.kotlin.fir.symbols.SymbolInternals" - freeCompilerArgs += "-opt-in=org.jetbrains.kotlin.types.model.K2Only" - } + tasks.withType().configureEach { + compilerOptions.optIn.addAll( + listOf( + "org.jetbrains.kotlin.fir.symbols.SymbolInternals", + "org.jetbrains.kotlin.types.model.K2Only", + ) + ) } } } diff --git a/compiler/ir/ir.tree/build.gradle.kts b/compiler/ir/ir.tree/build.gradle.kts index f8b9e0eb307..f53f216e840 100644 --- a/compiler/ir/ir.tree/build.gradle.kts +++ b/compiler/ir/ir.tree/build.gradle.kts @@ -1,3 +1,4 @@ +import org.jetbrains.kotlin.gradle.tasks.KotlinJvmCompile import org.jetbrains.kotlin.ideaExt.idea plugins { @@ -54,10 +55,8 @@ sourceSets { "test" {} } -tasks.withType> { - kotlinOptions { - freeCompilerArgs += "-Xinline-classes" - } +tasks.withType { + compilerOptions.freeCompilerArgs.add("-Xinline-classes") } if (kotlinBuildProperties.isInJpsBuildIdeaSync) { diff --git a/jps/jps-plugin/build.gradle.kts b/jps/jps-plugin/build.gradle.kts index 071230a423a..3398418c513 100644 --- a/jps/jps-plugin/build.gradle.kts +++ b/jps/jps-plugin/build.gradle.kts @@ -1,3 +1,4 @@ +import org.jetbrains.kotlin.gradle.dsl.JvmTarget import org.jetbrains.kotlin.gradle.dsl.KotlinVersion import org.jetbrains.kotlin.gradle.tasks.KotlinCompilationTask @@ -104,7 +105,7 @@ tasks.compileJava { } tasks.compileKotlin { - kotlinOptions.jvmTarget = "1.8" + compilerOptions.jvmTarget = JvmTarget.JVM_1_8 } projectTest(parallel = true) { diff --git a/kotlin-native/Interop/Indexer/build.gradle.kts b/kotlin-native/Interop/Indexer/build.gradle.kts index 2b4d435689d..468443afa1e 100644 --- a/kotlin-native/Interop/Indexer/build.gradle.kts +++ b/kotlin-native/Interop/Indexer/build.gradle.kts @@ -6,11 +6,8 @@ import org.jetbrains.kotlin.tools.lib import org.jetbrains.kotlin.tools.solib import org.jetbrains.kotlin.* -import org.jetbrains.kotlin.gradle.tasks.KotlinCompile +import org.jetbrains.kotlin.gradle.tasks.KotlinJvmCompile import org.jetbrains.kotlin.konan.target.* -import org.jetbrains.kotlin.konan.target.ClangArgs -import org.jetbrains.kotlin.konan.target.Family.* -import org.jetbrains.kotlin.konan.target.HostManager.Companion.hostIsMac plugins { id("org.jetbrains.kotlin.jvm") @@ -162,16 +159,21 @@ kotlinNativeInterop { } } -tasks.withType().configureEach { - kotlinOptions { - freeCompilerArgs += listOf( - "-Xskip-prerelease-check", - "-opt-in=kotlinx.cinterop.BetaInteropApi", - "-opt-in=kotlinx.cinterop.ExperimentalForeignApi", - // staticCFunction uses kotlin.reflect.jvm.reflect on its lambda parameter. - "-Xlambdas=class", +tasks.withType().configureEach { + compilerOptions { + optIn.addAll( + listOf( + "kotlinx.cinterop.BetaInteropApi", + "kotlinx.cinterop.ExperimentalForeignApi", + ) + ) + freeCompilerArgs.addAll( + listOf( + "-Xskip-prerelease-check", + // staticCFunction uses kotlin.reflect.jvm.reflect on its lambda parameter. + "-Xlambdas=class", + ) ) - } } diff --git a/kotlin-native/Interop/Runtime/build.gradle.kts b/kotlin-native/Interop/Runtime/build.gradle.kts index 19ba5d283f7..46f5e6deb81 100644 --- a/kotlin-native/Interop/Runtime/build.gradle.kts +++ b/kotlin-native/Interop/Runtime/build.gradle.kts @@ -67,14 +67,16 @@ sourceSets.main.configure { } -tasks.withType().configureEach { - kotlinOptions { - freeCompilerArgs += listOf( - "-opt-in=kotlin.ExperimentalUnsignedTypes", - "-opt-in=kotlinx.cinterop.BetaInteropApi", - "-opt-in=kotlinx.cinterop.ExperimentalForeignApi", - "-Xskip-prerelease-check" +tasks.withType>().configureEach { + compilerOptions { + optIn.addAll( + listOf( + "kotlin.ExperimentalUnsignedTypes", + "kotlinx.cinterop.BetaInteropApi", + "kotlinx.cinterop.ExperimentalForeignApi", + ) ) + freeCompilerArgs.add("-Xskip-prerelease-check") } } diff --git a/kotlin-native/Interop/Skia/build.gradle b/kotlin-native/Interop/Skia/build.gradle index 8509adafbeb..74a199c25aa 100644 --- a/kotlin-native/Interop/Skia/build.gradle +++ b/kotlin-native/Interop/Skia/build.gradle @@ -15,8 +15,8 @@ dependencies { } compileKotlin { - kotlinOptions.freeCompilerArgs = [ - "-opt-in=kotlinx.cinterop.BetaInteropApi", - "-opt-in=kotlinx.cinterop.ExperimentalForeignApi", + compilerOptions.optIn = [ + "kotlinx.cinterop.BetaInteropApi", + "kotlinx.cinterop.ExperimentalForeignApi", ] } diff --git a/kotlin-native/Interop/StubGenerator/build.gradle.kts b/kotlin-native/Interop/StubGenerator/build.gradle.kts index 8485257806a..ec5de8c121f 100644 --- a/kotlin-native/Interop/StubGenerator/build.gradle.kts +++ b/kotlin-native/Interop/StubGenerator/build.gradle.kts @@ -1,3 +1,5 @@ +import org.jetbrains.kotlin.config.AnalysisFlags.optIn + /* * Copyright 2010-2022 JetBrains s.r.o. * @@ -42,12 +44,10 @@ dependencies { } tasks { - withType { - kotlinOptions { - freeCompilerArgs += listOf( - "-opt-in=kotlin.ExperimentalUnsignedTypes", - "-Xskip-metadata-version-check" - ) + withType> { + compilerOptions { + optIn.add("kotlin.ExperimentalUnsignedTypes") + freeCompilerArgs.add("-Xskip-metadata-version-check") } } diff --git a/kotlin-native/backend.native/build.gradle b/kotlin-native/backend.native/build.gradle index ef91abb1de6..7f8a850772d 100644 --- a/kotlin-native/backend.native/build.gradle +++ b/kotlin-native/backend.native/build.gradle @@ -3,10 +3,12 @@ * that can be found in the LICENSE file. */ +import org.jetbrains.kotlin.gradle.tasks.KotlinCompilationTask import org.jetbrains.kotlin.PlatformInfo import org.jetbrains.kotlin.cpp.CppConsumerPlugin import org.jetbrains.kotlin.cpp.CppUsage import org.jetbrains.kotlin.cpp.DependencyHandlerExKt +import org.jetbrains.kotlin.gradle.dsl.JvmTarget import org.jetbrains.kotlin.tools.NativePluginKt @@ -33,19 +35,29 @@ sourceSets { } compileCompilerKotlin { - kotlinOptions.jvmTarget = "1.8" - kotlinOptions.freeCompilerArgs += [ - '-opt-in=kotlin.RequiresOptIn', - "-opt-in=kotlinx.cinterop.BetaInteropApi", - "-opt-in=kotlinx.cinterop.ExperimentalForeignApi", - "-opt-in=org.jetbrains.kotlin.backend.konan.InternalKotlinNativeApi", - '-Xskip-prerelease-check'] + compilerOptions.jvmTarget = JvmTarget.JVM_1_8 + compilerOptions.optIn.addAll([ + 'kotlin.RequiresOptIn', + "kotlinx.cinterop.BetaInteropApi", + "kotlinx.cinterop.ExperimentalForeignApi", + "org.jetbrains.kotlin.backend.konan.InternalKotlinNativeApi", + ]) + compilerOptions.freeCompilerArgs.add('-Xskip-prerelease-check') } -TasksKt.optInToUnsafeDuringIrConstructionAPI(project) +def tasksWithoutOptInUsage = [ + "compileEnvInteropStubsKotlin", + "compileFilesInteropStubsKotlin", + "compileLlvmInteropStubsKotlin" +] +tasks.withType(KotlinCompilationTask.class).configureEach { + if (!tasksWithoutOptInUsage.contains(name)) { + compilerOptions.optIn.add("org.jetbrains.kotlin.ir.symbols.UnsafeDuringIrConstructionAPI") + } +} compileCli_bcKotlin { - kotlinOptions.freeCompilerArgs += ['-Xskip-prerelease-check'] + compilerOptions.freeCompilerArgs.add('-Xskip-prerelease-check') } configurations { diff --git a/kotlin-native/backend.native/tests/build.gradle b/kotlin-native/backend.native/tests/build.gradle index 9343db15938..13d415e80c5 100644 --- a/kotlin-native/backend.native/tests/build.gradle +++ b/kotlin-native/backend.native/tests/build.gradle @@ -61,9 +61,7 @@ if (!useCustomDist) { } compileTestKotlin { - kotlinOptions { - freeCompilerArgs += "-Xskip-prerelease-check" - } + compilerOptions.freeCompilerArgs.add("-Xskip-prerelease-check") } // Do not generate run tasks for konan built artifacts @@ -1384,7 +1382,7 @@ sourceSets { } compileNopPluginKotlin { - kotlinOptions.freeCompilerArgs += ['-Xskip-prerelease-check'] + compilerOptions.freeCompilerArgs.add('-Xskip-prerelease-check') } Task pluginTest(String name, String pluginName, Closure configureClosure) { diff --git a/kotlin-native/build-tools/src/main/groovy/org/jetbrains/kotlin/NativeInteropPlugin.groovy b/kotlin-native/build-tools/src/main/groovy/org/jetbrains/kotlin/NativeInteropPlugin.groovy index d742adbdc4a..c00413fc11f 100644 --- a/kotlin-native/build-tools/src/main/groovy/org/jetbrains/kotlin/NativeInteropPlugin.groovy +++ b/kotlin-native/build-tools/src/main/groovy/org/jetbrains/kotlin/NativeInteropPlugin.groovy @@ -188,7 +188,7 @@ class NamedNativeInteropConfig implements Named { interopStubs = project.sourceSets.create(interopStubsName) configuration = project.configurations.create(interopStubs.name) project.tasks.getByName(interopStubs.getTaskName("compile", "Kotlin")) { - kotlinOptions.freeCompilerArgs = ["-Xskip-prerelease-check"] + compilerOptions.freeCompilerArgs.add("-Xskip-prerelease-check") } interopStubs.kotlin.srcDir(project.tasks.named(genTask.name).map { generatedSrcDir }) diff --git a/kotlin-native/endorsedLibraries/kotlinx.cli/build.gradle.kts b/kotlin-native/endorsedLibraries/kotlinx.cli/build.gradle.kts index 48fa4a403e1..13be63fd1dd 100644 --- a/kotlin-native/endorsedLibraries/kotlinx.cli/build.gradle.kts +++ b/kotlin-native/endorsedLibraries/kotlinx.cli/build.gradle.kts @@ -34,9 +34,11 @@ kotlin { } compilations.all { - kotlinOptions { - freeCompilerArgs += listOf("-opt-in=kotlinx.cli.ExperimentalCli") - suppressWarnings = true + compileTaskProvider.configure { + compilerOptions { + optIn.add("kotlinx.cli.ExperimentalCli") + suppressWarnings = true + } } } } diff --git a/kotlin-native/klib/build.gradle.kts b/kotlin-native/klib/build.gradle.kts index dff7d8ba4d1..69c8e10996e 100644 --- a/kotlin-native/klib/build.gradle.kts +++ b/kotlin-native/klib/build.gradle.kts @@ -23,8 +23,6 @@ dependencies { implementation(project(":kotlin-metadata")) { isTransitive = false } } -tasks.withType> { - kotlinOptions { - freeCompilerArgs += "-Xskip-prerelease-check" - } +tasks.withType> { + compilerOptions.freeCompilerArgs.add("-Xskip-prerelease-check") } diff --git a/kotlin-native/performance/KotlinVsSwift/ring/build.gradle.kts b/kotlin-native/performance/KotlinVsSwift/ring/build.gradle.kts index 0de650bc54b..4e050828510 100644 --- a/kotlin-native/performance/KotlinVsSwift/ring/build.gradle.kts +++ b/kotlin-native/performance/KotlinVsSwift/ring/build.gradle.kts @@ -25,5 +25,10 @@ swiftBenchmark { tasks.named("compileKotlinNative") { dependsOn(gradle.includedBuild("benchmarksAnalyzer").task(":cinteropLibcurlMacos")) - kotlinOptions.freeCompilerArgs = listOf("-l", project.file("$toolsPath/benchmarksAnalyzer/build/classes/kotlin/macos/main/benchmarksAnalyzer-cinterop-libcurl").absolutePath) + compilerOptions.freeCompilerArgs.addAll( + listOf( + "-l", + project.file("$toolsPath/benchmarksAnalyzer/build/classes/kotlin/macos/main/benchmarksAnalyzer-cinterop-libcurl").absolutePath + ) + ) } \ No newline at end of file diff --git a/kotlin-native/performance/buildSrc/build.gradle.kts b/kotlin-native/performance/buildSrc/build.gradle.kts index 71d049b48a2..629ec2c0bc6 100644 --- a/kotlin-native/performance/buildSrc/build.gradle.kts +++ b/kotlin-native/performance/buildSrc/build.gradle.kts @@ -1,4 +1,5 @@ -import org.jetbrains.kotlin.gradle.tasks.KotlinCompile +import org.jetbrains.kotlin.gradle.dsl.JvmTarget +import org.jetbrains.kotlin.gradle.tasks.KotlinJvmCompile import java.util.Properties import java.io.FileReader @@ -43,9 +44,13 @@ sourceSets["main"].kotlin { srcDir("../../tools/benchmarks/shared/src/main/kotlin/report") } -tasks.withType().configureEach { - kotlinOptions.freeCompilerArgs += - listOf("-opt-in=kotlin.RequiresOptIn", "-opt-in=kotlin.ExperimentalStdlibApi") +tasks.withType().configureEach { + compilerOptions.optIn.addAll( + listOf( + "kotlin.RequiresOptIn", + "kotlin.ExperimentalStdlibApi", + ) + ) } @@ -108,9 +113,7 @@ afterEvaluate { tasks.withType().configureEach { targetCompatibility = "1.8" } - tasks.withType().configureEach { - kotlinOptions { - jvmTarget = "1.8" - } + tasks.withType().configureEach { + compilerOptions.jvmTarget = JvmTarget.JVM_1_8 } } diff --git a/kotlin-native/performance/buildSrc/src/main/kotlin/benchmark/BenchmarkingPlugin.kt b/kotlin-native/performance/buildSrc/src/main/kotlin/benchmark/BenchmarkingPlugin.kt index 67dc346bfd8..6bc602b43e9 100644 --- a/kotlin-native/performance/buildSrc/src/main/kotlin/benchmark/BenchmarkingPlugin.kt +++ b/kotlin-native/performance/buildSrc/src/main/kotlin/benchmark/BenchmarkingPlugin.kt @@ -163,8 +163,9 @@ abstract class BenchmarkingPlugin: Plugin { protected fun Project.configureNativeTarget(hostPreset: AbstractKotlinNativeTargetPreset<*>) { kotlin.targetFromPreset(hostPreset, NATIVE_TARGET_NAME) { compilations.named("main").configure { - @Suppress("DEPRECATION") - kotlinOptions.freeCompilerArgs = benchmark.compilerOpts + project.compilerArgs + compileTaskProvider.configure { + compilerOptions.freeCompilerArgs.set(benchmark.compilerOpts + project.compilerArgs) + } dependencies { implementation("org.jetbrains.kotlinx:kotlinx-cli:0.3.5") } diff --git a/kotlin-native/performance/buildSrc/src/main/kotlin/benchmark/KotlinNativeBenchmarkingPlugin.kt b/kotlin-native/performance/buildSrc/src/main/kotlin/benchmark/KotlinNativeBenchmarkingPlugin.kt index f5f803529ea..5dcbba9a062 100644 --- a/kotlin-native/performance/buildSrc/src/main/kotlin/benchmark/KotlinNativeBenchmarkingPlugin.kt +++ b/kotlin-native/performance/buildSrc/src/main/kotlin/benchmark/KotlinNativeBenchmarkingPlugin.kt @@ -5,6 +5,7 @@ import org.gradle.api.NamedDomainObjectContainer import org.gradle.api.Project import org.gradle.api.Task import org.jetbrains.kotlin.* +import org.jetbrains.kotlin.gradle.dsl.JvmTarget import org.jetbrains.kotlin.gradle.plugin.KotlinSourceSet import org.jetbrains.kotlin.gradle.plugin.mpp.Executable import org.jetbrains.kotlin.gradle.plugin.mpp.KotlinNativeTarget @@ -133,11 +134,12 @@ open class KotlinNativeBenchmarkingPlugin: BenchmarkingPlugin() { private fun Project.configureJVMTarget() { kotlin.jvm { compilations.all { - @Suppress("DEPRECATION") - compileKotlinTask.kotlinOptions { - jvmTarget = "1.8" - suppressWarnings = true - freeCompilerArgs = project.benchmark.compilerOpts + project.compilerArgs + compileTaskProvider.configure { + compilerOptions { + jvmTarget.set(JvmTarget.JVM_1_8) + suppressWarnings.set(true) + freeCompilerArgs.set(project.benchmark.compilerOpts + project.compilerArgs) + } } } } diff --git a/kotlin-native/tools/benchmarksAnalyzer/build.gradle b/kotlin-native/tools/benchmarksAnalyzer/build.gradle index 924edb5c999..651f4a0fa53 100644 --- a/kotlin-native/tools/benchmarksAnalyzer/build.gradle +++ b/kotlin-native/tools/benchmarksAnalyzer/build.gradle @@ -1,3 +1,5 @@ +import org.jetbrains.kotlin.gradle.dsl.JsMainFunctionExecutionMode +import org.jetbrains.kotlin.gradle.dsl.JvmTarget import org.jetbrains.kotlin.konan.target.HostManager import org.jetbrains.kotlin.UtilsKt @@ -100,10 +102,12 @@ kotlin { targets { fromPreset(presets.jvm, 'jvm') { compilations.all { - tasks[compileKotlinTaskName].kotlinOptions { - jvmTarget = '1.8' + compileTaskProvider.configure { + compilerOptions { + jvmTarget = JvmTarget.JVM_1_8 + suppressWarnings = true + } } - tasks[compileKotlinTaskName].kotlinOptions.suppressWarnings = true } } @@ -147,8 +151,8 @@ kotlin { } } fromPreset(presets.js, 'js') { - compilations.main.kotlinOptions { - main = "noCall" + compilations.main.compileTaskProvider.configure { + compilerOptions.main = JsMainFunctionExecutionMode.NO_CALL } } diff --git a/kotlin-native/tools/benchmarksAnalyzer/buildSrc/build.gradle.kts b/kotlin-native/tools/benchmarksAnalyzer/buildSrc/build.gradle.kts index e8873e34f84..9e4b3d0f916 100644 --- a/kotlin-native/tools/benchmarksAnalyzer/buildSrc/build.gradle.kts +++ b/kotlin-native/tools/benchmarksAnalyzer/buildSrc/build.gradle.kts @@ -1,4 +1,5 @@ -import org.jetbrains.kotlin.gradle.tasks.KotlinCompile +import org.jetbrains.kotlin.gradle.dsl.KotlinVersion +import org.jetbrains.kotlin.gradle.tasks.KotlinJvmCompile import java.util.Properties import java.io.FileReader @@ -50,9 +51,13 @@ sourceSets["main"].kotlin { srcDir("../../../../native/utils/src") } -tasks.withType().configureEach { - kotlinOptions.freeCompilerArgs += - listOf("-opt-in=kotlin.RequiresOptIn", "-opt-in=kotlin.ExperimentalStdlibApi") +tasks.withType().configureEach { + compilerOptions.optIn.addAll( + listOf( + "kotlin.RequiresOptIn", + "kotlin.ExperimentalStdlibApi", + ) + ) } dependencies { @@ -87,10 +92,10 @@ dependencies { } afterEvaluate { - tasks.withType().configureEach { - kotlinOptions { - languageVersion = "1.4" - apiVersion = "1.4" + tasks.withType().configureEach { + compilerOptions { + languageVersion = KotlinVersion.KOTLIN_1_4 + apiVersion = KotlinVersion.KOTLIN_1_4 } } } diff --git a/kotlin-native/tools/performance-server/buildSrc/build.gradle.kts b/kotlin-native/tools/performance-server/buildSrc/build.gradle.kts index 02ab8fe4d1a..ab6c3cdf252 100644 --- a/kotlin-native/tools/performance-server/buildSrc/build.gradle.kts +++ b/kotlin-native/tools/performance-server/buildSrc/build.gradle.kts @@ -1,4 +1,4 @@ -import org.jetbrains.kotlin.gradle.tasks.KotlinCompile +import org.jetbrains.kotlin.gradle.tasks.KotlinJvmCompile import java.util.Properties import java.io.FileReader @@ -52,9 +52,13 @@ sourceSets["main"].kotlin { srcDir("../../../../native/utils/src") } -tasks.withType().configureEach { - kotlinOptions.freeCompilerArgs += - listOf("-opt-in=kotlin.RequiresOptIn", "-opt-in=kotlin.ExperimentalStdlibApi") +tasks.withType().configureEach { + compilerOptions.optIn.addAll( + listOf( + "kotlin.RequiresOptIn", + "kotlin.ExperimentalStdlibApi", + ) + ) } dependencies { diff --git a/kotlin-native/tools/performance-server/ui/buildSrc/build.gradle.kts b/kotlin-native/tools/performance-server/ui/buildSrc/build.gradle.kts index 64e95776fe9..4536980aac0 100644 --- a/kotlin-native/tools/performance-server/ui/buildSrc/build.gradle.kts +++ b/kotlin-native/tools/performance-server/ui/buildSrc/build.gradle.kts @@ -1,4 +1,4 @@ -import org.jetbrains.kotlin.gradle.tasks.KotlinCompile +import org.jetbrains.kotlin.gradle.tasks.KotlinJvmCompile import java.util.Properties import java.io.FileReader @@ -51,9 +51,13 @@ sourceSets["main"].withConvention(org.jetbrains.kotlin.gradle.plugin.KotlinSourc kotlin.srcDir("../../../../../native/utils/src") } -tasks.withType().configureEach { - kotlinOptions.freeCompilerArgs += - listOf("-opt-in=kotlin.RequiresOptIn", "-opt-in=kotlin.ExperimentalStdlibApi") +tasks.withType().configureEach { + compilerOptions.optIn.addAll( + listOf( + "kotlin.RequiresOptIn", + "kotlin.ExperimentalStdlibApi" + ) + ) } dependencies { diff --git a/kotlin-native/utilities/cli-runner/build.gradle b/kotlin-native/utilities/cli-runner/build.gradle index 8776cf729f0..93cbb7a68a6 100644 --- a/kotlin-native/utilities/cli-runner/build.gradle +++ b/kotlin-native/utilities/cli-runner/build.gradle @@ -9,9 +9,7 @@ buildscript { apply plugin: 'kotlin' compileKotlin { - kotlinOptions { - freeCompilerArgs += ['-Xskip-metadata-version-check'] - } + compilerOptions.freeCompilerArgs.add('-Xskip-metadata-version-check') } diff --git a/libraries/reflect/api/build.gradle b/libraries/reflect/api/build.gradle index 78e0ef49e8a..4d8133cf7e2 100644 --- a/libraries/reflect/api/build.gradle +++ b/libraries/reflect/api/build.gradle @@ -46,7 +46,7 @@ if (includeJava9) { } compileKotlin { - kotlinOptions { + compilerOptions { freeCompilerArgs = [ "-Xallow-kotlin-package", "-Xno-optimized-callable-references", diff --git a/libraries/scripting/common/build.gradle.kts b/libraries/scripting/common/build.gradle.kts index 84ce7334146..4a993921030 100644 --- a/libraries/scripting/common/build.gradle.kts +++ b/libraries/scripting/common/build.gradle.kts @@ -1,3 +1,5 @@ +import org.jetbrains.kotlin.gradle.tasks.KotlinJvmCompile + plugins { kotlin("jvm") id("jps-compatible") @@ -16,10 +18,8 @@ sourceSets { "test" { projectDefault() } } -tasks.withType> { - kotlinOptions.freeCompilerArgs += listOf( - "-Xallow-kotlin-package" - ) +tasks.withType().configureEach { + compilerOptions.freeCompilerArgs.add("-Xallow-kotlin-package") } publish() diff --git a/libraries/scripting/dependencies-maven/build.gradle.kts b/libraries/scripting/dependencies-maven/build.gradle.kts index 8e1baddbd91..3c1e400a85a 100644 --- a/libraries/scripting/dependencies-maven/build.gradle.kts +++ b/libraries/scripting/dependencies-maven/build.gradle.kts @@ -1,3 +1,5 @@ +import org.jetbrains.kotlin.gradle.tasks.KotlinJvmCompile + plugins { kotlin("jvm") id("jps-compatible") @@ -29,10 +31,8 @@ sourceSets { "test" { projectDefault() } } -tasks.withType> { - kotlinOptions.freeCompilerArgs += listOf( - "-Xallow-kotlin-package" - ) +tasks.withType().configureEach { + compilerOptions.freeCompilerArgs.add("-Xallow-kotlin-package") } publish() diff --git a/libraries/scripting/dependencies/build.gradle.kts b/libraries/scripting/dependencies/build.gradle.kts index 712ed391c73..d30135a8b92 100644 --- a/libraries/scripting/dependencies/build.gradle.kts +++ b/libraries/scripting/dependencies/build.gradle.kts @@ -1,3 +1,5 @@ +import org.jetbrains.kotlin.gradle.tasks.KotlinJvmCompile + plugins { kotlin("jvm") id("jps-compatible") @@ -17,10 +19,8 @@ sourceSets { "test" { projectDefault() } } -tasks.withType> { - kotlinOptions.freeCompilerArgs += listOf( - "-Xallow-kotlin-package" - ) +tasks.withType().configureEach { + compilerOptions.freeCompilerArgs.add("-Xallow-kotlin-package") } publish() diff --git a/libraries/scripting/intellij/build.gradle.kts b/libraries/scripting/intellij/build.gradle.kts index 9c9d83990b3..c20b1ad4b93 100644 --- a/libraries/scripting/intellij/build.gradle.kts +++ b/libraries/scripting/intellij/build.gradle.kts @@ -1,3 +1,4 @@ +import org.jetbrains.kotlin.gradle.tasks.KotlinJvmCompile plugins { kotlin("jvm") @@ -16,14 +17,15 @@ sourceSets { "test" { } } -tasks.withType> { - kotlinOptions.freeCompilerArgs += "-Xallow-kotlin-package" +tasks.withType().configureEach { + compilerOptions.freeCompilerArgs.addAll( + listOf( + "-Xallow-kotlin-package", + "-Xjvm-default=all", + ) + ) } publish() standardPublicJars() - -tasks.withType().configureEach { - kotlinOptions.freeCompilerArgs += "-Xjvm-default=all" -} \ No newline at end of file diff --git a/libraries/scripting/jsr223-test/build.gradle.kts b/libraries/scripting/jsr223-test/build.gradle.kts index 1d8ddfa85f9..2bfe63e29e2 100644 --- a/libraries/scripting/jsr223-test/build.gradle.kts +++ b/libraries/scripting/jsr223-test/build.gradle.kts @@ -1,3 +1,4 @@ +import org.jetbrains.kotlin.gradle.tasks.KotlinJvmCompile plugins { kotlin("jvm") @@ -41,8 +42,8 @@ sourceSets { "test" { projectDefault() } } -tasks.withType> { - kotlinOptions.freeCompilerArgs += "-Xallow-kotlin-package" +tasks.withType().configureEach { + compilerOptions.freeCompilerArgs.add("-Xallow-kotlin-package") } projectTest(parallel = true) { diff --git a/libraries/scripting/jsr223/build.gradle.kts b/libraries/scripting/jsr223/build.gradle.kts index fc39d7993a8..ef52789dd23 100644 --- a/libraries/scripting/jsr223/build.gradle.kts +++ b/libraries/scripting/jsr223/build.gradle.kts @@ -1,3 +1,4 @@ +import org.jetbrains.kotlin.gradle.tasks.KotlinJvmCompile plugins { kotlin("jvm") @@ -24,8 +25,8 @@ sourceSets { "test" {} } -tasks.withType> { - kotlinOptions.freeCompilerArgs += "-Xallow-kotlin-package" +tasks.withType().configureEach { + compilerOptions.freeCompilerArgs.add("-Xallow-kotlin-package") } standardPublicJars() diff --git a/libraries/scripting/jvm-host-test/build.gradle.kts b/libraries/scripting/jvm-host-test/build.gradle.kts index e87c55ba101..a3f182fda99 100644 --- a/libraries/scripting/jvm-host-test/build.gradle.kts +++ b/libraries/scripting/jvm-host-test/build.gradle.kts @@ -1,3 +1,4 @@ +import org.jetbrains.kotlin.gradle.tasks.KotlinJvmCompile plugins { kotlin("jvm") @@ -35,8 +36,8 @@ sourceSets { "test" { projectDefault() } } -tasks.withType> { - kotlinOptions.freeCompilerArgs += "-Xallow-kotlin-package" +tasks.withType().configureEach { + compilerOptions.freeCompilerArgs.add("-Xallow-kotlin-package") } projectTest(parallel = true) { diff --git a/libraries/scripting/jvm-host/build.gradle.kts b/libraries/scripting/jvm-host/build.gradle.kts index 4245e0a3d59..619ca20b127 100644 --- a/libraries/scripting/jvm-host/build.gradle.kts +++ b/libraries/scripting/jvm-host/build.gradle.kts @@ -1,3 +1,4 @@ +import org.jetbrains.kotlin.gradle.tasks.KotlinJvmCompile plugins { kotlin("jvm") @@ -26,8 +27,8 @@ sourceSets { "test" {} } -tasks.withType> { - kotlinOptions.freeCompilerArgs += "-Xallow-kotlin-package" +tasks.withType().configureEach { + compilerOptions.freeCompilerArgs.add("-Xallow-kotlin-package") } standardPublicJars() diff --git a/libraries/scripting/jvm/build.gradle.kts b/libraries/scripting/jvm/build.gradle.kts index d76fd1a79d3..4d85cf4bfbf 100644 --- a/libraries/scripting/jvm/build.gradle.kts +++ b/libraries/scripting/jvm/build.gradle.kts @@ -1,3 +1,5 @@ +import org.jetbrains.kotlin.gradle.tasks.KotlinJvmCompile + plugins { kotlin("jvm") id("jps-compatible") @@ -17,10 +19,8 @@ sourceSets { "test" { projectDefault() } } -tasks.withType> { - kotlinOptions.freeCompilerArgs += listOf( - "-Xallow-kotlin-package" - ) +tasks.withType().configureEach { + compilerOptions.freeCompilerArgs.add("-Xallow-kotlin-package") } publish() diff --git a/libraries/stdlib/build.gradle.kts b/libraries/stdlib/build.gradle.kts index 12a31a59241..c5db18bd56d 100644 --- a/libraries/stdlib/build.gradle.kts +++ b/libraries/stdlib/build.gradle.kts @@ -229,6 +229,7 @@ kotlin { } compilations { all { + @Suppress("DEPRECATION") kotlinOptions { freeCompilerArgs += listOf( "-Xallow-kotlin-package", @@ -237,6 +238,7 @@ kotlin { } } val main by getting { + @Suppress("DEPRECATION") kotlinOptions { freeCompilerArgs += listOfNotNull( "-Xir-module-name=kotlin", @@ -260,12 +262,14 @@ kotlin { (this as KotlinTargetWithNodeJsDsl).nodejs() compilations { all { + @Suppress("DEPRECATION") kotlinOptions.freeCompilerArgs += listOfNotNull( "-Xallow-kotlin-package", "-Xexpect-actual-classes", diagnosticNamesArg ) } + @Suppress("DEPRECATION") val main by getting { kotlinOptions.freeCompilerArgs += "-Xir-module-name=kotlin" kotlinOptions.allWarningsAsErrors = true @@ -295,6 +299,7 @@ kotlin { } nativeTarget.apply { compilations.all { + @Suppress("DEPRECATION") kotlinOptions { freeCompilerArgs += listOf( "-Xallow-kotlin-package", @@ -764,6 +769,7 @@ tasks { exclude("collections/MapTest.kt") } named("compileTestDevelopmentExecutableKotlinWasm$wasmTarget", KotlinJsIrLink::class) { + @Suppress("DEPRECATION") kotlinOptions.freeCompilerArgs += listOf("-Xwasm-enable-array-range-checks") } } diff --git a/libraries/stdlib/js-ir-minimal-for-test/build.gradle.kts b/libraries/stdlib/js-ir-minimal-for-test/build.gradle.kts index 14517533257..c300d4f3466 100644 --- a/libraries/stdlib/js-ir-minimal-for-test/build.gradle.kts +++ b/libraries/stdlib/js-ir-minimal-for-test/build.gradle.kts @@ -147,7 +147,8 @@ kotlin { } } -tasks.withType> { +@Suppress("DEPRECATION") +tasks.withType>().configureEach { kotlinOptions.languageVersion = "1.9" kotlinOptions.apiVersion = "2.0" kotlinOptions.freeCompilerArgs += listOf( @@ -167,6 +168,7 @@ tasks { enabled = false } + @Suppress("DEPRECATION") named("compileKotlinJs", KotlinCompile::class) { kotlinOptions.freeCompilerArgs += "-Xir-module-name=kotlin" } diff --git a/libraries/stdlib/jvm-minimal-for-test/build.gradle.kts b/libraries/stdlib/jvm-minimal-for-test/build.gradle.kts index c0b46b0c775..daf6735e6b0 100644 --- a/libraries/stdlib/jvm-minimal-for-test/build.gradle.kts +++ b/libraries/stdlib/jvm-minimal-for-test/build.gradle.kts @@ -54,6 +54,7 @@ tasks.compileKotlin { val commonSources = listOf( "kotlin/enums/EnumEntries.kt" ).map { copySources.get().destinationDir.resolve(it) } + @Suppress("DEPRECATION") kotlinOptions { languageVersion = "1.9" apiVersion = "2.0" @@ -69,6 +70,7 @@ tasks.compileKotlin { moduleName = "kotlin-stdlib" } doFirst { + @Suppress("DEPRECATION") kotlinOptions.freeCompilerArgs += listOf( "-Xcommon-sources=${commonSources.joinToString(File.pathSeparator)}", ) diff --git a/libraries/stdlib/samples/build.gradle b/libraries/stdlib/samples/build.gradle index 0478eadee21..f24268aa99f 100644 --- a/libraries/stdlib/samples/build.gradle +++ b/libraries/stdlib/samples/build.gradle @@ -10,10 +10,10 @@ sourceSets { } compileTestKotlin { - kotlinOptions { - freeCompilerArgs = [ - "-opt-in=kotlin.ExperimentalStdlibApi", - "-opt-in=kotlin.ExperimentalUnsignedTypes", - ] + compilerOptions { + optIn.addAll([ + "kotlin.ExperimentalStdlibApi", + "kotlin.ExperimentalUnsignedTypes", + ]) } } diff --git a/libraries/tools/ide-plugin-dependencies-validator/build.gradle.kts b/libraries/tools/ide-plugin-dependencies-validator/build.gradle.kts index 8eb9c299d5b..888978c446c 100644 --- a/libraries/tools/ide-plugin-dependencies-validator/build.gradle.kts +++ b/libraries/tools/ide-plugin-dependencies-validator/build.gradle.kts @@ -75,7 +75,7 @@ fun Project.checkIdeDependencyConfiguration() { } val enabledExperimentalAnnotations = - ExperimentalAnnotationsCollector().getUsedExperimentalAnnotations(compileTask.kotlinOptions.freeCompilerArgs) + ExperimentalAnnotationsCollector().getUsedExperimentalAnnotations(compileTask.compilerOptions.freeCompilerArgs.get()) check(enabledExperimentalAnnotations.isEmpty()) { "`$name` allows using experimental kotlin stdlib API marked with ${enabledExperimentalAnnotations.joinToString()}. " + diff --git a/libraries/tools/kotlin-annotations-jvm/build.gradle b/libraries/tools/kotlin-annotations-jvm/build.gradle index fdcaf4e6839..3b064354c2d 100644 --- a/libraries/tools/kotlin-annotations-jvm/build.gradle +++ b/libraries/tools/kotlin-annotations-jvm/build.gradle @@ -22,10 +22,10 @@ RepoArtifacts.sourcesJar(project) RepoArtifacts.javadocJar(project) compileKotlin { - kotlinOptions.freeCompilerArgs = [ + compilerOptions.freeCompilerArgs = [ "-Xallow-kotlin-package", ] - kotlinOptions.moduleName = project.name + compilerOptions.moduleName = project.name } LibrariesCommon.configureFrontendIr(project) diff --git a/libraries/tools/kotlin-gradle-plugin-integration-tests/build.gradle.kts b/libraries/tools/kotlin-gradle-plugin-integration-tests/build.gradle.kts index 9c117a3d749..b1b7c8ddda4 100644 --- a/libraries/tools/kotlin-gradle-plugin-integration-tests/build.gradle.kts +++ b/libraries/tools/kotlin-gradle-plugin-integration-tests/build.gradle.kts @@ -1,4 +1,5 @@ import org.gradle.api.tasks.testing.logging.TestExceptionFormat +import org.jetbrains.kotlin.gradle.tasks.KotlinJvmCompile import org.jetbrains.kotlin.konan.target.HostManager import org.jetbrains.kotlin.konan.target.KonanTarget import java.nio.file.Paths @@ -120,8 +121,8 @@ val splitGradleIntegrationTestTasks = project.providers.gradleProperty("gradle.integration.tests.split.tasks").orNull?.toBoolean() ?: project.kotlinBuildProperties.isTeamcityBuild -tasks.withType().configureEach { - kotlinOptions.freeCompilerArgs += "-opt-in=kotlin.io.path.ExperimentalPathApi" +tasks.withType().configureEach { + compilerOptions.optIn.add("kotlin.io.path.ExperimentalPathApi") } val cleanTestKitCacheTask = tasks.register("cleanTestKitCache") { diff --git a/libraries/tools/script-runtime/build.gradle b/libraries/tools/script-runtime/build.gradle index 2b3ad1214ed..4bae543dc34 100644 --- a/libraries/tools/script-runtime/build.gradle +++ b/libraries/tools/script-runtime/build.gradle @@ -26,10 +26,10 @@ RepoArtifacts.sourcesJar(project) RepoArtifacts.javadocJar(project) compileKotlin { - kotlinOptions.freeCompilerArgs = [ + compilerOptions.freeCompilerArgs = [ "-Xallow-kotlin-package", ] - kotlinOptions.moduleName = project.name + compilerOptions.moduleName = project.name } LibrariesCommon.configureFrontendIr(project) diff --git a/native/executors/build.gradle.kts b/native/executors/build.gradle.kts index e0c0cd9b2fd..64c6b16f6ef 100644 --- a/native/executors/build.gradle.kts +++ b/native/executors/build.gradle.kts @@ -1,4 +1,4 @@ -import org.jetbrains.kotlin.gradle.tasks.KotlinCompile +import org.jetbrains.kotlin.gradle.tasks.KotlinJvmCompile buildscript { dependencies { @@ -52,13 +52,19 @@ java { } } -tasks.withType().configureEach { - kotlinOptions { - freeCompilerArgs += listOf( +tasks.withType().configureEach { + compilerOptions { + optIn.addAll( + listOf( + "kotlin.ExperimentalStdlibApi", + "kotlin.RequiresOptIn", + ) + ) + freeCompilerArgs.addAll( + listOf( "-Xskip-prerelease-check", "-Xsuppress-version-warnings", - "-opt-in=kotlin.ExperimentalStdlibApi", - "-opt-in=kotlin.RequiresOptIn" + ) ) } } diff --git a/native/swift/sir-passes/build.gradle.kts b/native/swift/sir-passes/build.gradle.kts index 13d3689b873..e1f294d826d 100644 --- a/native/swift/sir-passes/build.gradle.kts +++ b/native/swift/sir-passes/build.gradle.kts @@ -1,3 +1,5 @@ +import org.jetbrains.kotlin.gradle.tasks.KotlinJvmCompile + plugins { kotlin("jvm") } @@ -21,8 +23,6 @@ sourceSets { "main" { projectDefault() } } -tasks.withType> { - kotlinOptions { - freeCompilerArgs += "-Xcontext-receivers" - } +tasks.withType { + compilerOptions.freeCompilerArgs.add("-Xcontext-receivers") } diff --git a/plugins/kapt4/build.gradle.kts b/plugins/kapt4/build.gradle.kts index d39ccbebd2f..b621ee89fb9 100644 --- a/plugins/kapt4/build.gradle.kts +++ b/plugins/kapt4/build.gradle.kts @@ -1,3 +1,5 @@ +import org.jetbrains.kotlin.gradle.tasks.KotlinJvmCompile + description = "Annotation Processor for Kotlin" plugins { @@ -76,6 +78,6 @@ runtimeJar() sourcesJar() javadocJar() -tasks.withType().configureEach { - kotlinOptions.freeCompilerArgs += "-Xcontext-receivers" +tasks.withType().configureEach { + compilerOptions.freeCompilerArgs.add("-Xcontext-receivers") } \ No newline at end of file diff --git a/plugins/scripting/scripting-compiler-impl/build.gradle.kts b/plugins/scripting/scripting-compiler-impl/build.gradle.kts index beb15737616..543b9bf174f 100644 --- a/plugins/scripting/scripting-compiler-impl/build.gradle.kts +++ b/plugins/scripting/scripting-compiler-impl/build.gradle.kts @@ -1,3 +1,4 @@ +import org.jetbrains.kotlin.gradle.tasks.KotlinJvmCompile description = "Kotlin Compiler Infrastructure for Scripting" @@ -40,10 +41,8 @@ sourceSets { "test" { projectDefault() } } -tasks.withType> { - kotlinOptions { - freeCompilerArgs += "-Xskip-metadata-version-check" - } +tasks.withType().configureEach { + compilerOptions.freeCompilerArgs.add("-Xskip-metadata-version-check") } publish() diff --git a/plugins/scripting/scripting-compiler/build.gradle.kts b/plugins/scripting/scripting-compiler/build.gradle.kts index ff242adc7df..516cbdf32f9 100644 --- a/plugins/scripting/scripting-compiler/build.gradle.kts +++ b/plugins/scripting/scripting-compiler/build.gradle.kts @@ -1,3 +1,5 @@ +import org.jetbrains.kotlin.gradle.tasks.KotlinJvmCompile + description = "Kotlin Scripting Compiler Plugin" plugins { @@ -46,9 +48,10 @@ sourceSets { "test" { projectDefault() } } -tasks.withType> { - kotlinOptions { - freeCompilerArgs = freeCompilerArgs - "-progressive" + "-Xskip-metadata-version-check" +tasks.withType().configureEach { + compilerOptions { + progressiveMode.set(false) + freeCompilerArgs.add("-Xskip-metadata-version-check") } } diff --git a/plugins/scripting/scripting-ide-services-test/build.gradle.kts b/plugins/scripting/scripting-ide-services-test/build.gradle.kts index 77f3467064c..3a78e0d7835 100644 --- a/plugins/scripting/scripting-ide-services-test/build.gradle.kts +++ b/plugins/scripting/scripting-ide-services-test/build.gradle.kts @@ -1,3 +1,4 @@ +import org.jetbrains.kotlin.gradle.tasks.KotlinJvmCompile plugins { kotlin("jvm") @@ -52,8 +53,8 @@ sourceSets { "test" { projectDefault() } } -tasks.withType> { - kotlinOptions.freeCompilerArgs += "-Xallow-kotlin-package" +tasks.withType().configureEach { + compilerOptions.freeCompilerArgs.add("-Xallow-kotlin-package") } projectTest(parallel = true) { diff --git a/plugins/scripting/scripting-ide-services/build.gradle.kts b/plugins/scripting/scripting-ide-services/build.gradle.kts index 583855cf53a..e72e063e46e 100644 --- a/plugins/scripting/scripting-ide-services/build.gradle.kts +++ b/plugins/scripting/scripting-ide-services/build.gradle.kts @@ -1,3 +1,4 @@ +import org.jetbrains.kotlin.gradle.tasks.KotlinJvmCompile description = "Kotlin Scripting Compiler extension providing code completion and static analysis" @@ -31,11 +32,13 @@ sourceSets { "test" { } } -tasks.withType> { - kotlinOptions { - freeCompilerArgs += "-Xskip-metadata-version-check" - freeCompilerArgs += "-Xallow-kotlin-package" - } +tasks.withType().configureEach { + compilerOptions.freeCompilerArgs.addAll( + listOf( + "-Xskip-metadata-version-check", + "-Xallow-kotlin-package", + ) + ) } standardPublicJars() diff --git a/wasm/wasm.ir/build.gradle.kts b/wasm/wasm.ir/build.gradle.kts index 7c8130981e3..03342afa575 100644 --- a/wasm/wasm.ir/build.gradle.kts +++ b/wasm/wasm.ir/build.gradle.kts @@ -1,3 +1,4 @@ +import org.jetbrains.kotlin.gradle.tasks.KotlinJvmCompile import java.net.URI plugins { @@ -92,11 +93,9 @@ sourceSets { "test" { projectDefault() } } -tasks.withType().configureEach { - kotlinOptions.freeCompilerArgs += listOf( - "-opt-in=kotlin.ExperimentalUnsignedTypes", - "-Xskip-prerelease-check" - ) +tasks.withType().configureEach { + compilerOptions.optIn.add("kotlin.ExperimentalUnsignedTypes") + compilerOptions.freeCompilerArgs.add("-Xskip-prerelease-check") } projectTest("test", true) {