Align new compiler options names with api naming

Use Kotlin*CompilerOptions or Kotlin*CompilerToolOptions naming approach.

^KT-54306 Fixed
This commit is contained in:
Yahor Berdnikau
2022-10-10 23:03:06 +02:00
committed by Space Team
parent 31b3d8f859
commit 023b9bf284
68 changed files with 291 additions and 330 deletions
@@ -136,7 +136,7 @@ private fun generateKotlinCommonToolOptions(
apiSrcDir: File, apiSrcDir: File,
withPrinterToFile: (targetFile: File, Printer.() -> Unit) -> Unit withPrinterToFile: (targetFile: File, Printer.() -> Unit) -> Unit
): GeneratedOptions { ): GeneratedOptions {
val commonInterfaceFqName = FqName("$OPTIONS_PACKAGE_PREFIX.CompilerCommonToolOptions") val commonInterfaceFqName = FqName("$OPTIONS_PACKAGE_PREFIX.KotlinCommonCompilerToolOptions")
val commonOptions = gradleOptions<CommonToolArguments>() val commonOptions = gradleOptions<CommonToolArguments>()
val additionalOptions = gradleOptions<AdditionalGradleProperties>() val additionalOptions = gradleOptions<AdditionalGradleProperties>()
withPrinterToFile(fileFromFqName(apiSrcDir, commonInterfaceFqName)) { withPrinterToFile(fileFromFqName(apiSrcDir, commonInterfaceFqName)) {
@@ -188,7 +188,7 @@ private fun generateKotlinCommonOptions(
commonToolGeneratedOptions: GeneratedOptions, commonToolGeneratedOptions: GeneratedOptions,
withPrinterToFile: (targetFile: File, Printer.() -> Unit) -> Unit withPrinterToFile: (targetFile: File, Printer.() -> Unit) -> Unit
): GeneratedOptions { ): GeneratedOptions {
val commonCompilerInterfaceFqName = FqName("$OPTIONS_PACKAGE_PREFIX.CompilerCommonOptions") val commonCompilerInterfaceFqName = FqName("$OPTIONS_PACKAGE_PREFIX.KotlinCommonCompilerOptions")
val commonCompilerOptions = gradleOptions<CommonCompilerArguments>() val commonCompilerOptions = gradleOptions<CommonCompilerArguments>()
withPrinterToFile(fileFromFqName(apiSrcDir, commonCompilerInterfaceFqName)) { withPrinterToFile(fileFromFqName(apiSrcDir, commonCompilerInterfaceFqName)) {
generateInterface( generateInterface(
@@ -241,7 +241,7 @@ private fun generateKotlinJvmOptions(
commonCompilerGeneratedOptions: GeneratedOptions, commonCompilerGeneratedOptions: GeneratedOptions,
withPrinterToFile: (targetFile: File, Printer.() -> Unit) -> Unit withPrinterToFile: (targetFile: File, Printer.() -> Unit) -> Unit
): GeneratedOptions { ): GeneratedOptions {
val jvmInterfaceFqName = FqName("$OPTIONS_PACKAGE_PREFIX.CompilerJvmOptions") val jvmInterfaceFqName = FqName("$OPTIONS_PACKAGE_PREFIX.KotlinJvmCompilerOptions")
val jvmOptions = gradleOptions<K2JVMCompilerArguments>() val jvmOptions = gradleOptions<K2JVMCompilerArguments>()
withPrinterToFile(fileFromFqName(apiSrcDir, jvmInterfaceFqName)) { withPrinterToFile(fileFromFqName(apiSrcDir, jvmInterfaceFqName)) {
generateInterface( generateInterface(
@@ -292,7 +292,7 @@ private fun generateKotlinJsOptions(
commonCompilerOptions: GeneratedOptions, commonCompilerOptions: GeneratedOptions,
withPrinterToFile: (targetFile: File, Printer.() -> Unit) -> Unit withPrinterToFile: (targetFile: File, Printer.() -> Unit) -> Unit
): GeneratedOptions { ): GeneratedOptions {
val jsInterfaceFqName = FqName("$OPTIONS_PACKAGE_PREFIX.CompilerJsOptions") val jsInterfaceFqName = FqName("$OPTIONS_PACKAGE_PREFIX.KotlinJsCompilerOptions")
val jsOptions = gradleOptions<K2JSCompilerArguments>() val jsOptions = gradleOptions<K2JSCompilerArguments>()
withPrinterToFile(fileFromFqName(apiSrcDir, jsInterfaceFqName)) { withPrinterToFile(fileFromFqName(apiSrcDir, jsInterfaceFqName)) {
generateInterface( generateInterface(
@@ -343,7 +343,7 @@ private fun generateJsDceOptions(
commonToolOptions: GeneratedOptions, commonToolOptions: GeneratedOptions,
withPrinterToFile: (targetFile: File, Printer.() -> Unit) -> Unit withPrinterToFile: (targetFile: File, Printer.() -> Unit) -> Unit
): GeneratedOptions { ): GeneratedOptions {
val jsDceInterfaceFqName = FqName("$OPTIONS_PACKAGE_PREFIX.CompilerJsDceOptions") val jsDceInterfaceFqName = FqName("$OPTIONS_PACKAGE_PREFIX.KotlinJsDceCompilerToolOptions")
val jsDceOptions = gradleOptions<K2JSDceArguments>() val jsDceOptions = gradleOptions<K2JSDceArguments>()
withPrinterToFile(fileFromFqName(apiSrcDir, jsDceInterfaceFqName)) { withPrinterToFile(fileFromFqName(apiSrcDir, jsDceInterfaceFqName)) {
generateInterface( generateInterface(
@@ -394,7 +394,7 @@ private fun generateMultiplatformCommonOptions(
commonCompilerOptions: GeneratedOptions, commonCompilerOptions: GeneratedOptions,
withPrinterToFile: (targetFile: File, Printer.() -> Unit) -> Unit withPrinterToFile: (targetFile: File, Printer.() -> Unit) -> Unit
): GeneratedOptions { ): GeneratedOptions {
val multiplatformCommonInterfaceFqName = FqName("$OPTIONS_PACKAGE_PREFIX.CompilerMultiplatformCommonOptions") val multiplatformCommonInterfaceFqName = FqName("$OPTIONS_PACKAGE_PREFIX.KotlinMultiplatformCommonCompilerOptions")
val multiplatformCommonOptions = gradleOptions<K2MetadataCompilerArguments>() val multiplatformCommonOptions = gradleOptions<K2MetadataCompilerArguments>()
withPrinterToFile(fileFromFqName(apiSrcDir, multiplatformCommonInterfaceFqName)) { withPrinterToFile(fileFromFqName(apiSrcDir, multiplatformCommonInterfaceFqName)) {
generateInterface( generateInterface(
@@ -565,7 +565,7 @@ private fun Printer.generateImpl(
private fun Printer.addAdditionalJvmArgs(implType: FqName) { private fun Printer.addAdditionalJvmArgs(implType: FqName) {
// Adding required 'noStdlib' and 'noReflect' compiler arguments for JVM compilation // Adding required 'noStdlib' and 'noReflect' compiler arguments for JVM compilation
// Otherwise compilation via build tools will fail // Otherwise compilation via build tools will fail
if (implType.shortName().toString() == "CompilerJvmOptions$IMPLEMENTATION_SUFFIX") { if (implType.shortName().toString() == "KotlinJvmCompilerOptions$IMPLEMENTATION_SUFFIX") {
println() println()
println("// Arguments with always default values when used from build tools") println("// Arguments with always default values when used from build tools")
println("args.noStdlib = true") println("args.noStdlib = true")
@@ -1,46 +1,3 @@
public abstract interface class org/jetbrains/kotlin/gradle/dsl/CompilerCommonOptions : org/jetbrains/kotlin/gradle/dsl/CompilerCommonToolOptions {
public abstract fun getApiVersion ()Lorg/gradle/api/provider/Property;
public abstract fun getLanguageVersion ()Lorg/gradle/api/provider/Property;
public abstract fun getUseK2 ()Lorg/gradle/api/provider/Property;
}
public abstract interface class org/jetbrains/kotlin/gradle/dsl/CompilerCommonToolOptions {
public abstract fun getAllWarningsAsErrors ()Lorg/gradle/api/provider/Property;
public abstract fun getFreeCompilerArgs ()Lorg/gradle/api/provider/ListProperty;
public abstract fun getSuppressWarnings ()Lorg/gradle/api/provider/Property;
public abstract fun getVerbose ()Lorg/gradle/api/provider/Property;
}
public abstract interface class org/jetbrains/kotlin/gradle/dsl/CompilerJsDceOptions : org/jetbrains/kotlin/gradle/dsl/CompilerCommonToolOptions {
public abstract fun getDevMode ()Lorg/gradle/api/provider/Property;
public abstract fun getOutputDirectory ()Lorg/gradle/api/provider/Property;
}
public abstract interface class org/jetbrains/kotlin/gradle/dsl/CompilerJsOptions : org/jetbrains/kotlin/gradle/dsl/CompilerCommonOptions {
public abstract fun getFriendModulesDisabled ()Lorg/gradle/api/provider/Property;
public abstract fun getMain ()Lorg/gradle/api/provider/Property;
public abstract fun getMetaInfo ()Lorg/gradle/api/provider/Property;
public abstract fun getModuleKind ()Lorg/gradle/api/provider/Property;
public abstract fun getModuleName ()Lorg/gradle/api/provider/Property;
public abstract fun getNoStdlib ()Lorg/gradle/api/provider/Property;
public abstract fun getOutputFile ()Lorg/gradle/api/provider/Property;
public abstract fun getSourceMap ()Lorg/gradle/api/provider/Property;
public abstract fun getSourceMapEmbedSources ()Lorg/gradle/api/provider/Property;
public abstract fun getSourceMapPrefix ()Lorg/gradle/api/provider/Property;
public abstract fun getTarget ()Lorg/gradle/api/provider/Property;
public abstract fun getTypedArrays ()Lorg/gradle/api/provider/Property;
}
public abstract interface class org/jetbrains/kotlin/gradle/dsl/CompilerJvmOptions : org/jetbrains/kotlin/gradle/dsl/CompilerCommonOptions {
public abstract fun getJavaParameters ()Lorg/gradle/api/provider/Property;
public abstract fun getJvmTarget ()Lorg/gradle/api/provider/Property;
public abstract fun getModuleName ()Lorg/gradle/api/provider/Property;
public abstract fun getNoJdk ()Lorg/gradle/api/provider/Property;
}
public abstract interface class org/jetbrains/kotlin/gradle/dsl/CompilerMultiplatformCommonOptions : org/jetbrains/kotlin/gradle/dsl/CompilerCommonOptions {
}
public final class org/jetbrains/kotlin/gradle/dsl/ExplicitApiMode : java/lang/Enum { public final class org/jetbrains/kotlin/gradle/dsl/ExplicitApiMode : java/lang/Enum {
public static final field Disabled Lorg/jetbrains/kotlin/gradle/dsl/ExplicitApiMode; public static final field Disabled Lorg/jetbrains/kotlin/gradle/dsl/ExplicitApiMode;
public static final field Strict Lorg/jetbrains/kotlin/gradle/dsl/ExplicitApiMode; public static final field Strict Lorg/jetbrains/kotlin/gradle/dsl/ExplicitApiMode;
@@ -190,10 +147,23 @@ public abstract interface class org/jetbrains/kotlin/gradle/dsl/KotlinArtifactsE
public abstract fun getNative ()Lorg/jetbrains/kotlin/gradle/dsl/KotlinNativeArtifactDSL; public abstract fun getNative ()Lorg/jetbrains/kotlin/gradle/dsl/KotlinNativeArtifactDSL;
} }
public abstract interface class org/jetbrains/kotlin/gradle/dsl/KotlinCommonCompilerOptions : org/jetbrains/kotlin/gradle/dsl/KotlinCommonCompilerToolOptions {
public abstract fun getApiVersion ()Lorg/gradle/api/provider/Property;
public abstract fun getLanguageVersion ()Lorg/gradle/api/provider/Property;
public abstract fun getUseK2 ()Lorg/gradle/api/provider/Property;
}
public abstract interface class org/jetbrains/kotlin/gradle/dsl/KotlinCommonCompilerToolOptions {
public abstract fun getAllWarningsAsErrors ()Lorg/gradle/api/provider/Property;
public abstract fun getFreeCompilerArgs ()Lorg/gradle/api/provider/ListProperty;
public abstract fun getSuppressWarnings ()Lorg/gradle/api/provider/Property;
public abstract fun getVerbose ()Lorg/gradle/api/provider/Property;
}
public abstract interface class org/jetbrains/kotlin/gradle/dsl/KotlinCommonOptions : org/jetbrains/kotlin/gradle/dsl/KotlinCommonToolOptions { public abstract interface class org/jetbrains/kotlin/gradle/dsl/KotlinCommonOptions : org/jetbrains/kotlin/gradle/dsl/KotlinCommonToolOptions {
public abstract fun getApiVersion ()Ljava/lang/String; public abstract fun getApiVersion ()Ljava/lang/String;
public abstract fun getLanguageVersion ()Ljava/lang/String; public abstract fun getLanguageVersion ()Ljava/lang/String;
public abstract fun getOptions ()Lorg/jetbrains/kotlin/gradle/dsl/CompilerCommonOptions; public abstract fun getOptions ()Lorg/jetbrains/kotlin/gradle/dsl/KotlinCommonCompilerOptions;
public abstract fun getUseK2 ()Z public abstract fun getUseK2 ()Z
public abstract fun setApiVersion (Ljava/lang/String;)V public abstract fun setApiVersion (Ljava/lang/String;)V
public abstract fun setLanguageVersion (Ljava/lang/String;)V public abstract fun setLanguageVersion (Ljava/lang/String;)V
@@ -220,7 +190,7 @@ public final class org/jetbrains/kotlin/gradle/dsl/KotlinCommonOptions$DefaultIm
public abstract interface class org/jetbrains/kotlin/gradle/dsl/KotlinCommonToolOptions { public abstract interface class org/jetbrains/kotlin/gradle/dsl/KotlinCommonToolOptions {
public abstract fun getAllWarningsAsErrors ()Z public abstract fun getAllWarningsAsErrors ()Z
public abstract fun getFreeCompilerArgs ()Ljava/util/List; public abstract fun getFreeCompilerArgs ()Ljava/util/List;
public abstract fun getOptions ()Lorg/jetbrains/kotlin/gradle/dsl/CompilerCommonToolOptions; public abstract fun getOptions ()Lorg/jetbrains/kotlin/gradle/dsl/KotlinCommonCompilerToolOptions;
public abstract fun getSuppressWarnings ()Z public abstract fun getSuppressWarnings ()Z
public abstract fun getVerbose ()Z public abstract fun getVerbose ()Z
public abstract fun setAllWarningsAsErrors (Z)V public abstract fun setAllWarningsAsErrors (Z)V
@@ -253,9 +223,29 @@ public final class org/jetbrains/kotlin/gradle/dsl/KotlinCompile$DefaultImpls {
public static fun kotlinOptions (Lorg/jetbrains/kotlin/gradle/dsl/KotlinCompile;Lorg/gradle/api/Action;)V public static fun kotlinOptions (Lorg/jetbrains/kotlin/gradle/dsl/KotlinCompile;Lorg/gradle/api/Action;)V
} }
public abstract interface class org/jetbrains/kotlin/gradle/dsl/KotlinJsCompilerOptions : org/jetbrains/kotlin/gradle/dsl/KotlinCommonCompilerOptions {
public abstract fun getFriendModulesDisabled ()Lorg/gradle/api/provider/Property;
public abstract fun getMain ()Lorg/gradle/api/provider/Property;
public abstract fun getMetaInfo ()Lorg/gradle/api/provider/Property;
public abstract fun getModuleKind ()Lorg/gradle/api/provider/Property;
public abstract fun getModuleName ()Lorg/gradle/api/provider/Property;
public abstract fun getNoStdlib ()Lorg/gradle/api/provider/Property;
public abstract fun getOutputFile ()Lorg/gradle/api/provider/Property;
public abstract fun getSourceMap ()Lorg/gradle/api/provider/Property;
public abstract fun getSourceMapEmbedSources ()Lorg/gradle/api/provider/Property;
public abstract fun getSourceMapPrefix ()Lorg/gradle/api/provider/Property;
public abstract fun getTarget ()Lorg/gradle/api/provider/Property;
public abstract fun getTypedArrays ()Lorg/gradle/api/provider/Property;
}
public abstract interface class org/jetbrains/kotlin/gradle/dsl/KotlinJsDceCompilerToolOptions : org/jetbrains/kotlin/gradle/dsl/KotlinCommonCompilerToolOptions {
public abstract fun getDevMode ()Lorg/gradle/api/provider/Property;
public abstract fun getOutputDirectory ()Lorg/gradle/api/provider/Property;
}
public abstract interface class org/jetbrains/kotlin/gradle/dsl/KotlinJsDceOptions : org/jetbrains/kotlin/gradle/dsl/KotlinCommonToolOptions { public abstract interface class org/jetbrains/kotlin/gradle/dsl/KotlinJsDceOptions : org/jetbrains/kotlin/gradle/dsl/KotlinCommonToolOptions {
public abstract fun getDevMode ()Z public abstract fun getDevMode ()Z
public abstract fun getOptions ()Lorg/jetbrains/kotlin/gradle/dsl/CompilerJsDceOptions; public abstract fun getOptions ()Lorg/jetbrains/kotlin/gradle/dsl/KotlinJsDceCompilerToolOptions;
public abstract fun getOutputDirectory ()Ljava/lang/String; public abstract fun getOutputDirectory ()Ljava/lang/String;
public abstract fun setDevMode (Z)V public abstract fun setDevMode (Z)V
public abstract fun setOutputDirectory (Ljava/lang/String;)V public abstract fun setOutputDirectory (Ljava/lang/String;)V
@@ -283,7 +273,7 @@ public abstract interface class org/jetbrains/kotlin/gradle/dsl/KotlinJsOptions
public abstract fun getModuleKind ()Ljava/lang/String; public abstract fun getModuleKind ()Ljava/lang/String;
public abstract fun getModuleName ()Ljava/lang/String; public abstract fun getModuleName ()Ljava/lang/String;
public abstract fun getNoStdlib ()Z public abstract fun getNoStdlib ()Z
public abstract fun getOptions ()Lorg/jetbrains/kotlin/gradle/dsl/CompilerJsOptions; public abstract fun getOptions ()Lorg/jetbrains/kotlin/gradle/dsl/KotlinJsCompilerOptions;
public abstract fun getOutputFile ()Ljava/lang/String; public abstract fun getOutputFile ()Ljava/lang/String;
public abstract fun getSourceMap ()Z public abstract fun getSourceMap ()Z
public abstract fun getSourceMapEmbedSources ()Ljava/lang/String; public abstract fun getSourceMapEmbedSources ()Ljava/lang/String;
@@ -345,12 +335,19 @@ public final class org/jetbrains/kotlin/gradle/dsl/KotlinJsOptions$DefaultImpls
public static fun setVerbose (Lorg/jetbrains/kotlin/gradle/dsl/KotlinJsOptions;Z)V public static fun setVerbose (Lorg/jetbrains/kotlin/gradle/dsl/KotlinJsOptions;Z)V
} }
public abstract interface class org/jetbrains/kotlin/gradle/dsl/KotlinJvmCompilerOptions : org/jetbrains/kotlin/gradle/dsl/KotlinCommonCompilerOptions {
public abstract fun getJavaParameters ()Lorg/gradle/api/provider/Property;
public abstract fun getJvmTarget ()Lorg/gradle/api/provider/Property;
public abstract fun getModuleName ()Lorg/gradle/api/provider/Property;
public abstract fun getNoJdk ()Lorg/gradle/api/provider/Property;
}
public abstract interface class org/jetbrains/kotlin/gradle/dsl/KotlinJvmOptions : org/jetbrains/kotlin/gradle/dsl/KotlinCommonOptions { public abstract interface class org/jetbrains/kotlin/gradle/dsl/KotlinJvmOptions : org/jetbrains/kotlin/gradle/dsl/KotlinCommonOptions {
public abstract fun getJavaParameters ()Z public abstract fun getJavaParameters ()Z
public abstract fun getJvmTarget ()Ljava/lang/String; public abstract fun getJvmTarget ()Ljava/lang/String;
public abstract fun getModuleName ()Ljava/lang/String; public abstract fun getModuleName ()Ljava/lang/String;
public abstract fun getNoJdk ()Z public abstract fun getNoJdk ()Z
public abstract fun getOptions ()Lorg/jetbrains/kotlin/gradle/dsl/CompilerJvmOptions; public abstract fun getOptions ()Lorg/jetbrains/kotlin/gradle/dsl/KotlinJvmCompilerOptions;
public abstract fun setJavaParameters (Z)V public abstract fun setJavaParameters (Z)V
public abstract fun setJvmTarget (Ljava/lang/String;)V public abstract fun setJvmTarget (Ljava/lang/String;)V
public abstract fun setModuleName (Ljava/lang/String;)V public abstract fun setModuleName (Ljava/lang/String;)V
@@ -382,8 +379,11 @@ public final class org/jetbrains/kotlin/gradle/dsl/KotlinJvmOptions$DefaultImpls
public static fun setVerbose (Lorg/jetbrains/kotlin/gradle/dsl/KotlinJvmOptions;Z)V public static fun setVerbose (Lorg/jetbrains/kotlin/gradle/dsl/KotlinJvmOptions;Z)V
} }
public abstract interface class org/jetbrains/kotlin/gradle/dsl/KotlinMultiplatformCommonCompilerOptions : org/jetbrains/kotlin/gradle/dsl/KotlinCommonCompilerOptions {
}
public abstract interface class org/jetbrains/kotlin/gradle/dsl/KotlinMultiplatformCommonOptions : org/jetbrains/kotlin/gradle/dsl/KotlinCommonOptions { public abstract interface class org/jetbrains/kotlin/gradle/dsl/KotlinMultiplatformCommonOptions : org/jetbrains/kotlin/gradle/dsl/KotlinCommonOptions {
public abstract fun getOptions ()Lorg/jetbrains/kotlin/gradle/dsl/CompilerMultiplatformCommonOptions; public abstract fun getOptions ()Lorg/jetbrains/kotlin/gradle/dsl/KotlinMultiplatformCommonCompilerOptions;
} }
public final class org/jetbrains/kotlin/gradle/dsl/KotlinMultiplatformCommonOptions$DefaultImpls { public final class org/jetbrains/kotlin/gradle/dsl/KotlinMultiplatformCommonOptions$DefaultImpls {
@@ -601,7 +601,7 @@ public final class org/jetbrains/kotlin/gradle/plugin/FilesSubpluginOption : org
public abstract interface class org/jetbrains/kotlin/gradle/plugin/HasCompilerOptions { public abstract interface class org/jetbrains/kotlin/gradle/plugin/HasCompilerOptions {
public abstract fun configure (Lkotlin/jvm/functions/Function1;)V public abstract fun configure (Lkotlin/jvm/functions/Function1;)V
public abstract fun configure (Lorg/gradle/api/Action;)V public abstract fun configure (Lorg/gradle/api/Action;)V
public abstract fun getOptions ()Lorg/jetbrains/kotlin/gradle/dsl/CompilerCommonOptions; public abstract fun getOptions ()Lorg/jetbrains/kotlin/gradle/dsl/KotlinCommonCompilerOptions;
} }
public final class org/jetbrains/kotlin/gradle/plugin/HasCompilerOptions$DefaultImpls { public final class org/jetbrains/kotlin/gradle/plugin/HasCompilerOptions$DefaultImpls {
@@ -878,7 +878,7 @@ public final class org/jetbrains/kotlin/gradle/plugin/KotlinJsCompilerTypeKt {
public abstract interface class org/jetbrains/kotlin/gradle/plugin/KotlinJvmFactory { public abstract interface class org/jetbrains/kotlin/gradle/plugin/KotlinJvmFactory {
public abstract fun addCompilerPluginDependency (Lorg/gradle/api/provider/Provider;)V public abstract fun addCompilerPluginDependency (Lorg/gradle/api/provider/Provider;)V
public abstract fun createCompilerJvmOptions ()Lorg/jetbrains/kotlin/gradle/dsl/CompilerJvmOptions; public abstract fun createCompilerJvmOptions ()Lorg/jetbrains/kotlin/gradle/dsl/KotlinJvmCompilerOptions;
public abstract fun createKotlinJvmOptions ()Lorg/jetbrains/kotlin/gradle/dsl/KotlinJvmOptions; public abstract fun createKotlinJvmOptions ()Lorg/jetbrains/kotlin/gradle/dsl/KotlinJvmOptions;
public abstract fun getCompilerPlugins ()Lorg/gradle/api/file/FileCollection; public abstract fun getCompilerPlugins ()Lorg/gradle/api/file/FileCollection;
public abstract fun getKaptExtension ()Lorg/jetbrains/kotlin/gradle/dsl/KaptExtensionConfig; public abstract fun getKaptExtension ()Lorg/jetbrains/kotlin/gradle/dsl/KaptExtensionConfig;
@@ -1394,7 +1394,7 @@ public final class org/jetbrains/kotlin/gradle/tasks/KaptGenerateStubs$DefaultIm
public abstract interface class org/jetbrains/kotlin/gradle/tasks/KotlinCompilationTask : org/gradle/api/Task { public abstract interface class org/jetbrains/kotlin/gradle/tasks/KotlinCompilationTask : org/gradle/api/Task {
public abstract fun compilerOptions (Lkotlin/jvm/functions/Function1;)V public abstract fun compilerOptions (Lkotlin/jvm/functions/Function1;)V
public abstract fun compilerOptions (Lorg/gradle/api/Action;)V public abstract fun compilerOptions (Lorg/gradle/api/Action;)V
public abstract fun getCompilerOptions ()Lorg/jetbrains/kotlin/gradle/dsl/CompilerCommonOptions; public abstract fun getCompilerOptions ()Lorg/jetbrains/kotlin/gradle/dsl/KotlinCommonCompilerOptions;
} }
public final class org/jetbrains/kotlin/gradle/tasks/KotlinCompilationTask$DefaultImpls { public final class org/jetbrains/kotlin/gradle/tasks/KotlinCompilationTask$DefaultImpls {
@@ -1458,7 +1458,7 @@ public final class org/jetbrains/kotlin/gradle/tasks/KotlinJvmCompile$DefaultImp
} }
public abstract interface class org/jetbrains/kotlin/gradle/tasks/KotlinToolTask : org/gradle/api/Task { public abstract interface class org/jetbrains/kotlin/gradle/tasks/KotlinToolTask : org/gradle/api/Task {
public abstract fun getToolOptions ()Lorg/jetbrains/kotlin/gradle/dsl/CompilerCommonToolOptions; public abstract fun getToolOptions ()Lorg/jetbrains/kotlin/gradle/dsl/KotlinCommonCompilerToolOptions;
public abstract fun toolOptions (Lkotlin/jvm/functions/Function1;)V public abstract fun toolOptions (Lkotlin/jvm/functions/Function1;)V
public abstract fun toolOptions (Lorg/gradle/api/Action;)V public abstract fun toolOptions (Lorg/gradle/api/Action;)V
} }
@@ -28,7 +28,7 @@ interface KotlinNativeArtifact : KotlinArtifact {
replaceWith = ReplaceWith("toolOptionsConfigure") replaceWith = ReplaceWith("toolOptionsConfigure")
) )
val kotlinOptionsFn: KotlinCommonToolOptions.() -> Unit val kotlinOptionsFn: KotlinCommonToolOptions.() -> Unit
val toolOptionsConfigure: CompilerCommonToolOptions.() -> Unit val toolOptionsConfigure: KotlinCommonCompilerToolOptions.() -> Unit
val binaryOptions: Map<String, String> val binaryOptions: Map<String, String>
} }
@@ -70,7 +70,7 @@ interface KotlinNativeArtifactConfig : KotlinArtifactConfig {
replaceWith = ReplaceWith("toolOptions(fn)") replaceWith = ReplaceWith("toolOptions(fn)")
) )
fun kotlinOptions(fn: Action<KotlinCommonToolOptions>) fun kotlinOptions(fn: Action<KotlinCommonToolOptions>)
fun toolOptions(configure: Action<CompilerCommonToolOptions>) fun toolOptions(configure: Action<KotlinCommonCompilerToolOptions>)
fun binaryOption(name: String, value: String) fun binaryOption(name: String, value: String)
} }
@@ -5,7 +5,7 @@
package org.jetbrains.kotlin.gradle.dsl package org.jetbrains.kotlin.gradle.dsl
interface CompilerCommonOptions : org.jetbrains.kotlin.gradle.dsl.CompilerCommonToolOptions { interface KotlinCommonCompilerOptions : org.jetbrains.kotlin.gradle.dsl.KotlinCommonCompilerToolOptions {
/** /**
* Allow using declarations only from the specified version of bundled libraries * Allow using declarations only from the specified version of bundled libraries
@@ -5,7 +5,7 @@
package org.jetbrains.kotlin.gradle.dsl package org.jetbrains.kotlin.gradle.dsl
interface CompilerCommonToolOptions { interface KotlinCommonCompilerToolOptions {
/** /**
* Report an error if there are any warnings * Report an error if there are any warnings
@@ -5,9 +5,9 @@
package org.jetbrains.kotlin.gradle.dsl package org.jetbrains.kotlin.gradle.dsl
@Deprecated("Use CompilerCommonOptions instead", level = DeprecationLevel.WARNING) @Deprecated("Use KotlinCommonCompilerOptions instead", level = DeprecationLevel.WARNING)
interface KotlinCommonOptions : org.jetbrains.kotlin.gradle.dsl.KotlinCommonToolOptions { interface KotlinCommonOptions : org.jetbrains.kotlin.gradle.dsl.KotlinCommonToolOptions {
override val options: org.jetbrains.kotlin.gradle.dsl.CompilerCommonOptions override val options: org.jetbrains.kotlin.gradle.dsl.KotlinCommonCompilerOptions
private val kotlin.String?.apiVersionCompilerOption get() = if (this != null) org.jetbrains.kotlin.gradle.dsl.KotlinVersion.fromVersion(this) else null private val kotlin.String?.apiVersionCompilerOption get() = if (this != null) org.jetbrains.kotlin.gradle.dsl.KotlinVersion.fromVersion(this) else null
@@ -5,9 +5,9 @@
package org.jetbrains.kotlin.gradle.dsl package org.jetbrains.kotlin.gradle.dsl
@Deprecated("Use CompilerCommonToolOptions instead", level = DeprecationLevel.WARNING) @Deprecated("Use KotlinCommonCompilerToolOptions instead", level = DeprecationLevel.WARNING)
interface KotlinCommonToolOptions { interface KotlinCommonToolOptions {
val options: org.jetbrains.kotlin.gradle.dsl.CompilerCommonToolOptions val options: org.jetbrains.kotlin.gradle.dsl.KotlinCommonCompilerToolOptions
/** /**
* Report an error if there are any warnings * Report an error if there are any warnings
@@ -5,7 +5,7 @@
package org.jetbrains.kotlin.gradle.dsl package org.jetbrains.kotlin.gradle.dsl
interface CompilerJsOptions : org.jetbrains.kotlin.gradle.dsl.CompilerCommonOptions { interface KotlinJsCompilerOptions : org.jetbrains.kotlin.gradle.dsl.KotlinCommonCompilerOptions {
/** /**
* Disable internal declaration export * Disable internal declaration export
@@ -5,7 +5,7 @@
package org.jetbrains.kotlin.gradle.dsl package org.jetbrains.kotlin.gradle.dsl
interface CompilerJsDceOptions : org.jetbrains.kotlin.gradle.dsl.CompilerCommonToolOptions { interface KotlinJsDceCompilerToolOptions : org.jetbrains.kotlin.gradle.dsl.KotlinCommonCompilerToolOptions {
/** /**
* Development mode: don't strip out any code, just copy dependencies * Development mode: don't strip out any code, just copy dependencies
@@ -5,9 +5,9 @@
package org.jetbrains.kotlin.gradle.dsl package org.jetbrains.kotlin.gradle.dsl
@Deprecated("Use CompilerJsDceOptions instead", level = DeprecationLevel.WARNING) @Deprecated("Use KotlinJsDceCompilerToolOptions instead", level = DeprecationLevel.WARNING)
interface KotlinJsDceOptions : org.jetbrains.kotlin.gradle.dsl.KotlinCommonToolOptions { interface KotlinJsDceOptions : org.jetbrains.kotlin.gradle.dsl.KotlinCommonToolOptions {
override val options: org.jetbrains.kotlin.gradle.dsl.CompilerJsDceOptions override val options: org.jetbrains.kotlin.gradle.dsl.KotlinJsDceCompilerToolOptions
/** /**
* Development mode: don't strip out any code, just copy dependencies * Development mode: don't strip out any code, just copy dependencies
@@ -5,9 +5,9 @@
package org.jetbrains.kotlin.gradle.dsl package org.jetbrains.kotlin.gradle.dsl
@Deprecated("Use CompilerJsOptions instead", level = DeprecationLevel.WARNING) @Deprecated("Use KotlinJsCompilerOptions instead", level = DeprecationLevel.WARNING)
interface KotlinJsOptions : org.jetbrains.kotlin.gradle.dsl.KotlinCommonOptions { interface KotlinJsOptions : org.jetbrains.kotlin.gradle.dsl.KotlinCommonOptions {
override val options: org.jetbrains.kotlin.gradle.dsl.CompilerJsOptions override val options: org.jetbrains.kotlin.gradle.dsl.KotlinJsCompilerOptions
/** /**
* Disable internal declaration export * Disable internal declaration export
@@ -5,7 +5,7 @@
package org.jetbrains.kotlin.gradle.dsl package org.jetbrains.kotlin.gradle.dsl
interface CompilerJvmOptions : org.jetbrains.kotlin.gradle.dsl.CompilerCommonOptions { interface KotlinJvmCompilerOptions : org.jetbrains.kotlin.gradle.dsl.KotlinCommonCompilerOptions {
/** /**
* Generate metadata for Java 1.8 reflection on method parameters * Generate metadata for Java 1.8 reflection on method parameters
@@ -5,9 +5,9 @@
package org.jetbrains.kotlin.gradle.dsl package org.jetbrains.kotlin.gradle.dsl
@Deprecated("Use CompilerJvmOptions instead", level = DeprecationLevel.WARNING) @Deprecated("Use KotlinJvmCompilerOptions instead", level = DeprecationLevel.WARNING)
interface KotlinJvmOptions : org.jetbrains.kotlin.gradle.dsl.KotlinCommonOptions { interface KotlinJvmOptions : org.jetbrains.kotlin.gradle.dsl.KotlinCommonOptions {
override val options: org.jetbrains.kotlin.gradle.dsl.CompilerJvmOptions override val options: org.jetbrains.kotlin.gradle.dsl.KotlinJvmCompilerOptions
/** /**
* Generate metadata for Java 1.8 reflection on method parameters * Generate metadata for Java 1.8 reflection on method parameters
@@ -5,5 +5,5 @@
package org.jetbrains.kotlin.gradle.dsl package org.jetbrains.kotlin.gradle.dsl
interface CompilerMultiplatformCommonOptions : org.jetbrains.kotlin.gradle.dsl.CompilerCommonOptions { interface KotlinMultiplatformCommonCompilerOptions : org.jetbrains.kotlin.gradle.dsl.KotlinCommonCompilerOptions {
} }
@@ -5,7 +5,7 @@
package org.jetbrains.kotlin.gradle.dsl package org.jetbrains.kotlin.gradle.dsl
@Deprecated("Use CompilerMultiplatformCommonOptions instead", level = DeprecationLevel.WARNING) @Deprecated("Use KotlinMultiplatformCommonCompilerOptions instead", level = DeprecationLevel.WARNING)
interface KotlinMultiplatformCommonOptions : org.jetbrains.kotlin.gradle.dsl.KotlinCommonOptions { interface KotlinMultiplatformCommonOptions : org.jetbrains.kotlin.gradle.dsl.KotlinCommonOptions {
override val options: org.jetbrains.kotlin.gradle.dsl.CompilerMultiplatformCommonOptions override val options: org.jetbrains.kotlin.gradle.dsl.KotlinMultiplatformCommonCompilerOptions
} }
@@ -6,9 +6,9 @@
package org.jetbrains.kotlin.gradle.plugin package org.jetbrains.kotlin.gradle.plugin
import org.gradle.api.Action import org.gradle.api.Action
import org.jetbrains.kotlin.gradle.dsl.CompilerCommonOptions import org.jetbrains.kotlin.gradle.dsl.KotlinCommonCompilerOptions
interface HasCompilerOptions<out CO : CompilerCommonOptions> { interface HasCompilerOptions<out CO : KotlinCommonCompilerOptions> {
val options: CO val options: CO
fun configure(configuration: CO.() -> Unit) { fun configure(configuration: CO.() -> Unit) {
@@ -9,7 +9,7 @@ package org.jetbrains.kotlin.gradle.plugin
import org.gradle.api.file.FileCollection import org.gradle.api.file.FileCollection
import org.gradle.api.provider.Provider import org.gradle.api.provider.Provider
import org.gradle.api.tasks.TaskProvider import org.gradle.api.tasks.TaskProvider
import org.jetbrains.kotlin.gradle.dsl.CompilerJvmOptions import org.jetbrains.kotlin.gradle.dsl.KotlinJvmCompilerOptions
import org.jetbrains.kotlin.gradle.dsl.KaptExtensionConfig import org.jetbrains.kotlin.gradle.dsl.KaptExtensionConfig
import org.jetbrains.kotlin.gradle.dsl.KotlinJvmOptionsDeprecated import org.jetbrains.kotlin.gradle.dsl.KotlinJvmOptionsDeprecated
import org.jetbrains.kotlin.gradle.dsl.KotlinTopLevelExtensionConfig import org.jetbrains.kotlin.gradle.dsl.KotlinTopLevelExtensionConfig
@@ -36,7 +36,7 @@ interface KotlinJvmFactory {
) )
fun createKotlinJvmOptions(): KotlinJvmOptionsDeprecated fun createKotlinJvmOptions(): KotlinJvmOptionsDeprecated
fun createCompilerJvmOptions(): CompilerJvmOptions fun createCompilerJvmOptions(): KotlinJvmCompilerOptions
/** Creates a Kotlin compile task. */ /** Creates a Kotlin compile task. */
fun registerKotlinJvmCompileTask(taskName: String): TaskProvider<out KotlinJvmCompile> fun registerKotlinJvmCompileTask(taskName: String): TaskProvider<out KotlinJvmCompile>
@@ -10,7 +10,6 @@ package org.jetbrains.kotlin.gradle.plugin.mpp.pm20
import org.gradle.api.Project import org.gradle.api.Project
import org.gradle.api.file.FileCollection import org.gradle.api.file.FileCollection
import org.gradle.api.file.SourceDirectorySet import org.gradle.api.file.SourceDirectorySet
import org.jetbrains.kotlin.gradle.dsl.CompilerCommonOptions
import org.jetbrains.kotlin.gradle.dsl.KotlinCommonOptionsDeprecated import org.jetbrains.kotlin.gradle.dsl.KotlinCommonOptionsDeprecated
import org.jetbrains.kotlin.gradle.plugin.HasCompilerOptions import org.jetbrains.kotlin.gradle.plugin.HasCompilerOptions
import org.jetbrains.kotlin.gradle.plugin.KotlinCompilationOutput import org.jetbrains.kotlin.gradle.plugin.KotlinCompilationOutput
@@ -8,9 +8,9 @@ package org.jetbrains.kotlin.gradle.tasks
import org.gradle.api.Action import org.gradle.api.Action
import org.gradle.api.Task import org.gradle.api.Task
import org.gradle.api.tasks.Nested import org.gradle.api.tasks.Nested
import org.jetbrains.kotlin.gradle.dsl.CompilerCommonOptions import org.jetbrains.kotlin.gradle.dsl.KotlinCommonCompilerOptions
interface KotlinCompilationTask<out CO : CompilerCommonOptions> : Task { interface KotlinCompilationTask<out CO : KotlinCommonCompilerOptions> : Task {
@get:Nested @get:Nested
val compilerOptions: CO val compilerOptions: CO
@@ -79,7 +79,7 @@ interface BaseKotlinCompile : KotlinCompileTool {
@Suppress("TYPEALIAS_EXPANSION_DEPRECATION") @Suppress("TYPEALIAS_EXPANSION_DEPRECATION")
interface KotlinJvmCompile : BaseKotlinCompile, interface KotlinJvmCompile : BaseKotlinCompile,
KotlinCompileDeprecated<KotlinJvmOptionsDeprecated>, KotlinCompileDeprecated<KotlinJvmOptionsDeprecated>,
KotlinCompilationTask<CompilerJvmOptions> { KotlinCompilationTask<KotlinJvmCompilerOptions> {
// JVM specific // JVM specific
@get:Internal("Takes part in compiler args.") @get:Internal("Takes part in compiler args.")
@@ -8,9 +8,9 @@ package org.jetbrains.kotlin.gradle.tasks
import org.gradle.api.Action import org.gradle.api.Action
import org.gradle.api.Task import org.gradle.api.Task
import org.gradle.api.tasks.Nested import org.gradle.api.tasks.Nested
import org.jetbrains.kotlin.gradle.dsl.CompilerCommonToolOptions import org.jetbrains.kotlin.gradle.dsl.KotlinCommonCompilerToolOptions
interface KotlinToolTask<out TO : CompilerCommonToolOptions> : Task { interface KotlinToolTask<out TO : KotlinCommonCompilerToolOptions> : Task {
@get:Nested @get:Nested
val toolOptions: TO val toolOptions: TO
@@ -5,9 +5,9 @@
package org.jetbrains.kotlin.gradle.dsl package org.jetbrains.kotlin.gradle.dsl
internal abstract class CompilerCommonOptionsDefault @javax.inject.Inject constructor( internal abstract class KotlinCommonCompilerOptionsDefault @javax.inject.Inject constructor(
objectFactory: org.gradle.api.model.ObjectFactory objectFactory: org.gradle.api.model.ObjectFactory
) : org.jetbrains.kotlin.gradle.dsl.CompilerCommonToolOptionsDefault(objectFactory), org.jetbrains.kotlin.gradle.dsl.CompilerCommonOptions { ) : org.jetbrains.kotlin.gradle.dsl.KotlinCommonCompilerToolOptionsDefault(objectFactory), org.jetbrains.kotlin.gradle.dsl.KotlinCommonCompilerOptions {
override val apiVersion: org.gradle.api.provider.Property<org.jetbrains.kotlin.gradle.dsl.KotlinVersion> = override val apiVersion: org.gradle.api.provider.Property<org.jetbrains.kotlin.gradle.dsl.KotlinVersion> =
objectFactory.property(org.jetbrains.kotlin.gradle.dsl.KotlinVersion::class.java) objectFactory.property(org.jetbrains.kotlin.gradle.dsl.KotlinVersion::class.java)
@@ -5,9 +5,9 @@
package org.jetbrains.kotlin.gradle.dsl package org.jetbrains.kotlin.gradle.dsl
internal abstract class CompilerCommonToolOptionsDefault @javax.inject.Inject constructor( internal abstract class KotlinCommonCompilerToolOptionsDefault @javax.inject.Inject constructor(
objectFactory: org.gradle.api.model.ObjectFactory objectFactory: org.gradle.api.model.ObjectFactory
) : org.jetbrains.kotlin.gradle.dsl.CompilerCommonToolOptions { ) : org.jetbrains.kotlin.gradle.dsl.KotlinCommonCompilerToolOptions {
override val allWarningsAsErrors: org.gradle.api.provider.Property<kotlin.Boolean> = override val allWarningsAsErrors: org.gradle.api.provider.Property<kotlin.Boolean> =
objectFactory.property(kotlin.Boolean::class.java).convention(false) objectFactory.property(kotlin.Boolean::class.java).convention(false)
@@ -5,9 +5,9 @@
package org.jetbrains.kotlin.gradle.dsl package org.jetbrains.kotlin.gradle.dsl
internal abstract class CompilerJsOptionsDefault @javax.inject.Inject constructor( internal abstract class KotlinJsCompilerOptionsDefault @javax.inject.Inject constructor(
objectFactory: org.gradle.api.model.ObjectFactory objectFactory: org.gradle.api.model.ObjectFactory
) : org.jetbrains.kotlin.gradle.dsl.CompilerCommonOptionsDefault(objectFactory), org.jetbrains.kotlin.gradle.dsl.CompilerJsOptions { ) : org.jetbrains.kotlin.gradle.dsl.KotlinCommonCompilerOptionsDefault(objectFactory), org.jetbrains.kotlin.gradle.dsl.KotlinJsCompilerOptions {
override val friendModulesDisabled: org.gradle.api.provider.Property<kotlin.Boolean> = override val friendModulesDisabled: org.gradle.api.provider.Property<kotlin.Boolean> =
objectFactory.property(kotlin.Boolean::class.java).convention(false) objectFactory.property(kotlin.Boolean::class.java).convention(false)
@@ -5,9 +5,9 @@
package org.jetbrains.kotlin.gradle.dsl package org.jetbrains.kotlin.gradle.dsl
internal abstract class CompilerJsDceOptionsDefault @javax.inject.Inject constructor( internal abstract class KotlinJsDceCompilerToolOptionsDefault @javax.inject.Inject constructor(
objectFactory: org.gradle.api.model.ObjectFactory objectFactory: org.gradle.api.model.ObjectFactory
) : org.jetbrains.kotlin.gradle.dsl.CompilerCommonOptionsDefault(objectFactory), org.jetbrains.kotlin.gradle.dsl.CompilerJsDceOptions { ) : org.jetbrains.kotlin.gradle.dsl.KotlinCommonCompilerOptionsDefault(objectFactory), org.jetbrains.kotlin.gradle.dsl.KotlinJsDceCompilerToolOptions {
override val devMode: org.gradle.api.provider.Property<kotlin.Boolean> = override val devMode: org.gradle.api.provider.Property<kotlin.Boolean> =
objectFactory.property(kotlin.Boolean::class.java).convention(false) objectFactory.property(kotlin.Boolean::class.java).convention(false)
@@ -5,9 +5,9 @@
package org.jetbrains.kotlin.gradle.dsl package org.jetbrains.kotlin.gradle.dsl
internal abstract class CompilerJvmOptionsDefault @javax.inject.Inject constructor( internal abstract class KotlinJvmCompilerOptionsDefault @javax.inject.Inject constructor(
objectFactory: org.gradle.api.model.ObjectFactory objectFactory: org.gradle.api.model.ObjectFactory
) : org.jetbrains.kotlin.gradle.dsl.CompilerCommonOptionsDefault(objectFactory), org.jetbrains.kotlin.gradle.dsl.CompilerJvmOptions { ) : org.jetbrains.kotlin.gradle.dsl.KotlinCommonCompilerOptionsDefault(objectFactory), org.jetbrains.kotlin.gradle.dsl.KotlinJvmCompilerOptions {
override val javaParameters: org.gradle.api.provider.Property<kotlin.Boolean> = override val javaParameters: org.gradle.api.provider.Property<kotlin.Boolean> =
objectFactory.property(kotlin.Boolean::class.java).convention(false) objectFactory.property(kotlin.Boolean::class.java).convention(false)
@@ -5,9 +5,9 @@
package org.jetbrains.kotlin.gradle.dsl package org.jetbrains.kotlin.gradle.dsl
internal abstract class CompilerMultiplatformCommonOptionsDefault @javax.inject.Inject constructor( internal abstract class KotlinMultiplatformCommonCompilerOptionsDefault @javax.inject.Inject constructor(
objectFactory: org.gradle.api.model.ObjectFactory objectFactory: org.gradle.api.model.ObjectFactory
) : org.jetbrains.kotlin.gradle.dsl.CompilerCommonOptionsDefault(objectFactory), org.jetbrains.kotlin.gradle.dsl.CompilerMultiplatformCommonOptions { ) : org.jetbrains.kotlin.gradle.dsl.KotlinCommonCompilerOptionsDefault(objectFactory), org.jetbrains.kotlin.gradle.dsl.KotlinMultiplatformCommonCompilerOptions {
internal fun fillCompilerArguments(args: org.jetbrains.kotlin.cli.common.arguments.K2MetadataCompilerArguments) { internal fun fillCompilerArguments(args: org.jetbrains.kotlin.cli.common.arguments.K2MetadataCompilerArguments) {
super.fillCompilerArguments(args) super.fillCompilerArguments(args)
@@ -164,27 +164,27 @@ abstract class KotlinSingleTargetExtension<TARGET : KotlinTarget>(project: Proje
abstract class KotlinSingleJavaTargetExtension(project: Project) : KotlinSingleTargetExtension<KotlinWithJavaTarget<*, *>>(project) abstract class KotlinSingleJavaTargetExtension(project: Project) : KotlinSingleTargetExtension<KotlinWithJavaTarget<*, *>>(project)
abstract class KotlinJvmProjectExtension(project: Project) : KotlinSingleJavaTargetExtension(project) { abstract class KotlinJvmProjectExtension(project: Project) : KotlinSingleJavaTargetExtension(project) {
override lateinit var target: KotlinWithJavaTarget<KotlinJvmOptions, CompilerJvmOptions> override lateinit var target: KotlinWithJavaTarget<KotlinJvmOptions, KotlinJvmCompilerOptions>
internal set internal set
open fun target(body: KotlinWithJavaTarget<KotlinJvmOptions, CompilerJvmOptions>.() -> Unit) = target.run(body) open fun target(body: KotlinWithJavaTarget<KotlinJvmOptions, KotlinJvmCompilerOptions>.() -> Unit) = target.run(body)
} }
abstract class Kotlin2JsProjectExtension(project: Project) : KotlinSingleJavaTargetExtension(project) { abstract class Kotlin2JsProjectExtension(project: Project) : KotlinSingleJavaTargetExtension(project) {
private lateinit var _target: KotlinWithJavaTarget<KotlinJsOptions, CompilerJsOptions> private lateinit var _target: KotlinWithJavaTarget<KotlinJsOptions, KotlinJsCompilerOptions>
override val target: KotlinWithJavaTarget<KotlinJsOptions, CompilerJsOptions> override val target: KotlinWithJavaTarget<KotlinJsOptions, KotlinJsCompilerOptions>
get() { get() {
if (!::_target.isInitialized) throw IllegalStateException("Extension target is not initialized!") if (!::_target.isInitialized) throw IllegalStateException("Extension target is not initialized!")
return _target return _target
} }
internal fun setTarget(target: KotlinWithJavaTarget<KotlinJsOptions, CompilerJsOptions>) { internal fun setTarget(target: KotlinWithJavaTarget<KotlinJsOptions, KotlinJsCompilerOptions>) {
_target = target _target = target
} }
open fun target(body: KotlinWithJavaTarget<KotlinJsOptions, CompilerJsOptions>.() -> Unit) = target.run(body) open fun target(body: KotlinWithJavaTarget<KotlinJsOptions, KotlinJsCompilerOptions>.() -> Unit) = target.run(body)
} }
abstract class KotlinJsProjectExtension(project: Project) : abstract class KotlinJsProjectExtension(project: Project) :
@@ -381,11 +381,11 @@ abstract class KotlinJsProjectExtension(project: Project) :
} }
abstract class KotlinCommonProjectExtension(project: Project) : KotlinSingleJavaTargetExtension(project) { abstract class KotlinCommonProjectExtension(project: Project) : KotlinSingleJavaTargetExtension(project) {
override lateinit var target: KotlinWithJavaTarget<KotlinMultiplatformCommonOptions, CompilerMultiplatformCommonOptions> override lateinit var target: KotlinWithJavaTarget<KotlinMultiplatformCommonOptions, KotlinMultiplatformCommonCompilerOptions>
internal set internal set
open fun target( open fun target(
body: KotlinWithJavaTarget<KotlinMultiplatformCommonOptions, CompilerMultiplatformCommonOptions>.() -> Unit body: KotlinWithJavaTarget<KotlinMultiplatformCommonOptions, KotlinMultiplatformCommonCompilerOptions>.() -> Unit
) = target.run(body) ) = target.run(body)
} }
@@ -8,7 +8,7 @@ package org.jetbrains.kotlin.gradle.internal
import org.jetbrains.kotlin.cli.common.arguments.CommonCompilerArguments import org.jetbrains.kotlin.cli.common.arguments.CommonCompilerArguments
import org.jetbrains.kotlin.cli.common.arguments.CommonToolArguments import org.jetbrains.kotlin.cli.common.arguments.CommonToolArguments
import org.jetbrains.kotlin.cli.common.arguments.K2JVMCompilerArguments import org.jetbrains.kotlin.cli.common.arguments.K2JVMCompilerArguments
import org.jetbrains.kotlin.gradle.dsl.CompilerJvmOptionsDefault import org.jetbrains.kotlin.gradle.dsl.KotlinJvmCompilerOptionsDefault
import org.jetbrains.kotlin.gradle.logging.kotlinDebug import org.jetbrains.kotlin.gradle.logging.kotlinDebug
import org.jetbrains.kotlin.gradle.tasks.AbstractKotlinCompile import org.jetbrains.kotlin.gradle.tasks.AbstractKotlinCompile
import org.jetbrains.kotlin.gradle.tasks.KotlinCompileArgumentsProvider import org.jetbrains.kotlin.gradle.tasks.KotlinCompileArgumentsProvider
@@ -77,7 +77,7 @@ internal open class KotlinJvmCompilerArgumentsContributor(
args: K2JVMCompilerArguments, args: K2JVMCompilerArguments,
flags: Collection<CompilerArgumentsConfigurationFlag> flags: Collection<CompilerArgumentsConfigurationFlag>
) { ) {
(compilerOptions as CompilerJvmOptionsDefault).fillDefaultValues(args) (compilerOptions as KotlinJvmCompilerOptionsDefault).fillDefaultValues(args)
super.contributeArguments(args, flags) super.contributeArguments(args, flags)
@@ -25,7 +25,7 @@ import org.gradle.work.Incremental
import org.gradle.work.NormalizeLineEndings import org.gradle.work.NormalizeLineEndings
import org.gradle.workers.WorkerExecutor import org.gradle.workers.WorkerExecutor
import org.jetbrains.kotlin.cli.common.arguments.K2JVMCompilerArguments import org.jetbrains.kotlin.cli.common.arguments.K2JVMCompilerArguments
import org.jetbrains.kotlin.gradle.dsl.CompilerJvmOptionsDefault import org.jetbrains.kotlin.gradle.dsl.KotlinJvmCompilerOptionsDefault
import org.jetbrains.kotlin.gradle.report.BuildReportMode import org.jetbrains.kotlin.gradle.report.BuildReportMode
import org.jetbrains.kotlin.gradle.tasks.KaptGenerateStubs import org.jetbrains.kotlin.gradle.tasks.KaptGenerateStubs
import org.jetbrains.kotlin.gradle.tasks.KotlinCompile import org.jetbrains.kotlin.gradle.tasks.KotlinCompile
@@ -39,7 +39,7 @@ abstract class KaptGenerateStubsTask @Inject constructor(
workerExecutor: WorkerExecutor, workerExecutor: WorkerExecutor,
objectFactory: ObjectFactory objectFactory: ObjectFactory
) : KotlinCompile( ) : KotlinCompile(
objectFactory.newInstance(CompilerJvmOptionsDefault::class.java), objectFactory.newInstance(KotlinJvmCompilerOptionsDefault::class.java),
workerExecutor, workerExecutor,
objectFactory objectFactory
), KaptGenerateStubs { ), KaptGenerateStubs {
@@ -110,7 +110,7 @@ abstract class KaptGenerateStubsTask @Inject constructor(
// Also use KotlinOptions configuration that was directly set to this task // Also use KotlinOptions configuration that was directly set to this task
// as 'compileKotlinArgumentsContributor' has KotlinOptions from linked KotlinCompile task // as 'compileKotlinArgumentsContributor' has KotlinOptions from linked KotlinCompile task
(compilerOptions as CompilerJvmOptionsDefault).fillCompilerArguments(args) (compilerOptions as KotlinJvmCompilerOptionsDefault).fillCompilerArguments(args)
// Copied from KotlinCompile // Copied from KotlinCompile
if (reportingSettings().buildReportMode == BuildReportMode.VERBOSE) { if (reportingSettings().buildReportMode == BuildReportMode.VERBOSE) {
@@ -10,7 +10,6 @@ import org.gradle.api.file.FileCollection
import org.gradle.api.provider.Provider import org.gradle.api.provider.Provider
import org.gradle.api.tasks.TaskProvider import org.gradle.api.tasks.TaskProvider
import org.jetbrains.kotlin.gradle.dsl.* import org.jetbrains.kotlin.gradle.dsl.*
import org.jetbrains.kotlin.gradle.dsl.CompilerJvmOptionsDefault
import org.jetbrains.kotlin.gradle.internal.KaptGenerateStubsTask import org.jetbrains.kotlin.gradle.internal.KaptGenerateStubsTask
import org.jetbrains.kotlin.gradle.internal.KaptWithoutKotlincTask import org.jetbrains.kotlin.gradle.internal.KaptWithoutKotlincTask
import org.jetbrains.kotlin.gradle.tasks.* import org.jetbrains.kotlin.gradle.tasks.*
@@ -42,15 +41,15 @@ abstract class KotlinBaseApiPlugin : DefaultKotlinBasePlugin(), KotlinJvmFactory
return myProject.configurations.getByName(PLUGIN_CLASSPATH_CONFIGURATION_NAME) return myProject.configurations.getByName(PLUGIN_CLASSPATH_CONFIGURATION_NAME)
} }
override fun createCompilerJvmOptions(): CompilerJvmOptions { override fun createCompilerJvmOptions(): KotlinJvmCompilerOptions {
return myProject.objects.newInstance(CompilerJvmOptionsDefault::class.java) return myProject.objects.newInstance(KotlinJvmCompilerOptionsDefault::class.java)
} }
@Suppress("DEPRECATION") @Suppress("DEPRECATION")
@Deprecated("Replaced by compilerJvmOptions", replaceWith = ReplaceWith("createCompilerJvmOptions()")) @Deprecated("Replaced by compilerJvmOptions", replaceWith = ReplaceWith("createCompilerJvmOptions()"))
override fun createKotlinJvmOptions(): KotlinJvmOptions { override fun createKotlinJvmOptions(): KotlinJvmOptions {
return object : KotlinJvmOptions { return object : KotlinJvmOptions {
override val options: CompilerJvmOptions = createCompilerJvmOptions() override val options: KotlinJvmCompilerOptions = createCompilerJvmOptions()
} }
} }
@@ -179,7 +179,7 @@ internal class Kotlin2JvmSourceSetProcessor(
return tasksProvider.registerKotlinJVMTask( return tasksProvider.registerKotlinJVMTask(
project, project,
taskName, taskName,
kotlinCompilation.compilerOptions.options as CompilerJvmOptions, kotlinCompilation.compilerOptions.options as KotlinJvmCompilerOptions,
configAction configAction
) )
} }
@@ -241,7 +241,7 @@ internal class Kotlin2JsSourceSetProcessor(
return tasksProvider.registerKotlinJSTask( return tasksProvider.registerKotlinJSTask(
project, project,
taskName, taskName,
kotlinCompilation.compilerOptions.options as CompilerJsOptions, kotlinCompilation.compilerOptions.options as KotlinJsCompilerOptions,
configAction configAction
) )
} }
@@ -278,7 +278,7 @@ internal class KotlinJsIrSourceSetProcessor(
return tasksProvider.registerKotlinJSTask( return tasksProvider.registerKotlinJSTask(
project, project,
taskName, taskName,
kotlinCompilation.compilerOptions.options as CompilerJsOptions, kotlinCompilation.compilerOptions.options as KotlinJsCompilerOptions,
configAction configAction
) )
} }
@@ -340,7 +340,7 @@ internal class KotlinCommonSourceSetProcessor(
return tasksProvider.registerKotlinCommonTask( return tasksProvider.registerKotlinCommonTask(
project, project,
taskName, taskName,
kotlinCompilation.compilerOptions.options as CompilerMultiplatformCommonOptions, kotlinCompilation.compilerOptions.options as KotlinMultiplatformCommonCompilerOptions,
configAction configAction
) )
} }
@@ -594,17 +594,17 @@ internal open class KotlinPlugin(
KotlinPlatformType.jvm, KotlinPlatformType.jvm,
targetName, targetName,
{ {
object : HasCompilerOptions<CompilerJvmOptions> { object : HasCompilerOptions<KotlinJvmCompilerOptions> {
override val options: CompilerJvmOptions = override val options: KotlinJvmCompilerOptions =
project.objects.newInstance(CompilerJvmOptionsDefault::class.java) project.objects.newInstance(KotlinJvmCompilerOptionsDefault::class.java)
} }
}, },
{ compilerOptions: CompilerJvmOptions -> { compilerOptions: KotlinJvmCompilerOptions ->
object : KotlinJvmOptions { object : KotlinJvmOptions {
override val options: CompilerJvmOptions get() = compilerOptions override val options: KotlinJvmCompilerOptions get() = compilerOptions
} }
} }
) as KotlinWithJavaTarget<KotlinJvmOptions, CompilerJvmOptions>) ) as KotlinWithJavaTarget<KotlinJvmOptions, KotlinJvmCompilerOptions>)
.apply { .apply {
disambiguationClassifier = null // don't add anything to the task names disambiguationClassifier = null // don't add anything to the task names
} }
@@ -646,18 +646,18 @@ internal open class KotlinCommonPlugin(
KotlinPlatformType.common, KotlinPlatformType.common,
targetName, targetName,
{ {
object : HasCompilerOptions<CompilerMultiplatformCommonOptions> { object : HasCompilerOptions<KotlinMultiplatformCommonCompilerOptions> {
override val options: CompilerMultiplatformCommonOptions = override val options: KotlinMultiplatformCommonCompilerOptions =
project.objects.newInstance(CompilerMultiplatformCommonOptionsDefault::class.java) project.objects.newInstance(KotlinMultiplatformCommonCompilerOptionsDefault::class.java)
} }
}, },
{ compilerOptions: CompilerMultiplatformCommonOptions -> { compilerOptions: KotlinMultiplatformCommonCompilerOptions ->
object : KotlinMultiplatformCommonOptions { object : KotlinMultiplatformCommonOptions {
override val options: CompilerMultiplatformCommonOptions override val options: KotlinMultiplatformCommonCompilerOptions
get() = compilerOptions get() = compilerOptions
} }
} }
) as KotlinWithJavaTarget<KotlinMultiplatformCommonOptions, CompilerMultiplatformCommonOptions> ) as KotlinWithJavaTarget<KotlinMultiplatformCommonOptions, KotlinMultiplatformCommonCompilerOptions>
(project.kotlinExtension as KotlinCommonProjectExtension).target = target (project.kotlinExtension as KotlinCommonProjectExtension).target = target
super.apply(project) super.apply(project)
@@ -690,18 +690,18 @@ internal open class Kotlin2JsPlugin(
KotlinPlatformType.js, KotlinPlatformType.js,
targetName, targetName,
{ {
object : HasCompilerOptions<CompilerJsOptions> { object : HasCompilerOptions<KotlinJsCompilerOptions> {
override val options: CompilerJsOptions = override val options: KotlinJsCompilerOptions =
project.objects.newInstance(CompilerJsOptionsDefault::class.java) project.objects.newInstance(KotlinJsCompilerOptionsDefault::class.java)
} }
}, },
{ compilerOptions: CompilerJsOptions -> { compilerOptions: KotlinJsCompilerOptions ->
object : KotlinJsOptions { object : KotlinJsOptions {
override val options: CompilerJsOptions override val options: KotlinJsCompilerOptions
get() = compilerOptions get() = compilerOptions
} }
} }
) as KotlinWithJavaTarget<KotlinJsOptions, CompilerJsOptions> ) as KotlinWithJavaTarget<KotlinJsOptions, KotlinJsCompilerOptions>
(project.kotlinExtension as Kotlin2JsProjectExtension).setTarget(target) (project.kotlinExtension as Kotlin2JsProjectExtension).setTarget(target)
super.apply(project) super.apply(project)
@@ -68,7 +68,7 @@ interface CompilationDetailsWithRuntime<T : KotlinCommonOptions> : CompilationDe
internal val CompilationDetails<*>.associateCompilationsClosure: Iterable<CompilationDetails<*>> internal val CompilationDetails<*>.associateCompilationsClosure: Iterable<CompilationDetails<*>>
get() = closure { it.associateCompilations } get() = closure { it.associateCompilations }
open class DefaultCompilationDetails<T : KotlinCommonOptions, CO : CompilerCommonOptions>( open class DefaultCompilationDetails<T : KotlinCommonOptions, CO : KotlinCommonCompilerOptions>(
final override val target: KotlinTarget, final override val target: KotlinTarget,
final override val compilationPurpose: String, final override val compilationPurpose: String,
defaultSourceSet: KotlinSourceSet, defaultSourceSet: KotlinSourceSet,
@@ -316,7 +316,7 @@ open class DefaultCompilationDetails<T : KotlinCommonOptions, CO : CompilerCommo
} }
} }
open class DefaultCompilationDetailsWithRuntime<T : KotlinCommonOptions, CO : CompilerCommonOptions>( open class DefaultCompilationDetailsWithRuntime<T : KotlinCommonOptions, CO : KotlinCommonCompilerOptions>(
target: KotlinTarget, target: KotlinTarget,
compilationPurpose: String, compilationPurpose: String,
defaultSourceSet: KotlinSourceSet, defaultSourceSet: KotlinSourceSet,
@@ -339,10 +339,10 @@ open class NativeCompilationDetails(
compilationPurpose: String, compilationPurpose: String,
defaultSourceSet: KotlinSourceSet, defaultSourceSet: KotlinSourceSet,
@Suppress("DEPRECATION") @Suppress("DEPRECATION")
createCompilerOptions: DefaultCompilationDetails<KotlinCommonOptions, CompilerCommonOptions>.() -> HasCompilerOptions<CompilerCommonOptions>, createCompilerOptions: DefaultCompilationDetails<KotlinCommonOptions, KotlinCommonCompilerOptions>.() -> HasCompilerOptions<KotlinCommonCompilerOptions>,
@Suppress("DEPRECATION") @Suppress("DEPRECATION")
createKotlinOptions: DefaultCompilationDetails<KotlinCommonOptions, CompilerCommonOptions>.() -> KotlinCommonOptions createKotlinOptions: DefaultCompilationDetails<KotlinCommonOptions, KotlinCommonCompilerOptions>.() -> KotlinCommonOptions
) : DefaultCompilationDetails<KotlinCommonOptions, CompilerCommonOptions>( ) : DefaultCompilationDetails<KotlinCommonOptions, KotlinCommonCompilerOptions>(
target, target,
compilationPurpose, compilationPurpose,
defaultSourceSet, defaultSourceSet,
@@ -379,10 +379,10 @@ internal open class SharedNativeCompilationDetails(
compilationPurpose: String, compilationPurpose: String,
defaultSourceSet: KotlinSourceSet, defaultSourceSet: KotlinSourceSet,
@Suppress("DEPRECATION") @Suppress("DEPRECATION")
createCompilerOptions: DefaultCompilationDetails<KotlinCommonOptions, CompilerCommonOptions>.() -> HasCompilerOptions<CompilerCommonOptions>, createCompilerOptions: DefaultCompilationDetails<KotlinCommonOptions, KotlinCommonCompilerOptions>.() -> HasCompilerOptions<KotlinCommonCompilerOptions>,
@Suppress("DEPRECATION") @Suppress("DEPRECATION")
createKotlinOptions: DefaultCompilationDetails<KotlinCommonOptions, CompilerCommonOptions>.() -> KotlinCommonOptions createKotlinOptions: DefaultCompilationDetails<KotlinCommonOptions, KotlinCommonCompilerOptions>.() -> KotlinCommonOptions
) : DefaultCompilationDetails<KotlinCommonOptions, CompilerCommonOptions>( ) : DefaultCompilationDetails<KotlinCommonOptions, KotlinCommonCompilerOptions>(
target, target,
compilationPurpose, compilationPurpose,
defaultSourceSet, defaultSourceSet,
@@ -478,7 +478,7 @@ internal open class VariantMappedCompilationDetailsWithRuntime<T : KotlinCommonO
get() = GradleKpmDependencyFilesHolder.ofVariantRuntimeDependencies(variant) get() = GradleKpmDependencyFilesHolder.ofVariantRuntimeDependencies(variant)
} }
internal class WithJavaCompilationDetails<T : KotlinCommonOptions, CO : CompilerCommonOptions>( internal class WithJavaCompilationDetails<T : KotlinCommonOptions, CO : KotlinCommonCompilerOptions>(
target: KotlinTarget, target: KotlinTarget,
compilationPurpose: String, compilationPurpose: String,
defaultSourceSet: KotlinSourceSet, defaultSourceSet: KotlinSourceSet,
@@ -520,19 +520,19 @@ class AndroidCompilationDetails(
val androidVariant: BaseVariant, val androidVariant: BaseVariant,
/** Workaround mutual creation order: a compilation is not added to the target's compilations collection until some point, pass it here */ /** Workaround mutual creation order: a compilation is not added to the target's compilations collection until some point, pass it here */
private val getCompilationInstance: () -> KotlinJvmAndroidCompilation private val getCompilationInstance: () -> KotlinJvmAndroidCompilation
) : DefaultCompilationDetailsWithRuntime<KotlinJvmOptions, CompilerJvmOptions>( ) : DefaultCompilationDetailsWithRuntime<KotlinJvmOptions, KotlinJvmCompilerOptions>(
target, target,
compilationPurpose, compilationPurpose,
defaultSourceSet, defaultSourceSet,
{ {
object : HasCompilerOptions<CompilerJvmOptions> { object : HasCompilerOptions<KotlinJvmCompilerOptions> {
override val options: CompilerJvmOptions = override val options: KotlinJvmCompilerOptions =
target.project.objects.newInstance(CompilerJvmOptionsDefault::class.java) target.project.objects.newInstance(KotlinJvmCompilerOptionsDefault::class.java)
} }
}, },
{ {
object : KotlinJvmOptions { object : KotlinJvmOptions {
override val options: CompilerJvmOptions override val options: KotlinJvmCompilerOptions
get() = compilerOptions.options get() = compilerOptions.options
} }
} }
@@ -576,19 +576,19 @@ internal class MetadataCompilationDetails(
target: KotlinTarget, target: KotlinTarget,
name: String, name: String,
defaultSourceSet: KotlinSourceSet, defaultSourceSet: KotlinSourceSet,
) : DefaultCompilationDetails<KotlinMultiplatformCommonOptions, CompilerMultiplatformCommonOptions>( ) : DefaultCompilationDetails<KotlinMultiplatformCommonOptions, KotlinMultiplatformCommonCompilerOptions>(
target, target,
name, name,
defaultSourceSet, defaultSourceSet,
{ {
object : HasCompilerOptions<CompilerMultiplatformCommonOptions> { object : HasCompilerOptions<KotlinMultiplatformCommonCompilerOptions> {
override val options: CompilerMultiplatformCommonOptions = override val options: KotlinMultiplatformCommonCompilerOptions =
target.project.objects.newInstance(CompilerMultiplatformCommonOptionsDefault::class.java) target.project.objects.newInstance(KotlinMultiplatformCommonCompilerOptionsDefault::class.java)
} }
}, },
{ {
object : KotlinMultiplatformCommonOptions { object : KotlinMultiplatformCommonOptions {
override val options: CompilerMultiplatformCommonOptions override val options: KotlinMultiplatformCommonCompilerOptions
get() = compilerOptions.options get() = compilerOptions.options
} }
} }
@@ -606,19 +606,19 @@ internal open class JsCompilationDetails(
target: KotlinTarget, target: KotlinTarget,
compilationPurpose: String, compilationPurpose: String,
defaultSourceSet: KotlinSourceSet, defaultSourceSet: KotlinSourceSet,
) : DefaultCompilationDetailsWithRuntime<KotlinJsOptions, CompilerJsOptions>( ) : DefaultCompilationDetailsWithRuntime<KotlinJsOptions, KotlinJsCompilerOptions>(
target, target,
compilationPurpose, compilationPurpose,
defaultSourceSet, defaultSourceSet,
{ {
object : HasCompilerOptions<CompilerJsOptions> { object : HasCompilerOptions<KotlinJsCompilerOptions> {
override val options: CompilerJsOptions = override val options: KotlinJsCompilerOptions =
target.project.objects.newInstance(CompilerJsOptionsDefault::class.java) target.project.objects.newInstance(KotlinJsCompilerOptionsDefault::class.java)
} }
}, },
{ {
object : KotlinJsOptions { object : KotlinJsOptions {
override val options: CompilerJsOptions override val options: KotlinJsCompilerOptions
get() = compilerOptions.options get() = compilerOptions.options
} }
} }
@@ -6,9 +6,7 @@
package org.jetbrains.kotlin.gradle.plugin.mpp package org.jetbrains.kotlin.gradle.plugin.mpp
import org.gradle.api.tasks.TaskProvider import org.gradle.api.tasks.TaskProvider
import org.jetbrains.kotlin.gradle.dsl.CompilerMultiplatformCommonOptions import org.jetbrains.kotlin.gradle.dsl.*
import org.jetbrains.kotlin.gradle.dsl.KotlinCommonOptions
import org.jetbrains.kotlin.gradle.dsl.KotlinMultiplatformCommonOptions
import org.jetbrains.kotlin.gradle.plugin.KotlinCompilation import org.jetbrains.kotlin.gradle.plugin.KotlinCompilation
import org.jetbrains.kotlin.gradle.targets.metadata.isKotlinGranularMetadataEnabled import org.jetbrains.kotlin.gradle.targets.metadata.isKotlinGranularMetadataEnabled
import org.jetbrains.kotlin.gradle.tasks.KotlinCompilationTask import org.jetbrains.kotlin.gradle.tasks.KotlinCompilationTask
@@ -31,8 +29,8 @@ abstract class KotlinCommonCompilation @Inject constructor(
get() = super.compileKotlinTask as KotlinCompileCommon get() = super.compileKotlinTask as KotlinCompileCommon
@Suppress("UNCHECKED_CAST") @Suppress("UNCHECKED_CAST")
override val compileTaskProvider: TaskProvider<KotlinCompilationTask<CompilerMultiplatformCommonOptions>> override val compileTaskProvider: TaskProvider<KotlinCompilationTask<KotlinMultiplatformCommonCompilerOptions>>
get() = super.compileTaskProvider as TaskProvider<KotlinCompilationTask<CompilerMultiplatformCommonOptions>> get() = super.compileTaskProvider as TaskProvider<KotlinCompilationTask<KotlinMultiplatformCommonCompilerOptions>>
internal val isKlibCompilation: Boolean internal val isKlibCompilation: Boolean
get() = target.project.isKotlinGranularMetadataEnabled && !forceCompilationToKotlinMetadata get() = target.project.isKotlinGranularMetadataEnabled && !forceCompilationToKotlinMetadata
@@ -6,9 +6,7 @@
package org.jetbrains.kotlin.gradle.plugin.mpp.pm20 package org.jetbrains.kotlin.gradle.plugin.mpp.pm20
import org.gradle.api.artifacts.Configuration import org.gradle.api.artifacts.Configuration
import org.jetbrains.kotlin.gradle.dsl.CompilerJvmOptions import org.jetbrains.kotlin.gradle.dsl.*
import org.jetbrains.kotlin.gradle.dsl.CompilerJvmOptionsDefault
import org.jetbrains.kotlin.gradle.dsl.KotlinJvmOptions
import org.jetbrains.kotlin.gradle.plugin.* import org.jetbrains.kotlin.gradle.plugin.*
import org.jetbrains.kotlin.gradle.plugin.mpp.* import org.jetbrains.kotlin.gradle.plugin.mpp.*
import org.jetbrains.kotlin.gradle.plugin.mpp.pm20.util.archivesName import org.jetbrains.kotlin.gradle.plugin.mpp.pm20.util.archivesName
@@ -42,17 +40,17 @@ abstract class GradleKpmJvmVariant @Inject constructor(
class GradleKpmJvmVariantCompilationData(val variant: GradleKpmJvmVariant) : GradleKpmVariantCompilationDataInternal<KotlinJvmOptions> { class GradleKpmJvmVariantCompilationData(val variant: GradleKpmJvmVariant) : GradleKpmVariantCompilationDataInternal<KotlinJvmOptions> {
override val owner: GradleKpmJvmVariant get() = variant override val owner: GradleKpmJvmVariant get() = variant
override val compilerOptions: HasCompilerOptions<CompilerJvmOptions> = override val compilerOptions: HasCompilerOptions<KotlinJvmCompilerOptions> =
object : HasCompilerOptions<CompilerJvmOptions> { object : HasCompilerOptions<KotlinJvmCompilerOptions> {
override val options: CompilerJvmOptions = override val options: KotlinJvmCompilerOptions =
variant.project.objects.newInstance(CompilerJvmOptionsDefault::class.java) variant.project.objects.newInstance(KotlinJvmCompilerOptionsDefault::class.java)
} }
// TODO pull out to the variant // TODO pull out to the variant
@Suppress("DEPRECATION") @Suppress("DEPRECATION")
@Deprecated("Replaced with compilerOptions.options", replaceWith = ReplaceWith("compilerOptions.options")) @Deprecated("Replaced with compilerOptions.options", replaceWith = ReplaceWith("compilerOptions.options"))
override val kotlinOptions: KotlinJvmOptions = object : KotlinJvmOptions { override val kotlinOptions: KotlinJvmOptions = object : KotlinJvmOptions {
override val options: CompilerJvmOptions override val options: KotlinJvmCompilerOptions
get() = compilerOptions.options get() = compilerOptions.options
} }
} }
@@ -6,8 +6,7 @@
package org.jetbrains.kotlin.gradle.plugin.mpp.pm20 package org.jetbrains.kotlin.gradle.plugin.mpp.pm20
import org.gradle.api.Project import org.gradle.api.Project
import org.jetbrains.kotlin.gradle.dsl.CompilerCommonOptions import org.jetbrains.kotlin.gradle.dsl.*
import org.jetbrains.kotlin.gradle.dsl.KotlinCommonOptions
import org.jetbrains.kotlin.gradle.plugin.HasCompilerOptions import org.jetbrains.kotlin.gradle.plugin.HasCompilerOptions
import org.jetbrains.kotlin.gradle.targets.native.NativeCompilerOptions import org.jetbrains.kotlin.gradle.targets.native.NativeCompilerOptions
import org.jetbrains.kotlin.konan.target.KonanTarget import org.jetbrains.kotlin.konan.target.KonanTarget
@@ -29,7 +28,7 @@ internal class GradleKpmNativeVariantCompilationData(
override val owner: GradleKpmNativeVariant override val owner: GradleKpmNativeVariant
get() = variant get() = variant
override val compilerOptions: HasCompilerOptions<CompilerCommonOptions> = NativeCompilerOptions( override val compilerOptions: HasCompilerOptions<KotlinCommonCompilerOptions> = NativeCompilerOptions(
project, project,
variant.languageSettings variant.languageSettings
) )
@@ -37,7 +36,7 @@ internal class GradleKpmNativeVariantCompilationData(
@Suppress("DEPRECATION") @Suppress("DEPRECATION")
@Deprecated("Replaced with compilerOptions.options", replaceWith = ReplaceWith("compilerOptions.options")) @Deprecated("Replaced with compilerOptions.options", replaceWith = ReplaceWith("compilerOptions.options"))
override val kotlinOptions: KotlinCommonOptions = object : KotlinCommonOptions { override val kotlinOptions: KotlinCommonOptions = object : KotlinCommonOptions {
override val options: CompilerCommonOptions override val options: KotlinCommonCompilerOptions
get() = compilerOptions.options get() = compilerOptions.options
} }
} }
@@ -128,17 +128,17 @@ internal open class KotlinCommonFragmentMetadataCompilationDataImpl(
mapTo(hashSetOf()) { it.platformType }.size > 1 mapTo(hashSetOf()) { it.platformType }.size > 1
} }
override val compilerOptions: HasCompilerOptions<CompilerMultiplatformCommonOptions> = override val compilerOptions: HasCompilerOptions<KotlinMultiplatformCommonCompilerOptions> =
object : HasCompilerOptions<CompilerMultiplatformCommonOptions> { object : HasCompilerOptions<KotlinMultiplatformCommonCompilerOptions> {
override val options: CompilerMultiplatformCommonOptions = override val options: KotlinMultiplatformCommonCompilerOptions =
project.objects.newInstance(CompilerMultiplatformCommonOptionsDefault::class.java) project.objects.newInstance(KotlinMultiplatformCommonCompilerOptionsDefault::class.java)
} }
@Suppress("DEPRECATION") @Suppress("DEPRECATION")
@Deprecated("Replaced with compilerOptions.options", replaceWith = ReplaceWith("compilerOptions.options")) @Deprecated("Replaced with compilerOptions.options", replaceWith = ReplaceWith("compilerOptions.options"))
override val kotlinOptions: KotlinMultiplatformCommonOptions = object : KotlinMultiplatformCommonOptions { override val kotlinOptions: KotlinMultiplatformCommonOptions = object : KotlinMultiplatformCommonOptions {
override val options: CompilerMultiplatformCommonOptions override val options: KotlinMultiplatformCommonCompilerOptions
get() = compilerOptions.options get() = compilerOptions.options
} }
} }
@@ -177,7 +177,7 @@ internal open class KotlinNativeFragmentMetadataCompilationDataImpl(
override val isActive: Boolean override val isActive: Boolean
get() = fragment.isNativeShared() && fragment.containingVariants.count() > 1 get() = fragment.isNativeShared() && fragment.containingVariants.count() > 1
override val compilerOptions: HasCompilerOptions<CompilerCommonOptions> = NativeCompilerOptions( override val compilerOptions: HasCompilerOptions<KotlinCommonCompilerOptions> = NativeCompilerOptions(
project, project,
languageSettings languageSettings
) )
@@ -185,7 +185,7 @@ internal open class KotlinNativeFragmentMetadataCompilationDataImpl(
@Suppress("DEPRECATION") @Suppress("DEPRECATION")
@Deprecated("Replaced with compilerOptions.options", replaceWith = ReplaceWith("compilerOptions.options")) @Deprecated("Replaced with compilerOptions.options", replaceWith = ReplaceWith("compilerOptions.options"))
override val kotlinOptions: KotlinCommonOptions = object : KotlinCommonOptions { override val kotlinOptions: KotlinCommonOptions = object : KotlinCommonOptions {
override val options: CompilerCommonOptions override val options: KotlinCommonCompilerOptions
get() = compilerOptions.options get() = compilerOptions.options
} }
@@ -11,7 +11,7 @@ import org.gradle.api.provider.Provider
import org.jetbrains.kotlin.config.ApiVersion import org.jetbrains.kotlin.config.ApiVersion
import org.jetbrains.kotlin.config.LanguageFeature import org.jetbrains.kotlin.config.LanguageFeature
import org.jetbrains.kotlin.config.LanguageVersion import org.jetbrains.kotlin.config.LanguageVersion
import org.jetbrains.kotlin.gradle.dsl.CompilerCommonOptions import org.jetbrains.kotlin.gradle.dsl.KotlinCommonCompilerOptions
import org.jetbrains.kotlin.gradle.dsl.KotlinVersion import org.jetbrains.kotlin.gradle.dsl.KotlinVersion
import org.jetbrains.kotlin.gradle.plugin.LanguageSettingsBuilder import org.jetbrains.kotlin.gradle.plugin.LanguageSettingsBuilder
import org.jetbrains.kotlin.gradle.plugin.statistics.KotlinBuildStatsService import org.jetbrains.kotlin.gradle.plugin.statistics.KotlinBuildStatsService
@@ -102,7 +102,7 @@ internal class DefaultLanguageSettingsBuilder : LanguageSettingsBuilder {
internal fun applyLanguageSettingsToCompilerOptions( internal fun applyLanguageSettingsToCompilerOptions(
languageSettingsBuilder: LanguageSettings, languageSettingsBuilder: LanguageSettings,
compilerOptions: CompilerCommonOptions compilerOptions: KotlinCommonCompilerOptions
) = with(compilerOptions) { ) = with(compilerOptions) {
languageVersion.convention(languageSettingsBuilder.languageVersion?.let { KotlinVersion.fromVersion(it) }) languageVersion.convention(languageSettingsBuilder.languageVersion?.let { KotlinVersion.fromVersion(it) })
apiVersion.convention(languageSettingsBuilder.apiVersion?.let { KotlinVersion.fromVersion(it) }) apiVersion.convention(languageSettingsBuilder.apiVersion?.let { KotlinVersion.fromVersion(it) })
@@ -62,10 +62,10 @@ internal class AndroidProjectHandler(
applyKotlinAndroidSourceSetLayout(kotlinAndroidTarget) applyKotlinAndroidSourceSetLayout(kotlinAndroidTarget)
val androidExtensionCompilerOptions = project.objects.newInstance<CompilerJvmOptionsDefault>() val androidExtensionCompilerOptions = project.objects.newInstance<KotlinJvmCompilerOptionsDefault>()
androidExtensionCompilerOptions.noJdk.value(true).finalizeValueOnRead() androidExtensionCompilerOptions.noJdk.value(true).finalizeValueOnRead()
@Suppress("DEPRECATION") val kotlinOptions = object : KotlinJvmOptions { @Suppress("DEPRECATION") val kotlinOptions = object : KotlinJvmOptions {
override val options: CompilerJvmOptions override val options: KotlinJvmCompilerOptions
get() = androidExtensionCompilerOptions get() = androidExtensionCompilerOptions
} }
ext.addExtension(KOTLIN_OPTIONS_DSL_NAME, kotlinOptions) ext.addExtension(KOTLIN_OPTIONS_DSL_NAME, kotlinOptions)
@@ -89,7 +89,7 @@ internal class AndroidProjectHandler(
setUpDependencyResolution(variant, compilation) setUpDependencyResolution(variant, compilation)
project.wireExtensionOptionsToCompilation( project.wireExtensionOptionsToCompilation(
androidExtensionCompilerOptions, androidExtensionCompilerOptions,
compilation.compilerOptions.options as CompilerJvmOptions compilation.compilerOptions.options as KotlinJvmCompilerOptions
) )
preprocessVariant(variant, compilation, project, kotlinConfigurationTools.kotlinTasksProvider) preprocessVariant(variant, compilation, project, kotlinConfigurationTools.kotlinTasksProvider)
@@ -119,8 +119,8 @@ internal class AndroidProjectHandler(
} }
private fun Project.wireExtensionOptionsToCompilation( private fun Project.wireExtensionOptionsToCompilation(
extensionCompilerOptions: CompilerJvmOptions, extensionCompilerOptions: KotlinJvmCompilerOptions,
compilationCompilerOptions: CompilerJvmOptions compilationCompilerOptions: KotlinJvmCompilerOptions
) { ) {
// CompilerCommonToolOptions // CompilerCommonToolOptions
compilationCompilerOptions.allWarningsAsErrors.convention(extensionCompilerOptions.allWarningsAsErrors) compilationCompilerOptions.allWarningsAsErrors.convention(extensionCompilerOptions.allWarningsAsErrors)
@@ -237,7 +237,7 @@ internal class AndroidProjectHandler(
tasksProvider.registerKotlinJVMTask( tasksProvider.registerKotlinJVMTask(
project, project,
compilation.compileKotlinTaskName, compilation.compileKotlinTaskName,
compilation.compilerOptions.options as CompilerJvmOptions, compilation.compilerOptions.options as KotlinJvmCompilerOptions,
configAction configAction
) )
@@ -10,8 +10,7 @@ package org.jetbrains.kotlin.gradle.plugin.mpp
import groovy.lang.Closure import groovy.lang.Closure
import org.gradle.api.tasks.TaskProvider import org.gradle.api.tasks.TaskProvider
import org.jetbrains.kotlin.gradle.dsl.CompilerJsOptions import org.jetbrains.kotlin.gradle.dsl.*
import org.jetbrains.kotlin.gradle.dsl.KotlinJsOptions
import org.jetbrains.kotlin.gradle.plugin.HasCompilerOptions import org.jetbrains.kotlin.gradle.plugin.HasCompilerOptions
import org.jetbrains.kotlin.gradle.plugin.KotlinCompilationWithResources import org.jetbrains.kotlin.gradle.plugin.KotlinCompilationWithResources
import org.jetbrains.kotlin.gradle.plugin.KotlinTarget import org.jetbrains.kotlin.gradle.plugin.KotlinTarget
@@ -22,7 +21,6 @@ import org.jetbrains.kotlin.gradle.targets.js.ir.JsBinary
import org.jetbrains.kotlin.gradle.targets.js.ir.KotlinJsBinaryContainer import org.jetbrains.kotlin.gradle.targets.js.ir.KotlinJsBinaryContainer
import org.jetbrains.kotlin.gradle.targets.js.npm.PackageJson import org.jetbrains.kotlin.gradle.targets.js.npm.PackageJson
import org.jetbrains.kotlin.gradle.tasks.Kotlin2JsCompile import org.jetbrains.kotlin.gradle.tasks.Kotlin2JsCompile
import org.jetbrains.kotlin.gradle.tasks.KotlinCompilationTask
import javax.inject.Inject import javax.inject.Inject
abstract class KotlinJsCompilation @Inject internal constructor( abstract class KotlinJsCompilation @Inject internal constructor(
@@ -33,8 +31,8 @@ abstract class KotlinJsCompilation @Inject internal constructor(
final override val target: KotlinTarget get() = super.target final override val target: KotlinTarget get() = super.target
@Suppress("UNCHECKED_CAST") @Suppress("UNCHECKED_CAST")
final override val compilerOptions: HasCompilerOptions<CompilerJsOptions> final override val compilerOptions: HasCompilerOptions<KotlinJsCompilerOptions>
get() = super.compilerOptions as HasCompilerOptions<CompilerJsOptions> get() = super.compilerOptions as HasCompilerOptions<KotlinJsCompilerOptions>
private val kotlinProperties = PropertiesProvider(target.project) private val kotlinProperties = PropertiesProvider(target.project)
@@ -15,7 +15,7 @@ import org.gradle.workers.WorkerExecutor
import org.jetbrains.kotlin.cli.common.arguments.K2JSCompilerArguments import org.jetbrains.kotlin.cli.common.arguments.K2JSCompilerArguments
import org.jetbrains.kotlin.cli.common.arguments.parseCommandLineArguments import org.jetbrains.kotlin.cli.common.arguments.parseCommandLineArguments
import org.jetbrains.kotlin.compilerRunner.ArgumentUtils import org.jetbrains.kotlin.compilerRunner.ArgumentUtils
import org.jetbrains.kotlin.gradle.dsl.CompilerJsOptionsDefault import org.jetbrains.kotlin.gradle.dsl.KotlinJsCompilerOptionsDefault
import org.jetbrains.kotlin.gradle.plugin.KotlinPlatformType import org.jetbrains.kotlin.gradle.plugin.KotlinPlatformType
import org.jetbrains.kotlin.gradle.plugin.PropertiesProvider import org.jetbrains.kotlin.gradle.plugin.PropertiesProvider
import org.jetbrains.kotlin.gradle.plugin.mpp.pm20.KotlinCompilationData import org.jetbrains.kotlin.gradle.plugin.mpp.pm20.KotlinCompilationData
@@ -23,7 +23,6 @@ import org.jetbrains.kotlin.gradle.plugin.statistics.KotlinBuildStatsService
import org.jetbrains.kotlin.gradle.targets.js.dsl.KotlinJsBinaryMode import org.jetbrains.kotlin.gradle.targets.js.dsl.KotlinJsBinaryMode
import org.jetbrains.kotlin.gradle.targets.js.dsl.KotlinJsBinaryMode.DEVELOPMENT import org.jetbrains.kotlin.gradle.targets.js.dsl.KotlinJsBinaryMode.DEVELOPMENT
import org.jetbrains.kotlin.gradle.tasks.Kotlin2JsCompile import org.jetbrains.kotlin.gradle.tasks.Kotlin2JsCompile
import org.jetbrains.kotlin.gradle.utils.getValue
import org.jetbrains.kotlin.gradle.utils.toHexString import org.jetbrains.kotlin.gradle.utils.toHexString
import org.jetbrains.kotlin.statistics.metrics.BooleanMetrics import org.jetbrains.kotlin.statistics.metrics.BooleanMetrics
import org.jetbrains.kotlin.statistics.metrics.StringMetrics import org.jetbrains.kotlin.statistics.metrics.StringMetrics
@@ -38,7 +37,7 @@ abstract class KotlinJsIrLink @Inject constructor(
objectFactory: ObjectFactory, objectFactory: ObjectFactory,
workerExecutor: WorkerExecutor workerExecutor: WorkerExecutor
) : Kotlin2JsCompile( ) : Kotlin2JsCompile(
objectFactory.newInstance(CompilerJsOptionsDefault::class.java), objectFactory.newInstance(KotlinJsCompilerOptionsDefault::class.java),
objectFactory, objectFactory,
workerExecutor workerExecutor
) { ) {
@@ -8,7 +8,7 @@ package org.jetbrains.kotlin.gradle.targets.js.ir
import org.gradle.api.attributes.Usage import org.gradle.api.attributes.Usage
import org.gradle.api.tasks.TaskProvider import org.gradle.api.tasks.TaskProvider
import org.gradle.api.tasks.bundling.Zip import org.gradle.api.tasks.bundling.Zip
import org.jetbrains.kotlin.gradle.dsl.CompilerJsOptions import org.jetbrains.kotlin.gradle.dsl.KotlinJsCompilerOptions
import org.jetbrains.kotlin.gradle.dsl.JsModuleKind import org.jetbrains.kotlin.gradle.dsl.JsModuleKind
import org.jetbrains.kotlin.gradle.dsl.JsSourceMapEmbedMode import org.jetbrains.kotlin.gradle.dsl.JsSourceMapEmbedMode
import org.jetbrains.kotlin.gradle.plugin.* import org.jetbrains.kotlin.gradle.plugin.*
@@ -89,7 +89,7 @@ open class KotlinJsIrTargetConfigurator() :
} }
} }
private fun CompilerJsOptions.configureOptions() { private fun KotlinJsCompilerOptions.configureOptions() {
moduleKind.set(JsModuleKind.MODULE_UMD) moduleKind.set(JsModuleKind.MODULE_UMD)
sourceMap.set(true) sourceMap.set(true)
sourceMapEmbedSources.set(JsSourceMapEmbedMode.SOURCE_MAP_SOURCE_CONTENT_NEVER) sourceMapEmbedSources.set(JsSourceMapEmbedMode.SOURCE_MAP_SOURCE_CONTENT_NEVER)
@@ -11,8 +11,7 @@ import org.gradle.api.file.FileCollection
import org.gradle.api.provider.Property import org.gradle.api.provider.Property
import org.gradle.api.tasks.TaskProvider import org.gradle.api.tasks.TaskProvider
import org.gradle.api.tasks.compile.JavaCompile import org.gradle.api.tasks.compile.JavaCompile
import org.jetbrains.kotlin.gradle.dsl.CompilerJvmOptions import org.jetbrains.kotlin.gradle.dsl.*
import org.jetbrains.kotlin.gradle.dsl.KotlinJvmOptions
import org.jetbrains.kotlin.gradle.plugin.getJavaTaskProvider import org.jetbrains.kotlin.gradle.plugin.getJavaTaskProvider
import org.jetbrains.kotlin.gradle.tasks.KotlinCompilationTask import org.jetbrains.kotlin.gradle.tasks.KotlinCompilationTask
import javax.inject.Inject import javax.inject.Inject
@@ -37,8 +36,8 @@ abstract class KotlinJvmAndroidCompilation @Inject constructor(
get() = super.compileKotlinTaskProvider as TaskProvider<out org.jetbrains.kotlin.gradle.tasks.KotlinCompile> get() = super.compileKotlinTaskProvider as TaskProvider<out org.jetbrains.kotlin.gradle.tasks.KotlinCompile>
@Suppress("UNCHECKED_CAST") @Suppress("UNCHECKED_CAST")
override val compileTaskProvider: TaskProvider<out KotlinCompilationTask<CompilerJvmOptions>> override val compileTaskProvider: TaskProvider<out KotlinCompilationTask<KotlinJvmCompilerOptions>>
get() = super.compileTaskProvider as TaskProvider<KotlinCompilationTask<CompilerJvmOptions>> get() = super.compileTaskProvider as TaskProvider<KotlinCompilationTask<KotlinJvmCompilerOptions>>
val compileJavaTaskProvider: TaskProvider<out JavaCompile> val compileJavaTaskProvider: TaskProvider<out JavaCompile>
get() = androidVariant.getJavaTaskProvider() get() = androidVariant.getJavaTaskProvider()
@@ -8,8 +8,7 @@ package org.jetbrains.kotlin.gradle.plugin.mpp
import org.gradle.api.tasks.compile.JavaCompile import org.gradle.api.tasks.compile.JavaCompile
import org.gradle.api.tasks.TaskProvider import org.gradle.api.tasks.TaskProvider
import org.jetbrains.kotlin.gradle.dsl.CompilerJvmOptions import org.jetbrains.kotlin.gradle.dsl.*
import org.jetbrains.kotlin.gradle.dsl.KotlinJvmOptions
import org.jetbrains.kotlin.gradle.plugin.HasCompilerOptions import org.jetbrains.kotlin.gradle.plugin.HasCompilerOptions
import org.jetbrains.kotlin.gradle.plugin.KotlinCompilationWithResources import org.jetbrains.kotlin.gradle.plugin.KotlinCompilationWithResources
import org.jetbrains.kotlin.gradle.plugin.internal.JavaSourceSetsAccessor import org.jetbrains.kotlin.gradle.plugin.internal.JavaSourceSetsAccessor
@@ -25,8 +24,8 @@ abstract class KotlinJvmCompilation @Inject constructor(
override val target: KotlinJvmTarget get() = compilationDetails.target as KotlinJvmTarget override val target: KotlinJvmTarget get() = compilationDetails.target as KotlinJvmTarget
@Suppress("UNCHECKED_CAST") @Suppress("UNCHECKED_CAST")
override val compilerOptions: HasCompilerOptions<CompilerJvmOptions> override val compilerOptions: HasCompilerOptions<KotlinJvmCompilerOptions>
get() = super.compilerOptions as HasCompilerOptions<CompilerJvmOptions> get() = super.compilerOptions as HasCompilerOptions<KotlinJvmCompilerOptions>
override val processResourcesTaskName: String override val processResourcesTaskName: String
get() = disambiguateName("processResources") get() = disambiguateName("processResources")
@@ -42,8 +41,8 @@ abstract class KotlinJvmCompilation @Inject constructor(
get() = super.compileKotlinTask as org.jetbrains.kotlin.gradle.tasks.KotlinCompile get() = super.compileKotlinTask as org.jetbrains.kotlin.gradle.tasks.KotlinCompile
@Suppress("UNCHECKED_CAST") @Suppress("UNCHECKED_CAST")
override val compileTaskProvider: TaskProvider<out KotlinCompilationTask<CompilerJvmOptions>> override val compileTaskProvider: TaskProvider<out KotlinCompilationTask<KotlinJvmCompilerOptions>>
get() = super.compileTaskProvider as TaskProvider<KotlinCompilationTask<CompilerJvmOptions>> get() = super.compileTaskProvider as TaskProvider<KotlinCompilationTask<KotlinJvmCompilerOptions>>
val compileJavaTaskProvider: TaskProvider<out JavaCompile>? val compileJavaTaskProvider: TaskProvider<out JavaCompile>?
get() = if (target.withJavaEnabled) { get() = if (target.withJavaEnabled) {
@@ -6,9 +6,7 @@
@file:Suppress("PackageDirectoryMismatch") // Old package for compatibility @file:Suppress("PackageDirectoryMismatch") // Old package for compatibility
package org.jetbrains.kotlin.gradle.plugin.mpp package org.jetbrains.kotlin.gradle.plugin.mpp
import org.jetbrains.kotlin.gradle.dsl.CompilerJvmOptions import org.jetbrains.kotlin.gradle.dsl.*
import org.jetbrains.kotlin.gradle.dsl.CompilerJvmOptionsDefault
import org.jetbrains.kotlin.gradle.dsl.KotlinJvmOptions
import org.jetbrains.kotlin.gradle.plugin.HasCompilerOptions import org.jetbrains.kotlin.gradle.plugin.HasCompilerOptions
import org.jetbrains.kotlin.gradle.targets.jvm.KotlinJvmTarget import org.jetbrains.kotlin.gradle.targets.jvm.KotlinJvmTarget
@@ -22,19 +20,19 @@ open class KotlinJvmCompilationFactory(
override fun create(name: String): KotlinJvmCompilation = override fun create(name: String): KotlinJvmCompilation =
target.project.objects.newInstance( target.project.objects.newInstance(
KotlinJvmCompilation::class.java, KotlinJvmCompilation::class.java,
DefaultCompilationDetailsWithRuntime<KotlinJvmOptions, CompilerJvmOptions>( DefaultCompilationDetailsWithRuntime<KotlinJvmOptions, KotlinJvmCompilerOptions>(
target, target,
name, name,
getOrCreateDefaultSourceSet(name), getOrCreateDefaultSourceSet(name),
{ {
object : HasCompilerOptions<CompilerJvmOptions> { object : HasCompilerOptions<KotlinJvmCompilerOptions> {
override val options: CompilerJvmOptions = override val options: KotlinJvmCompilerOptions =
target.project.objects.newInstance(CompilerJvmOptionsDefault::class.java) target.project.objects.newInstance(KotlinJvmCompilerOptionsDefault::class.java)
} }
}, },
{ {
object : KotlinJvmOptions { object : KotlinJvmOptions {
override val options: CompilerJvmOptions override val options: KotlinJvmCompilerOptions
get() = compilerOptions.options get() = compilerOptions.options
} }
} }
@@ -8,9 +8,7 @@ package org.jetbrains.kotlin.gradle.plugin.mpp
import org.gradle.api.Project import org.gradle.api.Project
import org.gradle.api.plugins.JavaPlugin import org.gradle.api.plugins.JavaPlugin
import org.jetbrains.kotlin.gradle.dsl.CompilerJvmOptions import org.jetbrains.kotlin.gradle.dsl.*
import org.jetbrains.kotlin.gradle.dsl.CompilerJvmOptionsDefault
import org.jetbrains.kotlin.gradle.dsl.KotlinJvmOptions
import org.jetbrains.kotlin.gradle.plugin.* import org.jetbrains.kotlin.gradle.plugin.*
import org.jetbrains.kotlin.gradle.targets.jvm.KotlinJvmTarget import org.jetbrains.kotlin.gradle.targets.jvm.KotlinJvmTarget
import org.jetbrains.kotlin.gradle.tasks.KotlinTasksProvider import org.jetbrains.kotlin.gradle.tasks.KotlinTasksProvider
@@ -18,11 +16,11 @@ import org.jetbrains.kotlin.gradle.utils.SingleWarningPerBuild
class KotlinJvmWithJavaTargetPreset( class KotlinJvmWithJavaTargetPreset(
private val project: Project private val project: Project
) : KotlinTargetPreset<KotlinWithJavaTarget<KotlinJvmOptions, CompilerJvmOptions>> { ) : KotlinTargetPreset<KotlinWithJavaTarget<KotlinJvmOptions, KotlinJvmCompilerOptions>> {
override fun getName(): String = PRESET_NAME override fun getName(): String = PRESET_NAME
override fun createTarget(name: String): KotlinWithJavaTarget<KotlinJvmOptions, CompilerJvmOptions> { override fun createTarget(name: String): KotlinWithJavaTarget<KotlinJvmOptions, KotlinJvmCompilerOptions> {
SingleWarningPerBuild.show( SingleWarningPerBuild.show(
project, project,
DEPRECATION_WARNING DEPRECATION_WARNING
@@ -37,18 +35,18 @@ class KotlinJvmWithJavaTargetPreset(
KotlinPlatformType.jvm, KotlinPlatformType.jvm,
name, name,
{ {
object : HasCompilerOptions<CompilerJvmOptions> { object : HasCompilerOptions<KotlinJvmCompilerOptions> {
override val options: CompilerJvmOptions = override val options: KotlinJvmCompilerOptions =
project.objects.newInstance(CompilerJvmOptionsDefault::class.java) project.objects.newInstance(KotlinJvmCompilerOptionsDefault::class.java)
} }
}, },
{ compilerOptions: CompilerJvmOptions -> { compilerOptions: KotlinJvmCompilerOptions ->
object : KotlinJvmOptions { object : KotlinJvmOptions {
override val options: CompilerJvmOptions override val options: KotlinJvmCompilerOptions
get() = compilerOptions get() = compilerOptions
} }
} }
) as KotlinWithJavaTarget<KotlinJvmOptions, CompilerJvmOptions>) ) as KotlinWithJavaTarget<KotlinJvmOptions, KotlinJvmCompilerOptions>)
.apply { .apply {
disambiguationClassifier = name disambiguationClassifier = name
preset = this@KotlinJvmWithJavaTargetPreset preset = this@KotlinJvmWithJavaTargetPreset
@@ -9,8 +9,7 @@ package org.jetbrains.kotlin.gradle.plugin.mpp
import org.gradle.api.tasks.SourceSet import org.gradle.api.tasks.SourceSet
import org.gradle.api.tasks.TaskProvider import org.gradle.api.tasks.TaskProvider
import org.gradle.api.tasks.compile.JavaCompile import org.gradle.api.tasks.compile.JavaCompile
import org.jetbrains.kotlin.gradle.dsl.CompilerCommonOptions import org.jetbrains.kotlin.gradle.dsl.*
import org.jetbrains.kotlin.gradle.dsl.KotlinCommonOptions
import org.jetbrains.kotlin.gradle.plugin.HasCompilerOptions import org.jetbrains.kotlin.gradle.plugin.HasCompilerOptions
import org.jetbrains.kotlin.gradle.plugin.KotlinCompilationWithResources import org.jetbrains.kotlin.gradle.plugin.KotlinCompilationWithResources
import org.jetbrains.kotlin.gradle.plugin.KotlinSourceSet import org.jetbrains.kotlin.gradle.plugin.KotlinSourceSet
@@ -18,7 +17,7 @@ import org.jetbrains.kotlin.gradle.tasks.AbstractKotlinCompile
import org.jetbrains.kotlin.gradle.utils.named import org.jetbrains.kotlin.gradle.utils.named
import javax.inject.Inject import javax.inject.Inject
abstract class KotlinWithJavaCompilation<KotlinOptionsType : KotlinCommonOptions, CO : CompilerCommonOptions> @Inject constructor( abstract class KotlinWithJavaCompilation<KotlinOptionsType : KotlinCommonOptions, CO : KotlinCommonCompilerOptions> @Inject constructor(
target: KotlinWithJavaTarget<KotlinOptionsType, CO>, target: KotlinWithJavaTarget<KotlinOptionsType, CO>,
name: String, name: String,
override val defaultSourceSet: KotlinSourceSet, override val defaultSourceSet: KotlinSourceSet,
@@ -6,11 +6,10 @@
@file:Suppress("PackageDirectoryMismatch") // Old package for compatibility @file:Suppress("PackageDirectoryMismatch") // Old package for compatibility
package org.jetbrains.kotlin.gradle.plugin.mpp package org.jetbrains.kotlin.gradle.plugin.mpp
import org.jetbrains.kotlin.gradle.dsl.CompilerCommonOptions import org.jetbrains.kotlin.gradle.dsl.*
import org.jetbrains.kotlin.gradle.dsl.KotlinCommonOptions
import org.jetbrains.kotlin.gradle.plugin.HasCompilerOptions import org.jetbrains.kotlin.gradle.plugin.HasCompilerOptions
class KotlinWithJavaCompilationFactory<KotlinOptionsType : KotlinCommonOptions, CO : CompilerCommonOptions>( class KotlinWithJavaCompilationFactory<KotlinOptionsType : KotlinCommonOptions, CO : KotlinCommonCompilerOptions>(
override val target: KotlinWithJavaTarget<KotlinOptionsType, CO>, override val target: KotlinWithJavaTarget<KotlinOptionsType, CO>,
val compilerOptionsFactory: () -> HasCompilerOptions<CO>, val compilerOptionsFactory: () -> HasCompilerOptions<CO>,
val kotlinOptionsFactory: (CO) -> KotlinOptionsType val kotlinOptionsFactory: (CO) -> KotlinOptionsType
@@ -13,15 +13,14 @@ import org.gradle.api.file.Directory
import org.gradle.api.plugins.JavaPlugin import org.gradle.api.plugins.JavaPlugin
import org.gradle.api.provider.Provider import org.gradle.api.provider.Provider
import org.gradle.jvm.tasks.Jar import org.gradle.jvm.tasks.Jar
import org.jetbrains.kotlin.gradle.dsl.CompilerCommonOptions import org.jetbrains.kotlin.gradle.dsl.*
import org.jetbrains.kotlin.gradle.dsl.KotlinCommonOptions
import org.jetbrains.kotlin.gradle.plugin.HasCompilerOptions import org.jetbrains.kotlin.gradle.plugin.HasCompilerOptions
import org.jetbrains.kotlin.gradle.plugin.KotlinPlatformType import org.jetbrains.kotlin.gradle.plugin.KotlinPlatformType
import org.jetbrains.kotlin.gradle.tasks.KOTLIN_BUILD_DIR_NAME import org.jetbrains.kotlin.gradle.tasks.KOTLIN_BUILD_DIR_NAME
import java.io.File import java.io.File
import javax.inject.Inject import javax.inject.Inject
abstract class KotlinWithJavaTarget<KotlinOptionsType : KotlinCommonOptions, CO : CompilerCommonOptions> @Inject constructor( abstract class KotlinWithJavaTarget<KotlinOptionsType : KotlinCommonOptions, CO : KotlinCommonCompilerOptions> @Inject constructor(
project: Project, project: Project,
override val platformType: KotlinPlatformType, override val platformType: KotlinPlatformType,
override val targetName: String, override val targetName: String,
@@ -6,8 +6,7 @@
@file:Suppress("PackageDirectoryMismatch") // Old package for compatibility @file:Suppress("PackageDirectoryMismatch") // Old package for compatibility
package org.jetbrains.kotlin.gradle.plugin.mpp package org.jetbrains.kotlin.gradle.plugin.mpp
import org.jetbrains.kotlin.gradle.dsl.CompilerCommonOptions import org.jetbrains.kotlin.gradle.dsl.*
import org.jetbrains.kotlin.gradle.dsl.KotlinCommonOptions
import org.jetbrains.kotlin.gradle.targets.native.NativeCompilerOptions import org.jetbrains.kotlin.gradle.targets.native.NativeCompilerOptions
import org.jetbrains.kotlin.konan.target.KonanTarget import org.jetbrains.kotlin.konan.target.KonanTarget
@@ -41,7 +40,7 @@ open class KotlinNativeCompilationFactory(
}, },
{ {
object : KotlinCommonOptions { object : KotlinCommonOptions {
override val options: CompilerCommonOptions override val options: KotlinCommonCompilerOptions
get() = compilerOptions.options get() = compilerOptions.options
} }
} }
@@ -74,7 +73,7 @@ class KotlinSharedNativeCompilationFactory(
}, },
{ {
object : KotlinCommonOptions { object : KotlinCommonOptions {
override val options: CompilerCommonOptions override val options: KotlinCommonCompilerOptions
get() = compilerOptions.options get() = compilerOptions.options
} }
} }
@@ -6,8 +6,8 @@
package org.jetbrains.kotlin.gradle.targets.native package org.jetbrains.kotlin.gradle.targets.native
import org.gradle.api.Project import org.gradle.api.Project
import org.jetbrains.kotlin.gradle.dsl.CompilerCommonOptions import org.jetbrains.kotlin.gradle.dsl.KotlinCommonCompilerOptions
import org.jetbrains.kotlin.gradle.dsl.CompilerCommonOptionsDefault import org.jetbrains.kotlin.gradle.dsl.KotlinCommonCompilerOptionsDefault
import org.jetbrains.kotlin.gradle.plugin.HasCompilerOptions import org.jetbrains.kotlin.gradle.plugin.HasCompilerOptions
import org.jetbrains.kotlin.gradle.plugin.runOnceAfterEvaluated import org.jetbrains.kotlin.gradle.plugin.runOnceAfterEvaluated
import org.jetbrains.kotlin.gradle.plugin.sources.applyLanguageSettingsToCompilerOptions import org.jetbrains.kotlin.gradle.plugin.sources.applyLanguageSettingsToCompilerOptions
@@ -16,9 +16,9 @@ import org.jetbrains.kotlin.project.model.LanguageSettings
internal class NativeCompilerOptions( internal class NativeCompilerOptions(
project: Project, project: Project,
nativeLanguageSettings: LanguageSettings nativeLanguageSettings: LanguageSettings
) : HasCompilerOptions<CompilerCommonOptions> { ) : HasCompilerOptions<KotlinCommonCompilerOptions> {
override val options: CompilerCommonOptions = project.objects override val options: KotlinCommonCompilerOptions = project.objects
.newInstance(CompilerCommonOptionsDefault::class.java) .newInstance(KotlinCommonCompilerOptionsDefault::class.java)
.apply { .apply {
useK2.finalizeValue() useK2.finalizeValue()
project.runOnceAfterEvaluated("apply Kotlin native properties from language settings") { project.runOnceAfterEvaluated("apply Kotlin native properties from language settings") {
@@ -7,8 +7,8 @@ package org.jetbrains.kotlin.gradle.targets.native.tasks
import org.gradle.api.file.FileCollection import org.gradle.api.file.FileCollection
import org.gradle.api.file.FileTree import org.gradle.api.file.FileTree
import org.jetbrains.kotlin.gradle.dsl.CompilerCommonOptions import org.jetbrains.kotlin.gradle.dsl.KotlinCommonCompilerOptions
import org.jetbrains.kotlin.gradle.dsl.CompilerCommonToolOptions import org.jetbrains.kotlin.gradle.dsl.KotlinCommonCompilerToolOptions
import org.jetbrains.kotlin.gradle.plugin.mpp.BitcodeEmbeddingMode import org.jetbrains.kotlin.gradle.plugin.mpp.BitcodeEmbeddingMode
import org.jetbrains.kotlin.gradle.tasks.CompilerPluginOptions import org.jetbrains.kotlin.gradle.tasks.CompilerPluginOptions
import org.jetbrains.kotlin.konan.target.CompilerOutputKind import org.jetbrains.kotlin.konan.target.CompilerOutputKind
@@ -35,7 +35,7 @@ internal fun buildKotlinNativeKlibCompilerArgs(
languageSettings: LanguageSettings, languageSettings: LanguageSettings,
enableEndorsedLibs: Boolean, enableEndorsedLibs: Boolean,
compilerOptions: CompilerCommonOptions, compilerOptions: KotlinCommonCompilerOptions,
compilerPlugins: List<CompilerPluginData>, compilerPlugins: List<CompilerPluginData>,
moduleName: String, moduleName: String,
@@ -81,7 +81,7 @@ internal fun buildKotlinNativeBinaryLinkerArgs(
friendModules: List<File>, friendModules: List<File>,
enableEndorsedLibs: Boolean, enableEndorsedLibs: Boolean,
toolOptions: CompilerCommonToolOptions, toolOptions: KotlinCommonCompilerToolOptions,
compilerPlugins: List<CompilerPluginData>, compilerPlugins: List<CompilerPluginData>,
processTests: Boolean, processTests: Boolean,
@@ -138,7 +138,7 @@ private fun buildKotlinNativeMainArgs(
internal fun buildKotlinNativeCompileCommonArgs( internal fun buildKotlinNativeCompileCommonArgs(
enableEndorsedLibs: Boolean, enableEndorsedLibs: Boolean,
languageSettings: LanguageSettings, languageSettings: LanguageSettings,
compilerOptions: CompilerCommonOptions, compilerOptions: KotlinCommonCompilerOptions,
compilerPlugins: List<CompilerPluginData> compilerPlugins: List<CompilerPluginData>
): List<String> = mutableListOf<String>().apply { ): List<String> = mutableListOf<String>().apply {
add("-Xmulti-platform") add("-Xmulti-platform")
@@ -166,7 +166,7 @@ internal fun buildKotlinNativeCompileCommonArgs(
internal fun buildKotlinNativeCommonArgs( internal fun buildKotlinNativeCommonArgs(
enableEndorsedLibs: Boolean, enableEndorsedLibs: Boolean,
toolOptions: CompilerCommonToolOptions, toolOptions: KotlinCommonCompilerToolOptions,
compilerPlugins: List<CompilerPluginData> compilerPlugins: List<CompilerPluginData>
): List<String> = mutableListOf<String>().apply { ): List<String> = mutableListOf<String>().apply {
add("-Xmulti-platform") add("-Xmulti-platform")
@@ -21,10 +21,7 @@ import org.gradle.process.ExecOperations
import org.jetbrains.kotlin.compilerRunner.KotlinNativeCompilerRunner import org.jetbrains.kotlin.compilerRunner.KotlinNativeCompilerRunner
import org.jetbrains.kotlin.compilerRunner.KotlinToolRunner import org.jetbrains.kotlin.compilerRunner.KotlinToolRunner
import org.jetbrains.kotlin.compilerRunner.getKonanCacheKind import org.jetbrains.kotlin.compilerRunner.getKonanCacheKind
import org.jetbrains.kotlin.gradle.dsl.CompilerCommonToolOptions import org.jetbrains.kotlin.gradle.dsl.*
import org.jetbrains.kotlin.gradle.dsl.CompilerCommonToolOptionsDefault
import org.jetbrains.kotlin.gradle.dsl.KotlinCommonToolOptions
import org.jetbrains.kotlin.gradle.dsl.NativeCacheKind
import org.jetbrains.kotlin.gradle.plugin.PropertiesProvider import org.jetbrains.kotlin.gradle.plugin.PropertiesProvider
import org.jetbrains.kotlin.gradle.plugin.cocoapods.asValidFrameworkName import org.jetbrains.kotlin.gradle.plugin.cocoapods.asValidFrameworkName
import org.jetbrains.kotlin.gradle.plugin.mpp.* import org.jetbrains.kotlin.gradle.plugin.mpp.*
@@ -50,7 +47,7 @@ constructor(
private val objectFactory: ObjectFactory, private val objectFactory: ObjectFactory,
private val execOperations: ExecOperations private val execOperations: ExecOperations
) : AbstractKotlinCompileTool<StubK2NativeCompilerArguments>(objectFactory), ) : AbstractKotlinCompileTool<StubK2NativeCompilerArguments>(objectFactory),
KotlinToolTask<CompilerCommonToolOptions> { KotlinToolTask<KotlinCommonCompilerToolOptions> {
@Deprecated("Visibility will be lifted to private in the future releases") @Deprecated("Visibility will be lifted to private in the future releases")
@get:Internal @get:Internal
val compilation: KotlinNativeCompilation val compilation: KotlinNativeCompilation
@@ -58,8 +55,8 @@ constructor(
private val runnerSettings = KotlinNativeCompilerRunner.Settings.fromProject(project) private val runnerSettings = KotlinNativeCompilerRunner.Settings.fromProject(project)
final override val toolOptions: CompilerCommonToolOptions = objectFactory final override val toolOptions: KotlinCommonCompilerToolOptions = objectFactory
.newInstance<CompilerCommonToolOptionsDefault>() .newInstance<KotlinCommonCompilerToolOptionsDefault>()
.apply { .apply {
freeCompilerArgs.addAll(PropertiesProvider(project).nativeLinkArgs) freeCompilerArgs.addAll(PropertiesProvider(project).nativeLinkArgs)
} }
@@ -137,7 +134,7 @@ constructor(
) )
@get:Internal @get:Internal
val kotlinOptions: KotlinCommonToolOptions = object : KotlinCommonToolOptions { val kotlinOptions: KotlinCommonToolOptions = object : KotlinCommonToolOptions {
override val options: CompilerCommonToolOptions override val options: KotlinCommonCompilerToolOptions
get() = toolOptions get() = toolOptions
} }
@@ -306,7 +306,7 @@ constructor(
private val execOperations: ExecOperations private val execOperations: ExecOperations
) : AbstractKotlinNativeCompile<KotlinCommonOptions, KotlinNativeCompilationData<*>, StubK2NativeCompilerArguments>(objectFactory), ) : AbstractKotlinNativeCompile<KotlinCommonOptions, KotlinNativeCompilationData<*>, StubK2NativeCompilerArguments>(objectFactory),
KotlinCompile<KotlinCommonOptions>, KotlinCompile<KotlinCommonOptions>,
KotlinCompilationTask<CompilerCommonOptions> { KotlinCompilationTask<KotlinCommonCompilerOptions> {
@get:Input @get:Input
override val outputKind = LIBRARY override val outputKind = LIBRARY
@@ -373,7 +373,7 @@ constructor(
// endregion. // endregion.
// region Kotlin options. // region Kotlin options.
override val compilerOptions: CompilerCommonOptions = compilation.compilerOptions.options override val compilerOptions: KotlinCommonCompilerOptions = compilation.compilerOptions.options
@Deprecated( @Deprecated(
message = "Replaced with compilerOptions", message = "Replaced with compilerOptions",
@@ -381,7 +381,7 @@ constructor(
) )
@Suppress("DEPRECATION") @Suppress("DEPRECATION")
override val kotlinOptions: KotlinCommonOptions = object : KotlinCommonOptions { override val kotlinOptions: KotlinCommonOptions = object : KotlinCommonOptions {
override val options: CompilerCommonOptions override val options: KotlinCommonCompilerOptions
get() = compilerOptions get() = compilerOptions
} }
@@ -678,7 +678,7 @@ internal class CacheBuilder(
val gradleUserHomeDir: File, val gradleUserHomeDir: File,
val binary: NativeBinary, val binary: NativeBinary,
val konanTarget: KonanTarget, val konanTarget: KonanTarget,
val toolOptions: CompilerCommonToolOptions, val toolOptions: KotlinCommonCompilerToolOptions,
val externalDependenciesArgs: List<String> val externalDependenciesArgs: List<String>
) { ) {
val rootCacheDirectory get() = getRootCacheDirectory( val rootCacheDirectory get() = getRootCacheDirectory(
@@ -693,7 +693,7 @@ internal class CacheBuilder(
project: Project, project: Project,
binary: NativeBinary, binary: NativeBinary,
konanTarget: KonanTarget, konanTarget: KonanTarget,
toolOptions: CompilerCommonToolOptions, toolOptions: KotlinCommonCompilerToolOptions,
externalDependenciesArgs: List<String> externalDependenciesArgs: List<String>
): Settings { ): Settings {
val konanCacheKind = project.getKonanCacheKind(konanTarget) val konanCacheKind = project.getKonanCacheKind(konanTarget)
@@ -8,10 +8,7 @@ package org.jetbrains.kotlin.gradle.targets.native.tasks.artifact
import org.gradle.api.Action import org.gradle.api.Action
import org.gradle.api.Project import org.gradle.api.Project
import org.gradle.api.attributes.Usage import org.gradle.api.attributes.Usage
import org.jetbrains.kotlin.gradle.dsl.CompilerCommonToolOptions import org.jetbrains.kotlin.gradle.dsl.*
import org.jetbrains.kotlin.gradle.dsl.KotlinArtifactConfig
import org.jetbrains.kotlin.gradle.dsl.KotlinCommonToolOptions
import org.jetbrains.kotlin.gradle.dsl.KotlinNativeArtifactConfig
import org.jetbrains.kotlin.gradle.plugin.KotlinPlatformType import org.jetbrains.kotlin.gradle.plugin.KotlinPlatformType
import org.jetbrains.kotlin.gradle.plugin.mpp.KotlinNativeTarget import org.jetbrains.kotlin.gradle.plugin.mpp.KotlinNativeTarget
import org.jetbrains.kotlin.gradle.plugin.mpp.KotlinUsages import org.jetbrains.kotlin.gradle.plugin.mpp.KotlinUsages
@@ -49,8 +46,8 @@ abstract class KotlinNativeArtifactConfigImpl(artifactName: String) : KotlinArti
override var isStatic: Boolean = false override var isStatic: Boolean = false
override var linkerOptions: List<String> = emptyList() override var linkerOptions: List<String> = emptyList()
internal var toolOptionsConfigure: CompilerCommonToolOptions.() -> Unit = {} internal var toolOptionsConfigure: KotlinCommonCompilerToolOptions.() -> Unit = {}
override fun toolOptions(configure: Action<CompilerCommonToolOptions>) { override fun toolOptions(configure: Action<KotlinCommonCompilerToolOptions>) {
toolOptionsConfigure = configure::execute toolOptionsConfigure = configure::execute
} }
@@ -9,10 +9,7 @@ import org.gradle.api.Project
import org.gradle.api.Task import org.gradle.api.Task
import org.gradle.api.plugins.ExtensionAware import org.gradle.api.plugins.ExtensionAware
import org.gradle.language.base.plugins.LifecycleBasePlugin import org.gradle.language.base.plugins.LifecycleBasePlugin
import org.jetbrains.kotlin.gradle.dsl.CompilerCommonToolOptions import org.jetbrains.kotlin.gradle.dsl.*
import org.jetbrains.kotlin.gradle.dsl.KotlinCommonToolOptions
import org.jetbrains.kotlin.gradle.dsl.KotlinNativeFatFramework
import org.jetbrains.kotlin.gradle.dsl.KotlinNativeFatFrameworkConfig
import org.jetbrains.kotlin.gradle.plugin.mpp.BitcodeEmbeddingMode import org.jetbrains.kotlin.gradle.plugin.mpp.BitcodeEmbeddingMode
import org.jetbrains.kotlin.gradle.plugin.mpp.NativeBuildType import org.jetbrains.kotlin.gradle.plugin.mpp.NativeBuildType
import org.jetbrains.kotlin.gradle.plugin.mpp.NativeOutputKind import org.jetbrains.kotlin.gradle.plugin.mpp.NativeOutputKind
@@ -73,7 +70,7 @@ class KotlinNativeFatFrameworkImpl(
@Suppress("DEPRECATION") @Suppress("DEPRECATION")
@Deprecated("Replaced by toolOptionsConfigure", replaceWith = ReplaceWith("toolOptionsConfigure")) @Deprecated("Replaced by toolOptionsConfigure", replaceWith = ReplaceWith("toolOptionsConfigure"))
override val kotlinOptionsFn: KotlinCommonToolOptions.() -> Unit, override val kotlinOptionsFn: KotlinCommonToolOptions.() -> Unit,
override val toolOptionsConfigure: CompilerCommonToolOptions.() -> Unit, override val toolOptionsConfigure: KotlinCommonCompilerToolOptions.() -> Unit,
override val binaryOptions: Map<String, String>, override val binaryOptions: Map<String, String>,
override val targets: Set<KonanTarget>, override val targets: Set<KonanTarget>,
override val embedBitcode: BitcodeEmbeddingMode?, override val embedBitcode: BitcodeEmbeddingMode?,
@@ -63,7 +63,7 @@ class KotlinNativeFrameworkImpl(
@Suppress("DEPRECATION") @Suppress("DEPRECATION")
@Deprecated("Replaced by compilerOptionsConfigure", replaceWith = ReplaceWith("compilerOptionsConfigure")) @Deprecated("Replaced by compilerOptionsConfigure", replaceWith = ReplaceWith("compilerOptionsConfigure"))
override val kotlinOptionsFn: KotlinCommonToolOptions.() -> Unit, override val kotlinOptionsFn: KotlinCommonToolOptions.() -> Unit,
override val toolOptionsConfigure: CompilerCommonToolOptions.() -> Unit, override val toolOptionsConfigure: KotlinCommonCompilerToolOptions.() -> Unit,
override val binaryOptions: Map<String, String>, override val binaryOptions: Map<String, String>,
override val target: KonanTarget, override val target: KonanTarget,
override val embedBitcode: BitcodeEmbeddingMode?, override val embedBitcode: BitcodeEmbeddingMode?,
@@ -10,10 +10,7 @@ import org.gradle.api.Task
import org.gradle.api.plugins.BasePlugin import org.gradle.api.plugins.BasePlugin
import org.gradle.api.plugins.ExtensionAware import org.gradle.api.plugins.ExtensionAware
import org.gradle.language.base.plugins.LifecycleBasePlugin import org.gradle.language.base.plugins.LifecycleBasePlugin
import org.jetbrains.kotlin.gradle.dsl.CompilerCommonToolOptions import org.jetbrains.kotlin.gradle.dsl.*
import org.jetbrains.kotlin.gradle.dsl.KotlinCommonToolOptions
import org.jetbrains.kotlin.gradle.dsl.KotlinNativeLibrary
import org.jetbrains.kotlin.gradle.dsl.KotlinNativeLibraryConfig
import org.jetbrains.kotlin.gradle.plugin.mpp.NativeBuildType import org.jetbrains.kotlin.gradle.plugin.mpp.NativeBuildType
import org.jetbrains.kotlin.gradle.plugin.mpp.NativeOutputKind import org.jetbrains.kotlin.gradle.plugin.mpp.NativeOutputKind
import org.jetbrains.kotlin.gradle.plugin.mpp.enabledOnCurrentHost import org.jetbrains.kotlin.gradle.plugin.mpp.enabledOnCurrentHost
@@ -62,7 +59,7 @@ class KotlinNativeLibraryImpl(
@Suppress("DEPRECATION") @Suppress("DEPRECATION")
@Deprecated("Replaced by compilerOptionsConfigure", replaceWith = ReplaceWith("compilerOptionsConfigure")) @Deprecated("Replaced by compilerOptionsConfigure", replaceWith = ReplaceWith("compilerOptionsConfigure"))
override val kotlinOptionsFn: KotlinCommonToolOptions.() -> Unit, override val kotlinOptionsFn: KotlinCommonToolOptions.() -> Unit,
override val toolOptionsConfigure: CompilerCommonToolOptions.() -> Unit, override val toolOptionsConfigure: KotlinCommonCompilerToolOptions.() -> Unit,
override val binaryOptions: Map<String, String>, override val binaryOptions: Map<String, String>,
override val target: KonanTarget, override val target: KonanTarget,
extensions: ExtensionAware extensions: ExtensionAware
@@ -20,9 +20,7 @@ import org.gradle.api.tasks.*
import org.gradle.process.ExecOperations import org.gradle.process.ExecOperations
import org.jetbrains.kotlin.compilerRunner.KotlinNativeCompilerRunner import org.jetbrains.kotlin.compilerRunner.KotlinNativeCompilerRunner
import org.jetbrains.kotlin.compilerRunner.KotlinToolRunner import org.jetbrains.kotlin.compilerRunner.KotlinToolRunner
import org.jetbrains.kotlin.gradle.dsl.CompilerCommonToolOptions import org.jetbrains.kotlin.gradle.dsl.*
import org.jetbrains.kotlin.gradle.dsl.CompilerCommonToolOptionsDefault
import org.jetbrains.kotlin.gradle.dsl.KotlinCommonToolOptions
import org.jetbrains.kotlin.gradle.internal.ensureParentDirsCreated import org.jetbrains.kotlin.gradle.internal.ensureParentDirsCreated
import org.jetbrains.kotlin.gradle.plugin.PropertiesProvider import org.jetbrains.kotlin.gradle.plugin.PropertiesProvider
import org.jetbrains.kotlin.gradle.plugin.mpp.BitcodeEmbeddingMode import org.jetbrains.kotlin.gradle.plugin.mpp.BitcodeEmbeddingMode
@@ -43,7 +41,7 @@ abstract class KotlinNativeLinkArtifactTask @Inject constructor(
private val execOperations: ExecOperations, private val execOperations: ExecOperations,
private val projectLayout: ProjectLayout private val projectLayout: ProjectLayout
) : DefaultTask(), ) : DefaultTask(),
KotlinToolTask<CompilerCommonToolOptions> { KotlinToolTask<KotlinCommonCompilerToolOptions> {
@get:Input @get:Input
abstract val baseName: Property<String> abstract val baseName: Property<String>
@@ -94,8 +92,8 @@ abstract class KotlinNativeLinkArtifactTask @Inject constructor(
@get:Input @get:Input
internal val allBinaryOptions: Provider<Map<String, String>> = binaryOptions.map { it + nativeBinaryOptions } internal val allBinaryOptions: Provider<Map<String, String>> = binaryOptions.map { it + nativeBinaryOptions }
override val toolOptions: CompilerCommonToolOptions = objectFactory override val toolOptions: KotlinCommonCompilerToolOptions = objectFactory
.newInstance<CompilerCommonToolOptionsDefault>() .newInstance<KotlinCommonCompilerToolOptionsDefault>()
.apply { .apply {
freeCompilerArgs.addAll(PropertiesProvider(project).nativeLinkArgs) freeCompilerArgs.addAll(PropertiesProvider(project).nativeLinkArgs)
} }
@@ -107,7 +105,7 @@ abstract class KotlinNativeLinkArtifactTask @Inject constructor(
) )
@get:Internal @get:Internal
val kotlinOptions = object : KotlinCommonToolOptions { val kotlinOptions = object : KotlinCommonToolOptions {
override val options: CompilerCommonToolOptions override val options: KotlinCommonCompilerToolOptions
get() = toolOptions get() = toolOptions
} }
@@ -9,10 +9,7 @@ import org.gradle.api.Project
import org.gradle.api.Task import org.gradle.api.Task
import org.gradle.api.plugins.ExtensionAware import org.gradle.api.plugins.ExtensionAware
import org.gradle.language.base.plugins.LifecycleBasePlugin import org.gradle.language.base.plugins.LifecycleBasePlugin
import org.jetbrains.kotlin.gradle.dsl.CompilerCommonToolOptions import org.jetbrains.kotlin.gradle.dsl.*
import org.jetbrains.kotlin.gradle.dsl.KotlinCommonToolOptions
import org.jetbrains.kotlin.gradle.dsl.KotlinNativeXCFramework
import org.jetbrains.kotlin.gradle.dsl.KotlinNativeXCFrameworkConfig
import org.jetbrains.kotlin.gradle.plugin.mpp.BitcodeEmbeddingMode import org.jetbrains.kotlin.gradle.plugin.mpp.BitcodeEmbeddingMode
import org.jetbrains.kotlin.gradle.plugin.mpp.NativeBuildType import org.jetbrains.kotlin.gradle.plugin.mpp.NativeBuildType
import org.jetbrains.kotlin.gradle.plugin.mpp.NativeOutputKind import org.jetbrains.kotlin.gradle.plugin.mpp.NativeOutputKind
@@ -73,7 +70,7 @@ class KotlinNativeXCFrameworkImpl(
@Suppress("DEPRECATION") @Suppress("DEPRECATION")
@Deprecated("Replaced by toolOptionsConfigure", replaceWith = ReplaceWith("toolOptionsConfigure")) @Deprecated("Replaced by toolOptionsConfigure", replaceWith = ReplaceWith("toolOptionsConfigure"))
override val kotlinOptionsFn: KotlinCommonToolOptions.() -> Unit, override val kotlinOptionsFn: KotlinCommonToolOptions.() -> Unit,
override val toolOptionsConfigure: CompilerCommonToolOptions.() -> Unit, override val toolOptionsConfigure: KotlinCommonCompilerToolOptions.() -> Unit,
override val binaryOptions: Map<String, String>, override val binaryOptions: Map<String, String>,
override val targets: Set<KonanTarget>, override val targets: Set<KonanTarget>,
override val embedBitcode: BitcodeEmbeddingMode?, override val embedBitcode: BitcodeEmbeddingMode?,
@@ -35,11 +35,11 @@ import javax.inject.Inject
@CacheableTask @CacheableTask
abstract class KotlinCompileCommon @Inject constructor( abstract class KotlinCompileCommon @Inject constructor(
override val compilerOptions: CompilerMultiplatformCommonOptions, override val compilerOptions: KotlinMultiplatformCommonCompilerOptions,
workerExecutor: WorkerExecutor, workerExecutor: WorkerExecutor,
objectFactory: ObjectFactory objectFactory: ObjectFactory
) : AbstractKotlinCompile<K2MetadataCompilerArguments>(objectFactory, workerExecutor), ) : AbstractKotlinCompile<K2MetadataCompilerArguments>(objectFactory, workerExecutor),
KotlinCompilationTask<CompilerMultiplatformCommonOptions>, KotlinCompilationTask<KotlinMultiplatformCommonCompilerOptions>,
KotlinCommonCompile { KotlinCommonCompile {
init { init {
@@ -67,7 +67,7 @@ abstract class KotlinCompileCommon @Inject constructor(
K2MetadataCompilerArguments() K2MetadataCompilerArguments()
override fun setupCompilerArgs(args: K2MetadataCompilerArguments, defaultsOnly: Boolean, ignoreClasspathResolutionErrors: Boolean) { override fun setupCompilerArgs(args: K2MetadataCompilerArguments, defaultsOnly: Boolean, ignoreClasspathResolutionErrors: Boolean) {
(compilerOptions as CompilerMultiplatformCommonOptionsDefault).fillDefaultValues(args) (compilerOptions as KotlinMultiplatformCommonCompilerOptionsDefault).fillDefaultValues(args)
super.setupCompilerArgs(args, defaultsOnly = defaultsOnly, ignoreClasspathResolutionErrors = ignoreClasspathResolutionErrors) super.setupCompilerArgs(args, defaultsOnly = defaultsOnly, ignoreClasspathResolutionErrors = ignoreClasspathResolutionErrors)
args.moduleName = this@KotlinCompileCommon.moduleName.get() args.moduleName = this@KotlinCompileCommon.moduleName.get()
@@ -88,7 +88,7 @@ abstract class KotlinCompileCommon @Inject constructor(
refinesPaths = refinesMetadataPaths.map { it.absolutePath }.toTypedArray() refinesPaths = refinesMetadataPaths.map { it.absolutePath }.toTypedArray()
} }
(compilerOptions as CompilerMultiplatformCommonOptionsDefault).fillCompilerArguments(args) (compilerOptions as KotlinMultiplatformCommonCompilerOptionsDefault).fillCompilerArguments(args)
if (additionalFreeCompilerArgs.isNotEmpty()) { if (additionalFreeCompilerArgs.isNotEmpty()) {
args.freeArgs = compilerOptions.freeCompilerArgs.get().union(additionalFreeCompilerArgs).toList() args.freeArgs = compilerOptions.freeCompilerArgs.get().union(additionalFreeCompilerArgs).toList()
@@ -28,8 +28,8 @@ import org.jetbrains.kotlin.cli.common.arguments.DevModeOverwritingStrategies
import org.jetbrains.kotlin.cli.common.arguments.K2JSDceArguments import org.jetbrains.kotlin.cli.common.arguments.K2JSDceArguments
import org.jetbrains.kotlin.cli.js.dce.K2JSDce import org.jetbrains.kotlin.cli.js.dce.K2JSDce
import org.jetbrains.kotlin.compilerRunner.runToolInSeparateProcess import org.jetbrains.kotlin.compilerRunner.runToolInSeparateProcess
import org.jetbrains.kotlin.gradle.dsl.CompilerJsDceOptions import org.jetbrains.kotlin.gradle.dsl.KotlinJsDceCompilerToolOptions
import org.jetbrains.kotlin.gradle.dsl.CompilerJsDceOptionsDefault import org.jetbrains.kotlin.gradle.dsl.KotlinJsDceCompilerToolOptionsDefault
import org.jetbrains.kotlin.gradle.dsl.KotlinJsDce import org.jetbrains.kotlin.gradle.dsl.KotlinJsDce
import org.jetbrains.kotlin.gradle.dsl.KotlinJsDceOptions import org.jetbrains.kotlin.gradle.dsl.KotlinJsDceOptions
import org.jetbrains.kotlin.gradle.logging.GradleKotlinLogger import org.jetbrains.kotlin.gradle.logging.GradleKotlinLogger
@@ -43,7 +43,7 @@ import javax.inject.Inject
abstract class KotlinJsDce @Inject constructor( abstract class KotlinJsDce @Inject constructor(
objectFactory: ObjectFactory objectFactory: ObjectFactory
) : AbstractKotlinCompileTool<K2JSDceArguments>(objectFactory), ) : AbstractKotlinCompileTool<K2JSDceArguments>(objectFactory),
KotlinToolTask<CompilerJsDceOptions>, KotlinToolTask<KotlinJsDceCompilerToolOptions>,
KotlinJsDce { KotlinJsDce {
init { init {
@@ -53,12 +53,12 @@ abstract class KotlinJsDce @Inject constructor(
include("js".fileExtensionCasePermutations().map { "**/*.$it" }) include("js".fileExtensionCasePermutations().map { "**/*.$it" })
} }
override val toolOptions: CompilerJsDceOptions = objectFactory.newInstance<CompilerJsDceOptionsDefault>() override val toolOptions: KotlinJsDceCompilerToolOptions = objectFactory.newInstance<KotlinJsDceCompilerToolOptionsDefault>()
override fun createCompilerArgs(): K2JSDceArguments = K2JSDceArguments() override fun createCompilerArgs(): K2JSDceArguments = K2JSDceArguments()
override fun setupCompilerArgs(args: K2JSDceArguments, defaultsOnly: Boolean, ignoreClasspathResolutionErrors: Boolean) { override fun setupCompilerArgs(args: K2JSDceArguments, defaultsOnly: Boolean, ignoreClasspathResolutionErrors: Boolean) {
(toolOptions as CompilerJsDceOptionsDefault).fillCompilerArguments(args) (toolOptions as KotlinJsDceCompilerToolOptionsDefault).fillCompilerArguments(args)
args.declarationsToKeep = keep.toTypedArray() args.declarationsToKeep = keep.toTypedArray()
} }
@@ -70,7 +70,7 @@ abstract class KotlinJsDce @Inject constructor(
@Suppress("DEPRECATION") @Suppress("DEPRECATION")
@get:Internal @get:Internal
override val dceOptions: KotlinJsDceOptions = object : KotlinJsDceOptions { override val dceOptions: KotlinJsDceOptions = object : KotlinJsDceOptions {
override val options: CompilerJsDceOptions override val options: KotlinJsDceCompilerToolOptions
get() = toolOptions get() = toolOptions
} }
@@ -524,7 +524,7 @@ class KotlinJvmCompilerArgumentsProvider
val friendPaths: FileCollection = taskProvider.friendPaths val friendPaths: FileCollection = taskProvider.friendPaths
val compileClasspath: Iterable<File> = taskProvider.libraries val compileClasspath: Iterable<File> = taskProvider.libraries
val destinationDir: File = taskProvider.destinationDirectory.get().asFile val destinationDir: File = taskProvider.destinationDirectory.get().asFile
internal val compilerOptions: CompilerJvmOptions = taskProvider.compilerOptions internal val compilerOptions: KotlinJvmCompilerOptions = taskProvider.compilerOptions
} }
internal inline val <reified T : Task> T.thisTaskProvider: TaskProvider<out T> internal inline val <reified T : Task> T.thisTaskProvider: TaskProvider<out T>
@@ -532,12 +532,12 @@ internal inline val <reified T : Task> T.thisTaskProvider: TaskProvider<out T>
@CacheableTask @CacheableTask
abstract class KotlinCompile @Inject constructor( abstract class KotlinCompile @Inject constructor(
override val compilerOptions: CompilerJvmOptions, override val compilerOptions: KotlinJvmCompilerOptions,
workerExecutor: WorkerExecutor, workerExecutor: WorkerExecutor,
objectFactory: ObjectFactory objectFactory: ObjectFactory
) : AbstractKotlinCompile<K2JVMCompilerArguments>(objectFactory, workerExecutor), ) : AbstractKotlinCompile<K2JVMCompilerArguments>(objectFactory, workerExecutor),
@Suppress("TYPEALIAS_EXPANSION_DEPRECATION") KotlinJvmCompileDsl, @Suppress("TYPEALIAS_EXPANSION_DEPRECATION") KotlinJvmCompileDsl,
KotlinCompilationTask<CompilerJvmOptions>, KotlinCompilationTask<KotlinJvmCompilerOptions>,
UsesKotlinJavaToolchain { UsesKotlinJavaToolchain {
init { init {
@@ -918,11 +918,11 @@ abstract class KotlinCompile @Inject constructor(
@CacheableTask @CacheableTask
abstract class Kotlin2JsCompile @Inject constructor( abstract class Kotlin2JsCompile @Inject constructor(
override val compilerOptions: CompilerJsOptions, override val compilerOptions: KotlinJsCompilerOptions,
objectFactory: ObjectFactory, objectFactory: ObjectFactory,
workerExecutor: WorkerExecutor workerExecutor: WorkerExecutor
) : AbstractKotlinCompile<K2JSCompilerArguments>(objectFactory, workerExecutor), ) : AbstractKotlinCompile<K2JSCompilerArguments>(objectFactory, workerExecutor),
KotlinCompilationTask<CompilerJsOptions>, KotlinCompilationTask<KotlinJsCompilerOptions>,
KotlinJsCompile { KotlinJsCompile {
init { init {
@@ -1007,12 +1007,12 @@ abstract class Kotlin2JsCompile @Inject constructor(
K2JSCompilerArguments() K2JSCompilerArguments()
override fun setupCompilerArgs(args: K2JSCompilerArguments, defaultsOnly: Boolean, ignoreClasspathResolutionErrors: Boolean) { override fun setupCompilerArgs(args: K2JSCompilerArguments, defaultsOnly: Boolean, ignoreClasspathResolutionErrors: Boolean) {
(compilerOptions as CompilerJsOptionsDefault).fillDefaultValues(args) (compilerOptions as KotlinJsCompilerOptionsDefault).fillDefaultValues(args)
super.setupCompilerArgs(args, defaultsOnly = defaultsOnly, ignoreClasspathResolutionErrors = ignoreClasspathResolutionErrors) super.setupCompilerArgs(args, defaultsOnly = defaultsOnly, ignoreClasspathResolutionErrors = ignoreClasspathResolutionErrors)
if (defaultsOnly) return if (defaultsOnly) return
(compilerOptions as CompilerJsOptionsDefault).fillCompilerArguments(args) (compilerOptions as KotlinJsCompilerOptionsDefault).fillCompilerArguments(args)
if (!args.sourceMapPrefix.isNullOrEmpty()) { if (!args.sourceMapPrefix.isNullOrEmpty()) {
args.sourceMapBaseDirs = sourceMapBaseDir.get().asFile.absolutePath args.sourceMapBaseDirs = sourceMapBaseDir.get().asFile.absolutePath
} }
@@ -22,9 +22,7 @@ import org.gradle.api.UnknownTaskException
import org.gradle.api.tasks.TaskCollection import org.gradle.api.tasks.TaskCollection
import org.gradle.api.tasks.TaskContainer import org.gradle.api.tasks.TaskContainer
import org.gradle.api.tasks.TaskProvider import org.gradle.api.tasks.TaskProvider
import org.jetbrains.kotlin.gradle.dsl.CompilerJsOptions import org.jetbrains.kotlin.gradle.dsl.*
import org.jetbrains.kotlin.gradle.dsl.CompilerJvmOptions
import org.jetbrains.kotlin.gradle.dsl.CompilerMultiplatformCommonOptions
import org.jetbrains.kotlin.gradle.targets.js.ir.KotlinJsIrLink import org.jetbrains.kotlin.gradle.targets.js.ir.KotlinJsIrLink
import org.jetbrains.kotlin.gradle.tasks.configuration.* import org.jetbrains.kotlin.gradle.tasks.configuration.*
@@ -102,7 +100,7 @@ internal open class KotlinTasksProvider {
open fun registerKotlinJVMTask( open fun registerKotlinJVMTask(
project: Project, project: Project,
taskName: String, taskName: String,
compilerOptions: CompilerJvmOptions, compilerOptions: KotlinJvmCompilerOptions,
configuration: KotlinCompileConfig configuration: KotlinCompileConfig
): TaskProvider<out KotlinCompile> { ): TaskProvider<out KotlinCompile> {
return project.registerTask(taskName, KotlinCompile::class.java, constructorArgs = listOf(compilerOptions)).also { return project.registerTask(taskName, KotlinCompile::class.java, constructorArgs = listOf(compilerOptions)).also {
@@ -113,7 +111,7 @@ internal open class KotlinTasksProvider {
fun registerKotlinJSTask( fun registerKotlinJSTask(
project: Project, project: Project,
taskName: String, taskName: String,
compilerOptions: CompilerJsOptions, compilerOptions: KotlinJsCompilerOptions,
configuration: Kotlin2JsCompileConfig configuration: Kotlin2JsCompileConfig
): TaskProvider<out Kotlin2JsCompile> { ): TaskProvider<out Kotlin2JsCompile> {
return project.registerTask( return project.registerTask(
@@ -136,7 +134,7 @@ internal open class KotlinTasksProvider {
fun registerKotlinCommonTask( fun registerKotlinCommonTask(
project: Project, project: Project,
taskName: String, taskName: String,
compilerOptions: CompilerMultiplatformCommonOptions, compilerOptions: KotlinMultiplatformCommonCompilerOptions,
configuration: KotlinCompileCommonConfig configuration: KotlinCompileCommonConfig
): TaskProvider<out KotlinCompileCommon> { ): TaskProvider<out KotlinCompileCommon> {
return project.registerTask( return project.registerTask(
@@ -8,7 +8,7 @@ package org.jetbrains.kotlin.gradle.tasks.configuration
import org.gradle.api.Project import org.gradle.api.Project
import org.gradle.api.attributes.Attribute import org.gradle.api.attributes.Attribute
import org.gradle.api.provider.Provider import org.gradle.api.provider.Provider
import org.jetbrains.kotlin.gradle.dsl.CompilerJvmOptions import org.jetbrains.kotlin.gradle.dsl.KotlinJvmCompilerOptions
import org.jetbrains.kotlin.gradle.dsl.KotlinTopLevelExtension import org.jetbrains.kotlin.gradle.dsl.KotlinTopLevelExtension
import org.jetbrains.kotlin.gradle.internal.transforms.ClasspathEntrySnapshotTransform import org.jetbrains.kotlin.gradle.internal.transforms.ClasspathEntrySnapshotTransform
import org.jetbrains.kotlin.gradle.plugin.mpp.KotlinJvmAndroidCompilation import org.jetbrains.kotlin.gradle.plugin.mpp.KotlinJvmAndroidCompilation
@@ -76,7 +76,7 @@ internal open class BaseKotlinCompileConfig<TASK : KotlinCompile> : AbstractKotl
task.associatedJavaCompileTaskName.value(javaTaskProvider.name) task.associatedJavaCompileTaskName.value(javaTaskProvider.name)
} }
task.ownModuleName.value( task.ownModuleName.value(
(compilation.compilerOptions.options as CompilerJvmOptions).moduleName.convention(compilation.ownModuleName) (compilation.compilerOptions.options as KotlinJvmCompilerOptions).moduleName.convention(compilation.ownModuleName)
) )
} }
} }
@@ -15,7 +15,7 @@ import org.jetbrains.kotlin.gradle.tasks.Kotlin2JsCompile
@Suppress("DEPRECATION") @Suppress("DEPRECATION")
class KotlinJsOptionsCompat( class KotlinJsOptionsCompat(
private val task: () -> Kotlin2JsCompile, private val task: () -> Kotlin2JsCompile,
override val options: CompilerJsOptions override val options: KotlinJsCompilerOptions
) : KotlinJsOptions { ) : KotlinJsOptions {
override var freeCompilerArgs: List<String> override var freeCompilerArgs: List<String>
get() = if (isTaskExecuting) { get() = if (isTaskExecuting) {
@@ -15,7 +15,7 @@ import org.jetbrains.kotlin.gradle.tasks.KotlinCompile
@Suppress("DEPRECATION") @Suppress("DEPRECATION")
class KotlinJvmOptionsCompat( class KotlinJvmOptionsCompat(
private val task: () -> KotlinCompile, private val task: () -> KotlinCompile,
override val options: CompilerJvmOptions override val options: KotlinJvmCompilerOptions
) : KotlinJvmOptions { ) : KotlinJvmOptions {
override var freeCompilerArgs: List<String> override var freeCompilerArgs: List<String>
get() = if (isTaskExecuting) { get() = if (isTaskExecuting) {
@@ -11,7 +11,7 @@ import org.jetbrains.kotlin.gradle.tasks.KotlinCompileCommon
@Suppress("DEPRECATION") @Suppress("DEPRECATION")
class KotlinMultiplatformCommonOptionsCompat( class KotlinMultiplatformCommonOptionsCompat(
private val task: () -> KotlinCompileCommon, private val task: () -> KotlinCompileCommon,
override val options: CompilerMultiplatformCommonOptions override val options: KotlinMultiplatformCommonCompilerOptions
) : KotlinMultiplatformCommonOptions { ) : KotlinMultiplatformCommonOptions {
override var freeCompilerArgs: List<String> override var freeCompilerArgs: List<String>