Gradle. Make nativeExtensions in KotlinCompilation optional
This commit is contained in:
+1
-1
@@ -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
|
||||||
|
|||||||
Reference in New Issue
Block a user