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 konanTarget: String?
get() = compilation.nativeExtensions.konanTarget
get() = compilation.nativeExtensions?.konanTarget
val dependencyNames: Map<String, ExternalDependency> by lazy {
substitutedDependencies.associateBy { it.name.removeSuffixIfPresent(" [$konanTarget]") }
@@ -94,7 +94,7 @@ interface KotlinCompilationArguments : 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 {
@@ -105,7 +105,7 @@ interface KotlinCompilation : KotlinModule {
val disambiguationClassifier: String?
val platform: KotlinPlatform
val kotlinTaskProperties: KotlinTaskProperties
val nativeExtensions: KotlinNativeCompilationExtensions
val nativeExtensions: KotlinNativeCompilationExtensions?
companion object {
const val MAIN_COMPILATION_NAME = "main"
@@ -526,7 +526,7 @@ class KotlinMPPGradleModelBuilder : ModelBuilderService {
it.invoke(konanTarget) as? String
}
}
val nativeExtensions = KotlinNativeCompilationExtensionsImpl(konanTarget)
val nativeExtensions = konanTarget?.let(::KotlinNativeCompilationExtensionsImpl)
return KotlinCompilationImpl(
gradleCompilation.name,
@@ -104,7 +104,7 @@ data class KotlinCompilationArgumentsImpl(
}
data class KotlinNativeCompilationExtensionsImpl(
override val konanTarget: String? = null
override val konanTarget: String
) : KotlinNativeCompilationExtensions {
constructor(extensions: KotlinNativeCompilationExtensions) : this(extensions.konanTarget)
}
@@ -117,7 +117,7 @@ data class KotlinCompilationImpl(
override val arguments: KotlinCompilationArguments,
override val dependencyClasspath: Array<String>,
override val kotlinTaskProperties: KotlinTaskProperties,
override val nativeExtensions: KotlinNativeCompilationExtensions
override val nativeExtensions: KotlinNativeCompilationExtensions?
) : KotlinCompilation {
// create deep copy
@@ -133,7 +133,7 @@ data class KotlinCompilationImpl(
KotlinCompilationArgumentsImpl(kotlinCompilation.arguments),
kotlinCompilation.dependencyClasspath,
KotlinTaskPropertiesImpl(kotlinCompilation.kotlinTaskProperties),
KotlinNativeCompilationExtensionsImpl(kotlinCompilation.nativeExtensions)
kotlinCompilation.nativeExtensions?.let(::KotlinNativeCompilationExtensionsImpl)
) {
disambiguationClassifier = kotlinCompilation.disambiguationClassifier
platform = kotlinCompilation.platform