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 substitutedDependencies: List<ExternalDependency>
|
||||||
) {
|
) {
|
||||||
val konanTarget: String?
|
val konanTarget: String?
|
||||||
get() = compilation.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]") }
|
||||||
|
|||||||
@@ -91,6 +91,10 @@ interface KotlinCompilationArguments : Serializable {
|
|||||||
val currentArguments: Array<String>
|
val currentArguments: Array<String>
|
||||||
}
|
}
|
||||||
|
|
||||||
|
interface KotlinNativeCompilationExtensions : Serializable {
|
||||||
|
val konanTarget: String?
|
||||||
|
}
|
||||||
|
|
||||||
interface KotlinCompilation : KotlinModule {
|
interface KotlinCompilation : KotlinModule {
|
||||||
val sourceSets: Collection<KotlinSourceSet>
|
val sourceSets: Collection<KotlinSourceSet>
|
||||||
val output: KotlinCompilationOutput
|
val output: KotlinCompilationOutput
|
||||||
@@ -99,8 +103,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 konanTarget: String?
|
|
||||||
|
|
||||||
companion object {
|
companion object {
|
||||||
const val MAIN_COMPILATION_NAME = "main"
|
const val MAIN_COMPILATION_NAME = "main"
|
||||||
|
|||||||
@@ -432,6 +432,7 @@ class KotlinMPPGradleModelBuilder : ModelBuilderService {
|
|||||||
it.invoke(konanTarget) as? String
|
it.invoke(konanTarget) as? String
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
val nativeExtensions = KotlinNativeCompilationExtensionsImpl(konanTarget)
|
||||||
|
|
||||||
return KotlinCompilationImpl(
|
return KotlinCompilationImpl(
|
||||||
gradleCompilation.name,
|
gradleCompilation.name,
|
||||||
@@ -441,7 +442,7 @@ class KotlinMPPGradleModelBuilder : ModelBuilderService {
|
|||||||
arguments,
|
arguments,
|
||||||
dependencyClasspath.toTypedArray(),
|
dependencyClasspath.toTypedArray(),
|
||||||
kotlinTaskProperties,
|
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(
|
data class KotlinCompilationImpl(
|
||||||
override val name: String,
|
override val name: String,
|
||||||
override val sourceSets: Collection<KotlinSourceSet>,
|
override val sourceSets: Collection<KotlinSourceSet>,
|
||||||
@@ -90,7 +96,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 konanTarget: String? = null
|
override val nativeExtensions: KotlinNativeCompilationExtensions
|
||||||
) : KotlinCompilation {
|
) : KotlinCompilation {
|
||||||
|
|
||||||
// create deep copy
|
// create deep copy
|
||||||
@@ -106,7 +112,7 @@ data class KotlinCompilationImpl(
|
|||||||
KotlinCompilationArgumentsImpl(kotlinCompilation.arguments),
|
KotlinCompilationArgumentsImpl(kotlinCompilation.arguments),
|
||||||
kotlinCompilation.dependencyClasspath,
|
kotlinCompilation.dependencyClasspath,
|
||||||
KotlinTaskPropertiesImpl(kotlinCompilation.kotlinTaskProperties),
|
KotlinTaskPropertiesImpl(kotlinCompilation.kotlinTaskProperties),
|
||||||
kotlinCompilation.konanTarget
|
KotlinNativeCompilationExtensionsImpl(kotlinCompilation.nativeExtensions)
|
||||||
) {
|
) {
|
||||||
disambiguationClassifier = kotlinCompilation.disambiguationClassifier
|
disambiguationClassifier = kotlinCompilation.disambiguationClassifier
|
||||||
platform = kotlinCompilation.platform
|
platform = kotlinCompilation.platform
|
||||||
|
|||||||
Reference in New Issue
Block a user