diff --git a/libraries/tools/kotlin-gradle-plugin/src/common/kotlin/org/jetbrains/kotlin/gradle/plugin/KotlinPlugin.kt b/libraries/tools/kotlin-gradle-plugin/src/common/kotlin/org/jetbrains/kotlin/gradle/plugin/KotlinPlugin.kt index fc7a28474a2..8ccd43e1fdc 100755 --- a/libraries/tools/kotlin-gradle-plugin/src/common/kotlin/org/jetbrains/kotlin/gradle/plugin/KotlinPlugin.kt +++ b/libraries/tools/kotlin-gradle-plugin/src/common/kotlin/org/jetbrains/kotlin/gradle/plugin/KotlinPlugin.kt @@ -335,7 +335,12 @@ internal class KotlinCommonSourceSetProcessor( override fun doRegisterTask(project: Project, taskName: String): TaskProvider { val configAction = KotlinCompileCommonConfig(kotlinCompilation) applyStandardTaskConfiguration(configAction) - return tasksProvider.registerKotlinCommonTask(project, taskName, kotlinCompilation.kotlinOptions, configAction) + return tasksProvider.registerKotlinCommonTask( + project, + taskName, + kotlinCompilation.compilerOptions.options as CompilerMultiplatformCommonOptions, + configAction + ) } } diff --git a/libraries/tools/kotlin-gradle-plugin/src/common/kotlin/org/jetbrains/kotlin/gradle/tasks/KotlinCompileCommon.kt b/libraries/tools/kotlin-gradle-plugin/src/common/kotlin/org/jetbrains/kotlin/gradle/tasks/KotlinCompileCommon.kt index 5d63ab8eb90..e0cde2154ad 100644 --- a/libraries/tools/kotlin-gradle-plugin/src/common/kotlin/org/jetbrains/kotlin/gradle/tasks/KotlinCompileCommon.kt +++ b/libraries/tools/kotlin-gradle-plugin/src/common/kotlin/org/jetbrains/kotlin/gradle/tasks/KotlinCompileCommon.kt @@ -33,17 +33,29 @@ import javax.inject.Inject @CacheableTask abstract class KotlinCompileCommon @Inject constructor( - override val kotlinOptions: KotlinMultiplatformCommonOptions, + override val compilerOptions: CompilerMultiplatformCommonOptions, workerExecutor: WorkerExecutor, objectFactory: ObjectFactory ) : AbstractKotlinCompile(objectFactory, workerExecutor), + KotlinCompilationTask, KotlinCommonCompile { + init { + compilerOptions.verbose.convention(logger.isDebugEnabled) + } + + @Suppress("DEPRECATION") + @Deprecated("Replaced by compilerOptions input", replaceWith = ReplaceWith("compilerOptions")) + override val kotlinOptions: KotlinMultiplatformCommonOptions = object : KotlinMultiplatformCommonOptions { + override val options: CompilerMultiplatformCommonOptions + get() = compilerOptions + } + override fun createCompilerArgs(): K2MetadataCompilerArguments = K2MetadataCompilerArguments() override fun setupCompilerArgs(args: K2MetadataCompilerArguments, defaultsOnly: Boolean, ignoreClasspathResolutionErrors: Boolean) { - args.apply { fillDefaultValues() } + (compilerOptions as CompilerMultiplatformCommonOptionsDefault).fillDefaultValues(args) super.setupCompilerArgs(args, defaultsOnly = defaultsOnly, ignoreClasspathResolutionErrors = ignoreClasspathResolutionErrors) args.moduleName = this@KotlinCompileCommon.moduleName.get() @@ -64,7 +76,7 @@ abstract class KotlinCompileCommon @Inject constructor( refinesPaths = refinesMetadataPaths.map { it.absolutePath }.toTypedArray() } - (kotlinOptions as KotlinMultiplatformCommonOptionsImpl).updateArguments(args) + (compilerOptions as CompilerMultiplatformCommonOptionsDefault).fillCompilerArguments(args) } @get:PathSensitive(PathSensitivity.RELATIVE) diff --git a/libraries/tools/kotlin-gradle-plugin/src/common/kotlin/org/jetbrains/kotlin/gradle/tasks/TasksProvider.kt b/libraries/tools/kotlin-gradle-plugin/src/common/kotlin/org/jetbrains/kotlin/gradle/tasks/TasksProvider.kt index 4d99bb62c43..62417898ccd 100644 --- a/libraries/tools/kotlin-gradle-plugin/src/common/kotlin/org/jetbrains/kotlin/gradle/tasks/TasksProvider.kt +++ b/libraries/tools/kotlin-gradle-plugin/src/common/kotlin/org/jetbrains/kotlin/gradle/tasks/TasksProvider.kt @@ -24,7 +24,7 @@ import org.gradle.api.tasks.TaskContainer import org.gradle.api.tasks.TaskProvider import org.jetbrains.kotlin.gradle.dsl.CompilerJsOptions import org.jetbrains.kotlin.gradle.dsl.CompilerJvmOptions -import org.jetbrains.kotlin.gradle.dsl.KotlinCommonOptions +import org.jetbrains.kotlin.gradle.dsl.CompilerMultiplatformCommonOptions import org.jetbrains.kotlin.gradle.targets.js.ir.KotlinJsIrLink import org.jetbrains.kotlin.gradle.tasks.configuration.* @@ -134,12 +134,15 @@ internal open class KotlinTasksProvider { } fun registerKotlinCommonTask( - project: Project, taskName: String, kotlinOptions: KotlinCommonOptions, configuration: KotlinCompileCommonConfig + project: Project, + taskName: String, + compilerOptions: CompilerMultiplatformCommonOptions, + configuration: KotlinCompileCommonConfig ): TaskProvider { return project.registerTask( taskName, KotlinCompileCommon::class.java, - constructorArgs = listOf(kotlinOptions) + constructorArgs = listOf(compilerOptions) ).also { configuration.execute(it) }