Gradle. Make nativeExtensions in KotlinCompilation optional

This commit is contained in:
Dmitriy Dolovov
2020-03-24 19:46:54 +07:00
parent c2fa0b2017
commit a363a5be58
4 changed files with 7 additions and 7 deletions
@@ -492,7 +492,7 @@ open class KotlinMPPGradleProjectResolver : AbstractProjectResolverExtensionComp
val substitutedDependencies: List<ExternalDependency> val substitutedDependencies: List<ExternalDependency>
) { ) {
val konanTarget: String? val konanTarget: String?
get() = compilation.nativeExtensions.konanTarget get() = compilation.nativeExtensions?.konanTarget
val dependencyNames: Map<String, ExternalDependency> by lazy { val dependencyNames: Map<String, ExternalDependency> by lazy {
substitutedDependencies.associateBy { it.name.removeSuffixIfPresent(" [$konanTarget]") } substitutedDependencies.associateBy { it.name.removeSuffixIfPresent(" [$konanTarget]") }
@@ -94,7 +94,7 @@ interface KotlinCompilationArguments : Serializable {
} }
interface KotlinNativeCompilationExtensions : Serializable { interface KotlinNativeCompilationExtensions : Serializable {
val konanTarget: String? // represents org.jetbrains.kotlin.konan.target.KonanTarget val konanTarget: String // represents org.jetbrains.kotlin.konan.target.KonanTarget
} }
interface KotlinCompilation : KotlinModule { interface KotlinCompilation : KotlinModule {
@@ -105,7 +105,7 @@ interface KotlinCompilation : KotlinModule {
val disambiguationClassifier: String? val disambiguationClassifier: String?
val platform: KotlinPlatform val platform: KotlinPlatform
val kotlinTaskProperties: KotlinTaskProperties val kotlinTaskProperties: KotlinTaskProperties
val nativeExtensions: KotlinNativeCompilationExtensions val nativeExtensions: KotlinNativeCompilationExtensions?
companion object { companion object {
const val MAIN_COMPILATION_NAME = "main" const val MAIN_COMPILATION_NAME = "main"
@@ -526,7 +526,7 @@ class KotlinMPPGradleModelBuilder : ModelBuilderService {
it.invoke(konanTarget) as? String it.invoke(konanTarget) as? String
} }
} }
val nativeExtensions = KotlinNativeCompilationExtensionsImpl(konanTarget) val nativeExtensions = konanTarget?.let(::KotlinNativeCompilationExtensionsImpl)
return KotlinCompilationImpl( return KotlinCompilationImpl(
gradleCompilation.name, gradleCompilation.name,
@@ -104,7 +104,7 @@ data class KotlinCompilationArgumentsImpl(
} }
data class KotlinNativeCompilationExtensionsImpl( data class KotlinNativeCompilationExtensionsImpl(
override val konanTarget: String? = null override val konanTarget: String
) : KotlinNativeCompilationExtensions { ) : KotlinNativeCompilationExtensions {
constructor(extensions: KotlinNativeCompilationExtensions) : this(extensions.konanTarget) constructor(extensions: KotlinNativeCompilationExtensions) : this(extensions.konanTarget)
} }
@@ -117,7 +117,7 @@ data class KotlinCompilationImpl(
override val arguments: KotlinCompilationArguments, override val arguments: KotlinCompilationArguments,
override val dependencyClasspath: Array<String>, override val dependencyClasspath: Array<String>,
override val kotlinTaskProperties: KotlinTaskProperties, override val kotlinTaskProperties: KotlinTaskProperties,
override val nativeExtensions: KotlinNativeCompilationExtensions override val nativeExtensions: KotlinNativeCompilationExtensions?
) : KotlinCompilation { ) : KotlinCompilation {
// create deep copy // create deep copy
@@ -133,7 +133,7 @@ data class KotlinCompilationImpl(
KotlinCompilationArgumentsImpl(kotlinCompilation.arguments), KotlinCompilationArgumentsImpl(kotlinCompilation.arguments),
kotlinCompilation.dependencyClasspath, kotlinCompilation.dependencyClasspath,
KotlinTaskPropertiesImpl(kotlinCompilation.kotlinTaskProperties), KotlinTaskPropertiesImpl(kotlinCompilation.kotlinTaskProperties),
KotlinNativeCompilationExtensionsImpl(kotlinCompilation.nativeExtensions) kotlinCompilation.nativeExtensions?.let(::KotlinNativeCompilationExtensionsImpl)
) { ) {
disambiguationClassifier = kotlinCompilation.disambiguationClassifier disambiguationClassifier = kotlinCompilation.disambiguationClassifier
platform = kotlinCompilation.platform platform = kotlinCompilation.platform