IDE: Add native extensions to KotlinCompilation
This commit is contained in:
+1
-1
@@ -471,7 +471,7 @@ open class KotlinMPPGradleProjectResolver : AbstractProjectResolverExtension() {
|
||||
val substitutedDependencies: List<ExternalDependency>
|
||||
) {
|
||||
val konanTarget: String?
|
||||
get() = compilation.konanTarget
|
||||
get() = compilation.nativeExtensions.konanTarget
|
||||
|
||||
val dependencyNames: Map<String, ExternalDependency> by lazy {
|
||||
substitutedDependencies.associateBy { it.name.removeSuffixIfPresent(" [$konanTarget]") }
|
||||
|
||||
@@ -91,6 +91,10 @@ interface KotlinCompilationArguments : Serializable {
|
||||
val currentArguments: Array<String>
|
||||
}
|
||||
|
||||
interface KotlinNativeCompilationExtensions : Serializable {
|
||||
val konanTarget: String?
|
||||
}
|
||||
|
||||
interface KotlinCompilation : KotlinModule {
|
||||
val sourceSets: Collection<KotlinSourceSet>
|
||||
val output: KotlinCompilationOutput
|
||||
@@ -99,8 +103,7 @@ interface KotlinCompilation : KotlinModule {
|
||||
val disambiguationClassifier: String?
|
||||
val platform: KotlinPlatform
|
||||
val kotlinTaskProperties: KotlinTaskProperties
|
||||
|
||||
val konanTarget: String?
|
||||
val nativeExtensions: KotlinNativeCompilationExtensions
|
||||
|
||||
companion object {
|
||||
const val MAIN_COMPILATION_NAME = "main"
|
||||
|
||||
@@ -432,6 +432,7 @@ class KotlinMPPGradleModelBuilder : ModelBuilderService {
|
||||
it.invoke(konanTarget) as? String
|
||||
}
|
||||
}
|
||||
val nativeExtensions = KotlinNativeCompilationExtensionsImpl(konanTarget)
|
||||
|
||||
return KotlinCompilationImpl(
|
||||
gradleCompilation.name,
|
||||
@@ -441,7 +442,7 @@ class KotlinMPPGradleModelBuilder : ModelBuilderService {
|
||||
arguments,
|
||||
dependencyClasspath.toTypedArray(),
|
||||
kotlinTaskProperties,
|
||||
konanTarget
|
||||
nativeExtensions
|
||||
)
|
||||
}
|
||||
|
||||
|
||||
@@ -82,6 +82,12 @@ data class KotlinCompilationArgumentsImpl(
|
||||
)
|
||||
}
|
||||
|
||||
data class KotlinNativeCompilationExtensionsImpl(
|
||||
override val konanTarget: String? = null
|
||||
) : KotlinNativeCompilationExtensions {
|
||||
constructor(extensions: KotlinNativeCompilationExtensions) : this(extensions.konanTarget)
|
||||
}
|
||||
|
||||
data class KotlinCompilationImpl(
|
||||
override val name: String,
|
||||
override val sourceSets: Collection<KotlinSourceSet>,
|
||||
@@ -90,7 +96,7 @@ data class KotlinCompilationImpl(
|
||||
override val arguments: KotlinCompilationArguments,
|
||||
override val dependencyClasspath: Array<String>,
|
||||
override val kotlinTaskProperties: KotlinTaskProperties,
|
||||
override val konanTarget: String? = null
|
||||
override val nativeExtensions: KotlinNativeCompilationExtensions
|
||||
) : KotlinCompilation {
|
||||
|
||||
// create deep copy
|
||||
@@ -106,7 +112,7 @@ data class KotlinCompilationImpl(
|
||||
KotlinCompilationArgumentsImpl(kotlinCompilation.arguments),
|
||||
kotlinCompilation.dependencyClasspath,
|
||||
KotlinTaskPropertiesImpl(kotlinCompilation.kotlinTaskProperties),
|
||||
kotlinCompilation.konanTarget
|
||||
KotlinNativeCompilationExtensionsImpl(kotlinCompilation.nativeExtensions)
|
||||
) {
|
||||
disambiguationClassifier = kotlinCompilation.disambiguationClassifier
|
||||
platform = kotlinCompilation.platform
|
||||
|
||||
Reference in New Issue
Block a user