diff --git a/idea/kotlin-gradle-tooling/src/KotlinMPPGradleModelBuilder.kt b/idea/kotlin-gradle-tooling/src/KotlinMPPGradleModelBuilder.kt index adf9874fc86..de8de622039 100644 --- a/idea/kotlin-gradle-tooling/src/KotlinMPPGradleModelBuilder.kt +++ b/idea/kotlin-gradle-tooling/src/KotlinMPPGradleModelBuilder.kt @@ -408,6 +408,13 @@ class KotlinMPPGradleModelBuilder : ModelBuilderService { companion object { private val logger = Logging.getLogger(KotlinMPPGradleModelBuilder::class.java) + + fun Project.getTargets(): Collection? { + val kotlinExt = project.extensions.findByName("kotlin") ?: return null + val getTargets = kotlinExt.javaClass.getMethodOrNull("getTargets") ?: return null + @Suppress("UNCHECKED_CAST") + return (getTargets.invoke(kotlinExt) as? NamedDomainObjectContainer)?.asMap?.values ?: emptyList() + } } } diff --git a/idea/kotlin-gradle-tooling/src/KotlinMPPGradleModelBuilder.kt.173 b/idea/kotlin-gradle-tooling/src/KotlinMPPGradleModelBuilder.kt.173 index 0a33a6dd690..7703cb2e483 100644 --- a/idea/kotlin-gradle-tooling/src/KotlinMPPGradleModelBuilder.kt.173 +++ b/idea/kotlin-gradle-tooling/src/KotlinMPPGradleModelBuilder.kt.173 @@ -402,6 +402,13 @@ class KotlinMPPGradleModelBuilder : ModelBuilderService { companion object { private val logger = Logging.getLogger(KotlinMPPGradleModelBuilder::class.java) + + fun Project.getTargets(): Collection? { + val kotlinExt = project.extensions.findByName("kotlin") ?: return null + val getTargets = kotlinExt.javaClass.getMethodOrNull("getTargets") ?: return null + @Suppress("UNCHECKED_CAST") + return (getTargets.invoke(kotlinExt) as? NamedDomainObjectContainer)?.asMap?.values ?: emptyList() + } } } diff --git a/idea/kotlin-gradle-tooling/src/KotlinMPPGradleModelBuilder.kt.181 b/idea/kotlin-gradle-tooling/src/KotlinMPPGradleModelBuilder.kt.181 index cd2057c265e..3f0f16661ba 100644 --- a/idea/kotlin-gradle-tooling/src/KotlinMPPGradleModelBuilder.kt.181 +++ b/idea/kotlin-gradle-tooling/src/KotlinMPPGradleModelBuilder.kt.181 @@ -408,6 +408,13 @@ class KotlinMPPGradleModelBuilder : ModelBuilderService { companion object { private val logger = Logging.getLogger(KotlinMPPGradleModelBuilder::class.java) + + fun Project.getTargets(): Collection? { + val kotlinExt = project.extensions.findByName("kotlin") ?: return null + val getTargets = kotlinExt.javaClass.getMethodOrNull("getTargets") ?: return null + @Suppress("UNCHECKED_CAST") + return (getTargets.invoke(kotlinExt) as? NamedDomainObjectContainer)?.asMap?.values ?: emptyList() + } } } diff --git a/idea/kotlin-gradle-tooling/src/KotlinMPPGradleModelBuilder.kt.as31 b/idea/kotlin-gradle-tooling/src/KotlinMPPGradleModelBuilder.kt.as31 index 0a33a6dd690..7703cb2e483 100644 --- a/idea/kotlin-gradle-tooling/src/KotlinMPPGradleModelBuilder.kt.as31 +++ b/idea/kotlin-gradle-tooling/src/KotlinMPPGradleModelBuilder.kt.as31 @@ -402,6 +402,13 @@ class KotlinMPPGradleModelBuilder : ModelBuilderService { companion object { private val logger = Logging.getLogger(KotlinMPPGradleModelBuilder::class.java) + + fun Project.getTargets(): Collection? { + val kotlinExt = project.extensions.findByName("kotlin") ?: return null + val getTargets = kotlinExt.javaClass.getMethodOrNull("getTargets") ?: return null + @Suppress("UNCHECKED_CAST") + return (getTargets.invoke(kotlinExt) as? NamedDomainObjectContainer)?.asMap?.values ?: emptyList() + } } }