From bef898509d8e2e25480bc915e1fa89158cf44657 Mon Sep 17 00:00:00 2001 From: Ilya Matveev Date: Fri, 24 Aug 2018 20:10:35 +0700 Subject: [PATCH] Allow using strings to set native output kinds --- .../gradle/plugin/mpp/kotlinCompilations.kt | 30 +++++++++++++++++-- 1 file changed, 27 insertions(+), 3 deletions(-) diff --git a/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/plugin/mpp/kotlinCompilations.kt b/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/plugin/mpp/kotlinCompilations.kt index 03ae87fa7a1..af49f7841ed 100644 --- a/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/plugin/mpp/kotlinCompilations.kt +++ b/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/plugin/mpp/kotlinCompilations.kt @@ -202,7 +202,9 @@ class KotlinWithJavaCompilation( override var runtimeDependencyFiles: FileCollection get() = javaSourceSet.runtimeClasspath - set(value) { javaSourceSet.runtimeClasspath = value } + set(value) { + javaSourceSet.runtimeClasspath = value + } override val runtimeDependencyConfigurationName: String get() = javaSourceSet.runtimeClasspathConfigurationName @@ -227,7 +229,9 @@ class KotlinWithJavaCompilation( override var compileDependencyFiles: FileCollection get() = javaSourceSet.compileClasspath - set(value) { javaSourceSet.compileClasspath = value } + set(value) { + javaSourceSet.compileClasspath = value + } fun source(javaSourceSet: SourceSet) { with(target.project) { @@ -242,7 +246,7 @@ class KotlinJvmAndroidCompilation( target: KotlinAndroidTarget, name: String, override val output: SourceSetOutput -): AbstractKotlinCompilationToRunnableFiles(target, name) +) : AbstractKotlinCompilationToRunnableFiles(target, name) class KotlinJsCompilation( target: KotlinTarget, @@ -288,6 +292,26 @@ class KotlinNativeCompilation( var buildTypes = mutableListOf() var outputKinds = mutableListOf() + fun outputKind(kind: NativeOutputKind) = outputKinds.add(kind) + + fun outputKinds(vararg kinds: NativeOutputKind) { + outputKinds = kinds.toMutableList() + } + + fun outputKinds(vararg kinds: String) { + outputKinds = kinds.map { NativeOutputKind.valueOf(it.toUpperCase()) }.toMutableList() + } + + fun outputKinds(kinds: List) { + outputKinds = kinds.map { + when (it) { + is NativeOutputKind -> it + is String -> NativeOutputKind.valueOf(it.toUpperCase()) + else -> error("Cannot use $it as an output kind") + } + }.toMutableList() + } + // Naming override val compileDependencyConfigurationName: String