wip
diff --git a/idea/idea-gradle/src/org/jetbrains/kotlin/idea/configuration/KotlinMPPGradleProjectResolver.kt b/idea/idea-gradle/src/org/jetbrains/kotlin/idea/configuration/KotlinMPPGradleProjectResolver.kt
index 3f98a72..6f8f7ca 100644
--- a/idea/idea-gradle/src/org/jetbrains/kotlin/idea/configuration/KotlinMPPGradleProjectResolver.kt
+++ b/idea/idea-gradle/src/org/jetbrains/kotlin/idea/configuration/KotlinMPPGradleProjectResolver.kt
@@ -1003,7 +1003,9 @@
resolverCtx
)
}
+
return KotlinSourceSetInfo(compilation).also { sourceSetInfo ->
+ compilation.sourceSets
sourceSetInfo.moduleId = getKotlinModuleId(gradleModule, compilation, resolverCtx)
sourceSetInfo.gradleModuleId = getModuleId(resolverCtx, gradleModule)
sourceSetInfo.actualPlatforms.addSimplePlatforms(listOf(compilation.platform))
diff --git a/idea/kotlin-gradle-tooling/src/KotlinMPPGradleModel.kt b/idea/kotlin-gradle-tooling/src/KotlinMPPGradleModel.kt
index a694046..ec9617a8 100644
--- a/idea/kotlin-gradle-tooling/src/KotlinMPPGradleModel.kt
+++ b/idea/kotlin-gradle-tooling/src/KotlinMPPGradleModel.kt
@@ -180,6 +180,7 @@
val targets: Collection<KotlinTarget>
val extraFeatures: ExtraFeatures
val kotlinNativeHome: String
+ val additionalDependsOnEdges: Map<String, String>
companion object {
const val NO_KOTLIN_NATIVE_HOME = ""
diff --git a/idea/kotlin-gradle-tooling/src/KotlinMPPGradleModelBuilder.kt b/idea/kotlin-gradle-tooling/src/KotlinMPPGradleModelBuilder.kt
index 34dc12c8..6dfdb2d 100644
--- a/idea/kotlin-gradle-tooling/src/KotlinMPPGradleModelBuilder.kt
+++ b/idea/kotlin-gradle-tooling/src/KotlinMPPGradleModelBuilder.kt
@@ -67,7 +67,8 @@
targets,
ExtraFeaturesImpl(coroutinesState, isHMPPEnabled(project), isNativeDependencyPropagationEnabled(project)),
kotlinNativeHome,
- dependencyMapper.toDependencyMap()
+ dependencyMapper.toDependencyMap(),
+ computeDependsOnAdjustment(project)
)
}
@@ -139,8 +140,7 @@
private fun calculateDependsOnClosure(
sourceSet: KotlinSourceSetImpl?,
sourceSetsMap: Map<String, KotlinSourceSetImpl>,
- cache: MutableMap<String, Set<String>>,
- additionalDependsOnEdges: Map<String, String>
+ cache: MutableMap<String, Set<String>>
): Set<String> {
return when {
sourceSet == null -> emptySet()
@@ -148,7 +148,7 @@
sourceSet.name in cache -> cache[sourceSet.name]!!
else -> {
- val immediateDependsOn = sourceSet.dependsOnSourceSets + listOfNotNull(additionalDependsOnEdges[sourceSet.name])
+ val immediateDependsOn = sourceSet.dependsOnSourceSets
val dependsOnClosure = immediateDependsOn.flatMap { name ->
calculateDependsOnClosure(
@@ -193,7 +193,6 @@
val map = allSourceSets.map { it.name to it }.toMap()
val dependsOnCache = HashMap<String, Set<String>>()
- val additionalDependsOnEdges = computeDependsOnAdjustment(project)
return allSourceSets.map { sourceSet ->
KotlinSourceSetImpl(
sourceSet.name,
@@ -201,7 +200,7 @@
sourceSet.sourceDirs,
sourceSet.resourceDirs,
sourceSet.dependencies,
- calculateDependsOnClosure(sourceSet, map, dependsOnCache, additionalDependsOnEdges),
+ calculateDependsOnClosure(sourceSet, map, dependsOnCache),
sourceSet.actualPlatforms as KotlinPlatformContainerImpl,
sourceSet.isTestModule
)
diff --git a/idea/kotlin-gradle-tooling/src/KotlinMPPGradleModelImpl.kt b/idea/kotlin-gradle-tooling/src/KotlinMPPGradleModelImpl.kt
index 32b66df..a454707 100644
--- a/idea/kotlin-gradle-tooling/src/KotlinMPPGradleModelImpl.kt
+++ b/idea/kotlin-gradle-tooling/src/KotlinMPPGradleModelImpl.kt
@@ -227,7 +227,8 @@
override val targets: Collection<KotlinTarget>,
override val extraFeatures: ExtraFeatures,
override val kotlinNativeHome: String,
- override val dependencyMap: Map<KotlinDependencyId, KotlinDependency>
+ override val dependencyMap: Map<KotlinDependencyId, KotlinDependency>,
+ override val additionalDependsOnEdges: Map<String, String>,
) : KotlinMPPGradleModel {
constructor(mppModel: KotlinMPPGradleModel, cloningCache: MutableMap<Any, Any>) : this(
@@ -248,7 +249,8 @@
mppModel.extraFeatures.isNativeDependencyPropagationEnabled
),
mppModel.kotlinNativeHome,
- mppModel.dependencyMap.map { it.key to it.value.deepCopy(cloningCache) }.toMap()
+ mppModel.dependencyMap.map { it.key to it.value.deepCopy(cloningCache) }.toMap(),
+ mppModel.additionalDependsOnEdges
)
}
diff --git a/idea/testData/gradle/importAndCheckHighlighting/dependsOnInAndroidProjectWithFlavours/app/BootstrapMobileMppApp.app.intermediate.iml b/idea/testData/gradle/importAndCheckHighlighting/dependsOnInAndroidProjectWithFlavours/app/BootstrapMobileMppApp.app.intermediate.iml
new file mode 100644
index 0000000..736c66b
--- /dev/null
+++ b/idea/testData/gradle/importAndCheckHighlighting/dependsOnInAndroidProjectWithFlavours/app/BootstrapMobileMppApp.app.intermediate.iml
@@ -0,0 +1,40 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<module version="4">
+ <component name="FacetManager">
+ <facet type="kotlin-language" name="Kotlin">
+ <configuration version="3" platform="Common (experimental) " allPlatforms="JS []/JVM [1.6]/Native []" useProjectSettings="false" isTestModule="false" externalProjectId=":app">
+ <dependsOnModuleNames>:app:commonMain</dependsOnModuleNames>
+ <newMppModelJpsModuleKind>SOURCE_SET_HOLDER</newMppModelJpsModuleKind>
+ <compilerSettings />
+ <compilerArguments>
+ <option name="languageVersion" value="1.3" />
+ <option name="apiVersion" value="1.3" />
+ <option name="pluginOptions">
+ <array>
+ <option value="plugin:org.jetbrains.kotlin.android:experimental=false" />
+ <option value="plugin:org.jetbrains.kotlin.android:enabled=true" />
+ <option value="plugin:org.jetbrains.kotlin.android:defaultCacheImplementation=hashMap" />
+ </array>
+ </option>
+ <option name="pluginClasspaths">
+ <array>
+ <option value="$USER_HOME$/.gradle/caches/modules-2/files-2.1/org.jetbrains.kotlin/kotlin-android-extensions/1.3.50/f16428b9ce307d0f5842bd8ed9af1e43a141edd3/kotlin-android-extensions-1.3.50.jar" />
+ <option value="$USER_HOME$/.gradle/caches/modules-2/files-2.1/org.jetbrains.kotlin/kotlin-compiler-embeddable/1.3.50/1251c1768e5769b06c2487d6f6cf8acf6efb8960/kotlin-compiler-embeddable-1.3.50.jar" />
+ <option value="$USER_HOME$/.gradle/caches/modules-2/files-2.1/org.jetbrains.kotlin/kotlin-scripting-jvm/1.3.50/53f579e1bee3dab3df915d923ad1bb43bc37cd18/kotlin-scripting-jvm-1.3.50.jar" />
+ <option value="$USER_HOME$/.gradle/caches/modules-2/files-2.1/org.jetbrains.kotlin/kotlin-scripting-common/1.3.50/b8e0110c386c08f46a8c5e45b8c64aece1914867/kotlin-scripting-common-1.3.50.jar" />
+ <option value="$USER_HOME$/.gradle/caches/modules-2/files-2.1/org.jetbrains.kotlin/kotlin-reflect/1.3.50/b499f22fd7c3e9c2e5b6c4005221fa47fc7f9a7a/kotlin-reflect-1.3.50.jar" />
+ <option value="$USER_HOME$/.gradle/caches/modules-2/files-2.1/org.jetbrains.kotlin/kotlin-stdlib/1.3.50/b529d1738c7e98bbfa36a4134039528f2ce78ebf/kotlin-stdlib-1.3.50.jar" />
+ <option value="$USER_HOME$/.gradle/caches/modules-2/files-2.1/org.jetbrains.kotlin/kotlin-script-runtime/1.3.50/59492b8dfb92522ba0ddb5dd1c4d0ef0a4fca1af/kotlin-script-runtime-1.3.50.jar" />
+ <option value="$USER_HOME$/.gradle/caches/modules-2/files-2.1/org.jetbrains.kotlin/kotlin-daemon-embeddable/1.3.50/5cb93bb33f4c6f833ead0beca4c831668e00cf52/kotlin-daemon-embeddable-1.3.50.jar" />
+ <option value="$USER_HOME$/.gradle/caches/modules-2/files-2.1/org.jetbrains.intellij.deps/trove4j/1.0.20181211/216c2e14b070f334479d800987affe4054cd563f/trove4j-1.0.20181211.jar" />
+ <option value="$USER_HOME$/.gradle/caches/modules-2/files-2.1/org.jetbrains.kotlinx/kotlinx-coroutines-core/1.1.1/3d2b7321cdef9ebf9cb7729ea4f75a6f6457df86/kotlinx-coroutines-core-1.1.1.jar" />
+ <option value="$USER_HOME$/.gradle/caches/modules-2/files-2.1/org.jetbrains.kotlin/kotlin-stdlib-common/1.3.50/3d9cd3e1bc7b92e95f43d45be3bfbcf38e36ab87/kotlin-stdlib-common-1.3.50.jar" />
+ <option value="$USER_HOME$/.gradle/caches/modules-2/files-2.1/org.jetbrains/annotations/13.0/919f0dfe192fb4e063e7dacadee7f8bb9a2672a9/annotations-13.0.jar" />
+ </array>
+ </option>
+ <option name="multiPlatform" value="true" />
+ </compilerArguments>
+ </configuration>
+ </facet>
+ </component>
+</module>
\ No newline at end of file
diff --git a/idea/testData/gradle/importAndCheckHighlighting/dependsOnInAndroidProjectWithFlavours/app/Info.plist b/idea/testData/gradle/importAndCheckHighlighting/dependsOnInAndroidProjectWithFlavours/app/Info.plist
new file mode 100644
index 0000000..cf2d46d5
--- /dev/null
+++ b/idea/testData/gradle/importAndCheckHighlighting/dependsOnInAndroidProjectWithFlavours/app/Info.plist
@@ -0,0 +1,22 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "https://www.apple.com/DTDs/PropertyList-1.0.dtd">
+<plist version="1.0">
+<dict>
+ <key>CFBundleDevelopmentRegion</key>
+ <string>$(DEVELOPMENT_LANGUAGE)</string>
+ <key>CFBundleExecutable</key>
+ <string>$(EXECUTABLE_NAME)</string>
+ <key>CFBundleIdentifier</key>
+ <string>$(PRODUCT_BUNDLE_IDENTIFIER)</string>
+ <key>CFBundleInfoDictionaryVersion</key>
+ <string>6.0</string>
+ <key>CFBundleName</key>
+ <string>$(PRODUCT_NAME)</string>
+ <key>CFBundleShortVersionString</key>
+ <string>1.0</string>
+ <key>CFBundleVersion</key>
+ <string>1</string>
+ <key>CFBundlePackageType</key>
+ <string>FMWK</string>
+</dict>
+</plist>
\ No newline at end of file
diff --git a/idea/testData/gradle/importAndCheckHighlighting/dependsOnInAndroidProjectWithFlavours/app/app.iml b/idea/testData/gradle/importAndCheckHighlighting/dependsOnInAndroidProjectWithFlavours/app/app.iml
new file mode 100644
index 0000000..4bccf2c
--- /dev/null
+++ b/idea/testData/gradle/importAndCheckHighlighting/dependsOnInAndroidProjectWithFlavours/app/app.iml
@@ -0,0 +1,76 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<module version="4">
+ <component name="FacetManager">
+ <facet type="android-gradle" name="Android-Gradle">
+ <configuration>
+ <option name="GRADLE_PROJECT_PATH" value=":app" />
+ <option name="LAST_SUCCESSFUL_SYNC_AGP_VERSION" value="4.0.0-beta01" />
+ <option name="LAST_KNOWN_AGP_VERSION" value="4.0.0-beta01" />
+ </configuration>
+ </facet>
+ <facet type="android" name="Android">
+ <configuration>
+ <option name="SELECTED_BUILD_VARIANT" value="demoDebug" />
+ <option name="ASSEMBLE_TASK_NAME" value="assembleDemoDebug" />
+ <option name="COMPILE_JAVA_TASK_NAME" value="compileDemoDebugSources" />
+ <afterSyncTasks>
+ <task>generateDemoDebugSources</task>
+ </afterSyncTasks>
+ <option name="ALLOW_USER_CONFIGURATION" value="false" />
+ <option name="MANIFEST_FILE_RELATIVE_PATH" value="/src/main/AndroidManifest.xml" />
+ <option name="RES_FOLDER_RELATIVE_PATH" value="/src/main/res" />
+ <option name="RES_FOLDERS_RELATIVE_PATH" value="file://$MODULE_DIR$/src/main/res;file://$MODULE_DIR$/src/demo/res;file://$MODULE_DIR$/src/debug/res;file://$MODULE_DIR$/src/demoDebug/res;file://$MODULE_DIR$/build/generated/res/rs/demo/debug" />
+ <option name="TEST_RES_FOLDERS_RELATIVE_PATH" value="file://$MODULE_DIR$/src/androidTest/res;file://$MODULE_DIR$/src/test/res;file://$MODULE_DIR$/src/androidTestDemo/res;file://$MODULE_DIR$/src/testDemo/res;file://$MODULE_DIR$/src/androidTestDebug/res;file://$MODULE_DIR$/src/testDebug/res;file://$MODULE_DIR$/build/generated/res/rs/androidTest/demo/debug" />
+ <option name="ASSETS_FOLDER_RELATIVE_PATH" value="/src/main/assets" />
+ </configuration>
+ </facet>
+ <facet type="kotlin-language" name="Kotlin">
+ <configuration version="3" platform="JVM 1.6" allPlatforms="JVM [1.6]" useProjectSettings="false" isTestModule="false" externalProjectId=":app" isHmppProject="true" pureKotlinSourceFolders="$MODULE_DIR$/src/commonMain/kotlin">
+ <dependsOnModuleNames>:app:commonMain</dependsOnModuleNames>
+ <sourceSets>
+ <sourceSet>app_commonMain</sourceSet>
+ </sourceSets>
+ <newMppModelJpsModuleKind>COMPILATION_AND_SOURCE_SET_HOLDER</newMppModelJpsModuleKind>
+ <compilerSettings>
+ <option name="additionalArguments" value="-Xallow-no-source-files" />
+ </compilerSettings>
+ <compilerArguments>
+ <option name="destination" value="$MODULE_DIR$/build/tmp/kotlin-classes/demoDebug" />
+ <option name="classpath" value="$MAVEN_REPOSITORY$/org/jetbrains/kotlin/kotlin-android-extensions-runtime/1.4.0-DEPENDS-ON-FIX/kotlin-android-extensions-runtime-1.4.0-DEPENDS-ON-FIX.jar:/Users/dmitry.savvinov/.m2/repository/org/jetbrains/kotlin/kotlin-stdlib/1.4.0-DEPENDS-ON-FIX/kotlin-stdlib-1.4.0-DEPENDS-ON-FIX.jar:/Users/dmitry.savvinov/.m2/repository/org/jetbrains/kotlin/kotlin-stdlib-common/1.4.0-DEPENDS-ON-FIX/kotlin-stdlib-common-1.4.0-DEPENDS-ON-FIX.jar:/Users/dmitry.savvinov/.gradle/caches/modules-2/files-2.1/org.jetbrains/annotations/13.0/919f0dfe192fb4e063e7dacadee7f8bb9a2672a9/annotations-13.0.jar:/Users/dmitry.savvinov/.gradle/caches/transforms-2/files-2.1/86dd9a70bdb111fbe04a4afc9e69c5a5/appcompat-v7-28.0.0-api.jar:/Users/dmitry.savvinov/.gradle/caches/transforms-2/files-2.1/77d151531c713f743e1b8485d5864411/support-fragment-28.0.0-api.jar:/Users/dmitry.savvinov/.gradle/caches/transforms-2/files-2.1/fe9357c538adde99d11e6fe2fd3543b3/animated-vector-drawable-28.0.0-api.jar:/Users/dmitry.savvinov/.gradle/caches/transforms-2/files-2.1/87b205d41f577e170e7e6dba3001b199/support-core-ui-28.0.0-api.jar:/Users/dmitry.savvinov/.gradle/caches/transforms-2/files-2.1/d6b8d245936d3ba7ed7b1bc612fa72a3/support-core-utils-28.0.0-api.jar:/Users/dmitry.savvinov/.gradle/caches/transforms-2/files-2.1/1631b0392f1c3385851270f29b595f44/support-vector-drawable-28.0.0-api.jar:/Users/dmitry.savvinov/.gradle/caches/transforms-2/files-2.1/dc6fc397fecfbeeb0c32eb41eca34497/loader-28.0.0-api.jar:/Users/dmitry.savvinov/.gradle/caches/transforms-2/files-2.1/9f60c98728584a0c2618cc4b41fba8af/viewpager-28.0.0-api.jar:/Users/dmitry.savvinov/.gradle/caches/transforms-2/files-2.1/a6dd167862c4f84ea1a939ae07d9eafd/coordinatorlayout-28.0.0-api.jar:/Users/dmitry.savvinov/.gradle/caches/transforms-2/files-2.1/9c768bb3b528e6a4a49109c3397e6af5/drawerlayout-28.0.0-api.jar:/Users/dmitry.savvinov/.gradle/caches/transforms-2/files-2.1/c8c63b66323ef351c371ea34b48c0032/slidingpanelayout-28.0.0-api.jar:/Users/dmitry.savvinov/.gradle/caches/transforms-2/files-2.1/1d07e9830f256f041c1180a940fac7fc/customview-28.0.0-api.jar:/Users/dmitry.savvinov/.gradle/caches/transforms-2/files-2.1/adf9e0dd0df529c4fcfe42969151db4e/swiperefreshlayout-28.0.0-api.jar:/Users/dmitry.savvinov/.gradle/caches/transforms-2/files-2.1/0790d855ee63993c1698218cfcb64447/asynclayoutinflater-28.0.0-api.jar:/Users/dmitry.savvinov/.gradle/caches/transforms-2/files-2.1/a97efbb118e334e907a5f8f11450a2cd/support-compat-28.0.0-api.jar:/Users/dmitry.savvinov/.gradle/caches/transforms-2/files-2.1/170066e41f62750c87c479e4142f2ff5/versionedparcelable-28.0.0-api.jar:/Users/dmitry.savvinov/.gradle/caches/modules-2/files-2.1/com.android.support/collections/28.0.0/c1bcdade4d3cc2836130424a3f3e4182c666a745/collections-28.0.0.jar:/Users/dmitry.savvinov/.gradle/caches/transforms-2/files-2.1/5c809f15fb03d1c12374755cbaf45edc/cursoradapter-28.0.0-api.jar:/Users/dmitry.savvinov/.gradle/caches/transforms-2/files-2.1/c38f7d829d2a1a4e0c25d3739dbc4fb9/runtime-1.1.1-api.jar:/Users/dmitry.savvinov/.gradle/caches/transforms-2/files-2.1/3bb61bf0599d14fbe0d1fd5fb7e22d16/documentfile-28.0.0-api.jar:/Users/dmitry.savvinov/.gradle/caches/transforms-2/files-2.1/e293da7a0e161b04fd431f06ac780448/localbroadcastmanager-28.0.0-api.jar:/Users/dmitry.savvinov/.gradle/caches/transforms-2/files-2.1/ed449f62628ab7d874d61525b88483c6/print-28.0.0-api.jar:/Users/dmitry.savvinov/.gradle/caches/transforms-2/files-2.1/1f029d09e0d3812d6179e96a174430c2/viewmodel-1.1.1-api.jar:/Users/dmitry.savvinov/.gradle/caches/transforms-2/files-2.1/0dbbf08234e59a57e66c6461476a9f66/livedata-1.1.1-api.jar:/Users/dmitry.savvinov/.gradle/caches/transforms-2/files-2.1/01469e3e60782774f6955eb49b48b62a/livedata-core-1.1.1-api.jar:/Users/dmitry.savvinov/.gradle/caches/modules-2/files-2.1/android.arch.lifecycle/common/1.1.1/207a6efae6a3555e326de41f76bdadd9a239cbce/common-1.1.1.jar:/Users/dmitry.savvinov/.gradle/caches/transforms-2/files-2.1/955762e1526d7a970bd78c7df80d425c/runtime-1.1.1-api.jar:/Users/dmitry.savvinov/.gradle/caches/modules-2/files-2.1/android.arch.core/common/1.1.1/e55b70d1f5620db124b3e85a7f4bdc7bd48d9f95/common-1.1.1.jar:/Users/dmitry.savvinov/.gradle/caches/transforms-2/files-2.1/8beba86e5c2d64a519a944a5ede5adf0/interpolator-28.0.0-api.jar:/Users/dmitry.savvinov/.gradle/caches/modules-2/files-2.1/com.android.support/support-annotations/28.0.0/ed73f5337a002d1fd24339d5fb08c2c9d9ca60d8/support-annotations-28.0.0.jar:/Users/dmitry.savvinov/.gradle/caches/transforms-2/files-2.1/d2b9d9c4a89334fcea884a5fa37ed440/constraint-layout-1.1.3-api.jar:/Users/dmitry.savvinov/.gradle/caches/modules-2/files-2.1/com.android.support.constraint/constraint-layout-solver/1.1.3/bde0667d7414c16ed62d3cfe993cff7f9d732373/constraint-layout-solver-1.1.3.jar:/Users/dmitry.savvinov/Library/Android/sdk/platforms/android-28/android.jar" />
+ <option name="noStdlib" value="true" />
+ <option name="noReflect" value="true" />
+ <option name="moduleName" value="app_demoDebug" />
+ <option name="languageVersion" value="1.4" />
+ <option name="apiVersion" value="1.4" />
+ <option name="pluginOptions">
+ <array>
+ <option value="plugin:org.jetbrains.kotlin.android:experimental=false" />
+ <option value="plugin:org.jetbrains.kotlin.android:enabled=true" />
+ <option value="plugin:org.jetbrains.kotlin.android:defaultCacheImplementation=hashMap" />
+ </array>
+ </option>
+ <option name="pluginClasspaths">
+ <array>
+ <option value="$USER_HOME$/.gradle/caches/modules-2/files-2.1/org.jetbrains.intellij.deps/trove4j/1.0.20181211/216c2e14b070f334479d800987affe4054cd563f/trove4j-1.0.20181211.jar" />
+ <option value="$USER_HOME$/.gradle/caches/modules-2/files-2.1/org.jetbrains.kotlinx/kotlinx-coroutines-core/1.2.1/3839faf625f4197acaeceeb6da000f011a2acb49/kotlinx-coroutines-core-1.2.1.jar" />
+ <option value="$USER_HOME$/.gradle/caches/modules-2/files-2.1/org.jetbrains/annotations/13.0/919f0dfe192fb4e063e7dacadee7f8bb9a2672a9/annotations-13.0.jar" />
+ <option value="$MAVEN_REPOSITORY$/org/jetbrains/kotlin/kotlin-android-extensions/1.4.0-DEPENDS-ON-FIX/kotlin-android-extensions-1.4.0-DEPENDS-ON-FIX.jar" />
+ <option value="$MAVEN_REPOSITORY$/org/jetbrains/kotlin/kotlin-compiler-embeddable/1.4.0-DEPENDS-ON-FIX/kotlin-compiler-embeddable-1.4.0-DEPENDS-ON-FIX.jar" />
+ <option value="$MAVEN_REPOSITORY$/org/jetbrains/kotlin/kotlin-daemon-embeddable/1.4.0-DEPENDS-ON-FIX/kotlin-daemon-embeddable-1.4.0-DEPENDS-ON-FIX.jar" />
+ <option value="$MAVEN_REPOSITORY$/org/jetbrains/kotlin/kotlin-reflect/1.4.0-DEPENDS-ON-FIX/kotlin-reflect-1.4.0-DEPENDS-ON-FIX.jar" />
+ <option value="$MAVEN_REPOSITORY$/org/jetbrains/kotlin/kotlin-script-runtime/1.4.0-DEPENDS-ON-FIX/kotlin-script-runtime-1.4.0-DEPENDS-ON-FIX.jar" />
+ <option value="$MAVEN_REPOSITORY$/org/jetbrains/kotlin/kotlin-scripting-common/1.4.0-DEPENDS-ON-FIX/kotlin-scripting-common-1.4.0-DEPENDS-ON-FIX.jar" />
+ <option value="$MAVEN_REPOSITORY$/org/jetbrains/kotlin/kotlin-scripting-jvm/1.4.0-DEPENDS-ON-FIX/kotlin-scripting-jvm-1.4.0-DEPENDS-ON-FIX.jar" />
+ <option value="$MAVEN_REPOSITORY$/org/jetbrains/kotlin/kotlin-stdlib-common/1.4.0-DEPENDS-ON-FIX/kotlin-stdlib-common-1.4.0-DEPENDS-ON-FIX.jar" />
+ <option value="$MAVEN_REPOSITORY$/org/jetbrains/kotlin/kotlin-stdlib/1.4.0-DEPENDS-ON-FIX/kotlin-stdlib-1.4.0-DEPENDS-ON-FIX.jar" />
+ </array>
+ </option>
+ <option name="multiPlatform" value="true" />
+ <option name="errors">
+ <ArgumentParseErrors />
+ </option>
+ </compilerArguments>
+ </configuration>
+ </facet>
+ </component>
+</module>
\ No newline at end of file
diff --git a/idea/testData/gradle/importAndCheckHighlighting/dependsOnInAndroidProjectWithFlavours/app/build.gradle b/idea/testData/gradle/importAndCheckHighlighting/dependsOnInAndroidProjectWithFlavours/app/build.gradle
new file mode 100644
index 0000000..56ca420
--- /dev/null
+++ b/idea/testData/gradle/importAndCheckHighlighting/dependsOnInAndroidProjectWithFlavours/app/build.gradle
@@ -0,0 +1,164 @@
+plugins {
+// id 'org.jetbrains.kotlin.multiplatform' version '1.3.70-eap-42'
+ id 'org.jetbrains.kotlin.multiplatform' version '1.4.0-DEPENDS-ON-FIX'
+// id 'org.jetbrains.kotlin.multiplatform' version '1.4.0-dev-1347'
+}
+
+repositories {
+ google()
+ jcenter()
+ maven { url "https://buildserver.labs.intellij.net/guestAuth/app/rest/builds/buildType:(id:Kotlin_KotlinDev_AggregateBranch),number:1.4.0-dev-1347,branch:(default:any)/artifacts/content/maven/" }
+ maven { url 'https://oss.sonatype.org/content/repositories/snapshots' }
+ maven { url "https://dl.bintray.com/kotlin/kotlin-dev" }
+ mavenCentral()
+ mavenLocal()
+}
+
+apply plugin: 'com.android.application'
+apply plugin: 'kotlin-android-extensions'
+
+android {
+ compileSdkVersion 28
+ defaultConfig {
+ applicationId 'org.jetbrains.kotlin.mpp_app_android'
+ minSdkVersion 15
+ targetSdkVersion 28
+ versionCode 1
+ versionName '1.0'
+ testInstrumentationRunner 'android.support.test.runner.AndroidJUnitRunner'
+ }
+ buildTypes {
+ release {
+ minifyEnabled false
+ }
+ }
+
+ flavorDimensions "version"
+ productFlavors {
+ demo {
+ // Assigns this product flavor to the "version" flavor dimension.
+ // If you are using only one dimension, this property is optional,
+ // and the plugin automatically assigns all the module's flavors to
+ // that dimension.
+ dimension "version"
+ applicationIdSuffix ".demo"
+ versionNameSuffix "-demo"
+ }
+ full {
+ dimension "version"
+ applicationIdSuffix ".full"
+ versionNameSuffix "-full"
+ }
+ }
+}
+
+dependencies {
+ implementation fileTree(dir: 'libs', include: ['*.jar'])
+ implementation 'com.android.support:appcompat-v7:28.0.0'
+ implementation 'com.android.support.constraint:constraint-layout:1.1.3'
+ androidTestImplementation 'com.android.support.test:runner:1.0.2'
+}
+
+kotlin {
+ android("android")
+ // This is for iPhone emulator
+ // Switch here to iosArm64 (or iosArm32) to build library for iPhone device
+ iosX64("iosX64") {
+ binaries {
+ framework()
+ }
+ }
+// macosX64("macos") {
+// binaries {
+// framework()
+// }
+// }
+ iosArm64("iosArm64") {
+ binaries {
+ framework()
+ }
+ }
+
+ sourceSets {
+ commonMain {
+ dependencies {
+ implementation kotlin('stdlib-common')
+ }
+ }
+ commonTest {
+ dependencies {
+ implementation kotlin('test-common')
+ implementation kotlin('test-annotations-common')
+ }
+ }
+
+ iosMain {
+ dependsOn commonMain
+ }
+
+ iosTest {
+ dependsOn commonTest
+ }
+
+ iosX64Main {
+ dependsOn iosMain
+ }
+
+ iosX64Test {
+ dependsOn iosTest
+ }
+
+ iosArm64Main {
+ dependsOn iosMain
+ }
+
+ iosArm64Test {
+ dependsOn iosTest
+ }
+
+ macosMain.dependsOn(iosMain)
+ macosTest.dependsOn(iosTest)
+
+ androidMain {
+// dependsOn commonMain // KT-33809 :(
+
+ dependencies {
+ implementation kotlin('stdlib')
+ }
+ }
+ androidTest {
+ dependencies {
+ implementation kotlin('test')
+ implementation kotlin('test-junit')
+ }
+ }
+ }
+}
+
+
+// This task attaches native framework built from ios module to Xcode project
+// (see iosApp directory). Don't run this task directly,
+// Xcode runs this task itself during its build process.
+// Before opening the project from iosApp directory in Xcode,
+// make sure all Gradle infrastructure exists (gradle.wrapper, gradlew).
+task copyFramework {
+ def buildType = project.findProperty('kotlin.build.type') ?: 'DEBUG'
+ def target = 'iosX64'
+ dependsOn kotlin.targets."$target".binaries.getFramework(buildType).linkTask
+
+ doLast {
+ def srcFile = kotlin.targets."$target".binaries.getFramework(buildType).outputFile
+ def targetDir = getProperty('configuration.build.dir')
+ copy {
+ from srcFile.parent
+ into targetDir
+ include 'app.framework/**'
+ include 'app.framework.dSYM'
+ }
+ }
+}
+
+afterEvaluate {
+ println("Android:")
+ kotlin.targets["android"].compilations.all { println(it.name + " " + it.allKotlinSourceSets.collect {it.name}) }
+}
\ No newline at end of file
diff --git a/idea/testData/gradle/importAndCheckHighlighting/dependsOnInAndroidProjectWithFlavours/app/src/androidTest/kotlin/Foo.kt b/idea/testData/gradle/importAndCheckHighlighting/dependsOnInAndroidProjectWithFlavours/app/src/androidTest/kotlin/Foo.kt
new file mode 100644
index 0000000..97855dd
--- /dev/null
+++ b/idea/testData/gradle/importAndCheckHighlighting/dependsOnInAndroidProjectWithFlavours/app/src/androidTest/kotlin/Foo.kt
@@ -0,0 +1,3 @@
+
+
+expect fun androidTest(): Int
\ No newline at end of file
diff --git a/idea/testData/gradle/importAndCheckHighlighting/dependsOnInAndroidProjectWithFlavours/app/src/androidTestDebug/kotlin/Foo.kt b/idea/testData/gradle/importAndCheckHighlighting/dependsOnInAndroidProjectWithFlavours/app/src/androidTestDebug/kotlin/Foo.kt
new file mode 100644
index 0000000..a47b106
--- /dev/null
+++ b/idea/testData/gradle/importAndCheckHighlighting/dependsOnInAndroidProjectWithFlavours/app/src/androidTestDebug/kotlin/Foo.kt
@@ -0,0 +1 @@
+actual fun androidTest(): Int = 42
\ No newline at end of file
diff --git a/idea/testData/gradle/importAndCheckHighlighting/dependsOnInAndroidProjectWithFlavours/app/src/androidTestDemo/kotlin/Foo.kt b/idea/testData/gradle/importAndCheckHighlighting/dependsOnInAndroidProjectWithFlavours/app/src/androidTestDemo/kotlin/Foo.kt
new file mode 100644
index 0000000..a47b106
--- /dev/null
+++ b/idea/testData/gradle/importAndCheckHighlighting/dependsOnInAndroidProjectWithFlavours/app/src/androidTestDemo/kotlin/Foo.kt
@@ -0,0 +1 @@
+actual fun androidTest(): Int = 42
\ No newline at end of file
diff --git a/idea/testData/gradle/importAndCheckHighlighting/dependsOnInAndroidProjectWithFlavours/app/src/androidTestDemoDebug/kotlin/Foo.kt b/idea/testData/gradle/importAndCheckHighlighting/dependsOnInAndroidProjectWithFlavours/app/src/androidTestDemoDebug/kotlin/Foo.kt
new file mode 100644
index 0000000..7d3ff55
--- /dev/null
+++ b/idea/testData/gradle/importAndCheckHighlighting/dependsOnInAndroidProjectWithFlavours/app/src/androidTestDemoDebug/kotlin/Foo.kt
@@ -0,0 +1,5 @@
+import smaple.foo
+
+actual fun androidTestDebug(): Int = 42
+
+val x = foo()
\ No newline at end of file
diff --git a/idea/testData/gradle/importAndCheckHighlighting/dependsOnInAndroidProjectWithFlavours/app/src/androidTestFullDebug/kotlin/Foo.kt b/idea/testData/gradle/importAndCheckHighlighting/dependsOnInAndroidProjectWithFlavours/app/src/androidTestFullDebug/kotlin/Foo.kt
new file mode 100644
index 0000000..0456284
--- /dev/null
+++ b/idea/testData/gradle/importAndCheckHighlighting/dependsOnInAndroidProjectWithFlavours/app/src/androidTestFullDebug/kotlin/Foo.kt
@@ -0,0 +1,8 @@
+package smaple
+
+import androidTestDebug
+
+
+fun foo() {
+ androidTestDebug()
+}
\ No newline at end of file
diff --git a/idea/testData/gradle/importAndCheckHighlighting/dependsOnInAndroidProjectWithFlavours/app/src/commonMain/kotlin/sample/Sample.kt b/idea/testData/gradle/importAndCheckHighlighting/dependsOnInAndroidProjectWithFlavours/app/src/commonMain/kotlin/sample/Sample.kt
new file mode 100644
index 0000000..6a398f7
--- /dev/null
+++ b/idea/testData/gradle/importAndCheckHighlighting/dependsOnInAndroidProjectWithFlavours/app/src/commonMain/kotlin/sample/Sample.kt
@@ -0,0 +1,3 @@
+package sample
+
+expect fun getCurrentPlatform(): String
diff --git a/idea/testData/gradle/importAndCheckHighlighting/dependsOnInAndroidProjectWithFlavours/app/src/commonTest/kotlin/sample/SampleTests.kt b/idea/testData/gradle/importAndCheckHighlighting/dependsOnInAndroidProjectWithFlavours/app/src/commonTest/kotlin/sample/SampleTests.kt
new file mode 100644
index 0000000..9b7baef
--- /dev/null
+++ b/idea/testData/gradle/importAndCheckHighlighting/dependsOnInAndroidProjectWithFlavours/app/src/commonTest/kotlin/sample/SampleTests.kt
@@ -0,0 +1,11 @@
+package sample
+
+import kotlin.test.Test
+import kotlin.test.assertTrue
+
+class SampleTests { // MMPP-177
+ @Test
+ fun testMe() {
+ println()
+ }
+}
\ No newline at end of file
diff --git a/idea/testData/gradle/importAndCheckHighlighting/dependsOnInAndroidProjectWithFlavours/app/src/debug/kotlin/Foo.kt b/idea/testData/gradle/importAndCheckHighlighting/dependsOnInAndroidProjectWithFlavours/app/src/debug/kotlin/Foo.kt
new file mode 100644
index 0000000..6824ce3
--- /dev/null
+++ b/idea/testData/gradle/importAndCheckHighlighting/dependsOnInAndroidProjectWithFlavours/app/src/debug/kotlin/Foo.kt
@@ -0,0 +1 @@
+package othe
\ No newline at end of file
diff --git a/idea/testData/gradle/importAndCheckHighlighting/dependsOnInAndroidProjectWithFlavours/app/src/demo/kotlin/bar.kt b/idea/testData/gradle/importAndCheckHighlighting/dependsOnInAndroidProjectWithFlavours/app/src/demo/kotlin/bar.kt
new file mode 100644
index 0000000..22185dd
--- /dev/null
+++ b/idea/testData/gradle/importAndCheckHighlighting/dependsOnInAndroidProjectWithFlavours/app/src/demo/kotlin/bar.kt
@@ -0,0 +1 @@
+val y = foo()
\ No newline at end of file
diff --git a/idea/testData/gradle/importAndCheckHighlighting/dependsOnInAndroidProjectWithFlavours/app/src/demoRelease/kotlin/foo.kt b/idea/testData/gradle/importAndCheckHighlighting/dependsOnInAndroidProjectWithFlavours/app/src/demoRelease/kotlin/foo.kt
new file mode 100644
index 0000000..5730b06
--- /dev/null
+++ b/idea/testData/gradle/importAndCheckHighlighting/dependsOnInAndroidProjectWithFlavours/app/src/demoRelease/kotlin/foo.kt
@@ -0,0 +1 @@
+fun foo(): Int = 42
\ No newline at end of file
diff --git a/idea/testData/gradle/importAndCheckHighlighting/dependsOnInAndroidProjectWithFlavours/app/src/main/AndroidManifest.xml b/idea/testData/gradle/importAndCheckHighlighting/dependsOnInAndroidProjectWithFlavours/app/src/main/AndroidManifest.xml
new file mode 100644
index 0000000..2ef0dbe
--- /dev/null
+++ b/idea/testData/gradle/importAndCheckHighlighting/dependsOnInAndroidProjectWithFlavours/app/src/main/AndroidManifest.xml
@@ -0,0 +1,19 @@
+<?xml version="1.0" encoding="utf-8"?>
+<manifest xmlns:android="http://schemas.android.com/apk/res/android"
+ package="sample">
+
+ <application
+ android:allowBackup="true"
+ android:label="@string/app_name"
+ android:supportsRtl="true"
+ android:theme="@style/AppTheme">
+ <activity android:name="sample.MainActivity">
+ <intent-filter>
+ <action android:name="android.intent.action.MAIN" />
+
+ <category android:name="android.intent.category.LAUNCHER" />
+ </intent-filter>
+ </activity>
+ </application>
+
+</manifest>
\ No newline at end of file
diff --git a/idea/testData/gradle/importAndCheckHighlighting/dependsOnInAndroidProjectWithFlavours/app/src/main/kotlin/othe/Foo.kt b/idea/testData/gradle/importAndCheckHighlighting/dependsOnInAndroidProjectWithFlavours/app/src/main/kotlin/othe/Foo.kt
new file mode 100644
index 0000000..b19d5af
--- /dev/null
+++ b/idea/testData/gradle/importAndCheckHighlighting/dependsOnInAndroidProjectWithFlavours/app/src/main/kotlin/othe/Foo.kt
@@ -0,0 +1,9 @@
+package othe
+
+import sample.*
+
+fun usage() {
+ getCurrentPlatform()
+}
+
+expect class Bak
\ No newline at end of file
diff --git a/idea/testData/gradle/importAndCheckHighlighting/dependsOnInAndroidProjectWithFlavours/app/src/main/kotlin/sample/SampleAndroid.kt b/idea/testData/gradle/importAndCheckHighlighting/dependsOnInAndroidProjectWithFlavours/app/src/main/kotlin/sample/SampleAndroid.kt
new file mode 100644
index 0000000..f0f6cc9
--- /dev/null
+++ b/idea/testData/gradle/importAndCheckHighlighting/dependsOnInAndroidProjectWithFlavours/app/src/main/kotlin/sample/SampleAndroid.kt
@@ -0,0 +1,15 @@
+package sample
+
+import android.support.v7.app.AppCompatActivity
+import android.os.Bundle
+import android.widget.TextView
+
+
+class MainActivity : AppCompatActivity() {
+
+ override fun onCreate(savedInstanceState: Bundle?) {
+ super.onCreate(savedInstanceState)
+ setContentView(R.layout.activity_main)
+ findViewById<TextView>(R.id.main_text).text = Proxy().proxyHello()
+ }
+}
\ No newline at end of file
diff --git a/idea/testData/gradle/importAndCheckHighlighting/dependsOnInAndroidProjectWithFlavours/app/src/main/kotlin/sample/getCurrentPlatform.kt b/idea/testData/gradle/importAndCheckHighlighting/dependsOnInAndroidProjectWithFlavours/app/src/main/kotlin/sample/getCurrentPlatform.kt
new file mode 100644
index 0000000..d0b0b9d
--- /dev/null
+++ b/idea/testData/gradle/importAndCheckHighlighting/dependsOnInAndroidProjectWithFlavours/app/src/main/kotlin/sample/getCurrentPlatform.kt
@@ -0,0 +1,6 @@
+package sample
+
+actual fun getCurrentPlatform(): String {
+ return "Android"
+}
+
diff --git a/idea/testData/gradle/importAndCheckHighlighting/dependsOnInAndroidProjectWithFlavours/app/src/main/res/layout/activity_main.xml b/idea/testData/gradle/importAndCheckHighlighting/dependsOnInAndroidProjectWithFlavours/app/src/main/res/layout/activity_main.xml
new file mode 100644
index 0000000..01100ad
--- /dev/null
+++ b/idea/testData/gradle/importAndCheckHighlighting/dependsOnInAndroidProjectWithFlavours/app/src/main/res/layout/activity_main.xml
@@ -0,0 +1,21 @@
+<?xml version="1.0" encoding="utf-8"?>
+<android.support.constraint.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
+ xmlns:app="http://schemas.android.com/apk/res-auto"
+ xmlns:tools="http://schemas.android.com/tools"
+ android:layout_width="match_parent"
+ android:layout_height="match_parent"
+ tools:context=".MainActivity">
+
+ <TextView
+ android:id="@+id/main_text"
+ android:textSize="42sp"
+ android:layout_margin="5sp"
+ android:textAlignment="center"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ app:layout_constraintBottom_toBottomOf="parent"
+ app:layout_constraintLeft_toLeftOf="parent"
+ app:layout_constraintRight_toRightOf="parent"
+ app:layout_constraintTop_toTopOf="parent" />
+
+</android.support.constraint.ConstraintLayout>
\ No newline at end of file
diff --git a/idea/testData/gradle/importAndCheckHighlighting/dependsOnInAndroidProjectWithFlavours/app/src/main/res/values/strings.xml b/idea/testData/gradle/importAndCheckHighlighting/dependsOnInAndroidProjectWithFlavours/app/src/main/res/values/strings.xml
new file mode 100644
index 0000000..70be321
--- /dev/null
+++ b/idea/testData/gradle/importAndCheckHighlighting/dependsOnInAndroidProjectWithFlavours/app/src/main/res/values/strings.xml
@@ -0,0 +1,3 @@
+<resources>
+ <string name="app_name">android-app</string>
+</resources>
\ No newline at end of file
diff --git a/idea/testData/gradle/importAndCheckHighlighting/dependsOnInAndroidProjectWithFlavours/app/src/main/res/values/styles.xml b/idea/testData/gradle/importAndCheckHighlighting/dependsOnInAndroidProjectWithFlavours/app/src/main/res/values/styles.xml
new file mode 100644
index 0000000..b42c07d
--- /dev/null
+++ b/idea/testData/gradle/importAndCheckHighlighting/dependsOnInAndroidProjectWithFlavours/app/src/main/res/values/styles.xml
@@ -0,0 +1,6 @@
+<resources>
+ <!-- Base application theme. -->
+ <style name="AppTheme" parent="Theme.AppCompat.Light.DarkActionBar">
+ <!-- Customize your theme here. -->
+ </style>
+</resources>
\ No newline at end of file
diff --git a/idea/testData/gradle/importAndCheckHighlighting/dependsOnInAndroidProjectWithFlavours/app/src/release/kotlin/bar.kt b/idea/testData/gradle/importAndCheckHighlighting/dependsOnInAndroidProjectWithFlavours/app/src/release/kotlin/bar.kt
new file mode 100644
index 0000000..54224c1
--- /dev/null
+++ b/idea/testData/gradle/importAndCheckHighlighting/dependsOnInAndroidProjectWithFlavours/app/src/release/kotlin/bar.kt
@@ -0,0 +1,5 @@
+package othe
+
+val y = 53
+
+actual class Bak
\ No newline at end of file
diff --git a/idea/testData/gradle/importAndCheckHighlighting/dependsOnInAndroidProjectWithFlavours/app/src/test/java/sample/SampleTestsAndroid.kt b/idea/testData/gradle/importAndCheckHighlighting/dependsOnInAndroidProjectWithFlavours/app/src/test/java/sample/SampleTestsAndroid.kt
new file mode 100644
index 0000000..95fe882
--- /dev/null
+++ b/idea/testData/gradle/importAndCheckHighlighting/dependsOnInAndroidProjectWithFlavours/app/src/test/java/sample/SampleTestsAndroid.kt
@@ -0,0 +1,11 @@
+package sample
+
+import kotlin.test.Test
+import kotlin.test.assertTrue
+
+class SampleTestsAndroid {
+ @Test
+ fun testHello() {
+ assertTrue("Android" in hello())
+ }
+}
\ No newline at end of file
diff --git a/idea/testData/gradle/importAndCheckHighlighting/dependsOnInAndroidProjectWithFlavours/build.gradle b/idea/testData/gradle/importAndCheckHighlighting/dependsOnInAndroidProjectWithFlavours/build.gradle
new file mode 100644
index 0000000..8a28d51
--- /dev/null
+++ b/idea/testData/gradle/importAndCheckHighlighting/dependsOnInAndroidProjectWithFlavours/build.gradle
@@ -0,0 +1,13 @@
+buildscript {
+ repositories {
+ google()
+ jcenter()
+ }
+ dependencies {
+ classpath 'com.android.tools.build:gradle:4.0.0-beta01'
+ }
+}
+repositories {
+ google()
+ jcenter()
+}
diff --git a/idea/testData/gradle/importAndCheckHighlighting/dependsOnInAndroidProjectWithFlavours/gradle.properties b/idea/testData/gradle/importAndCheckHighlighting/dependsOnInAndroidProjectWithFlavours/gradle.properties
new file mode 100644
index 0000000..30efa67
--- /dev/null
+++ b/idea/testData/gradle/importAndCheckHighlighting/dependsOnInAndroidProjectWithFlavours/gradle.properties
@@ -0,0 +1,3 @@
+kotlin.code.style=official
+kotlin.mpp.enableGranularSourceSetsMetadata=true
+sdk.dir=/Users/dmitry.savvinov/Library/Android/sdk/
\ No newline at end of file
diff --git a/idea/testData/gradle/importAndCheckHighlighting/dependsOnInAndroidProjectWithFlavours/settings.gradle b/idea/testData/gradle/importAndCheckHighlighting/dependsOnInAndroidProjectWithFlavours/settings.gradle
new file mode 100644
index 0000000..54a3161
--- /dev/null
+++ b/idea/testData/gradle/importAndCheckHighlighting/dependsOnInAndroidProjectWithFlavours/settings.gradle
@@ -0,0 +1,14 @@
+pluginManagement {
+ repositories {
+ maven { url 'https://oss.sonatype.org/content/repositories/snapshots' }
+
+ mavenCentral()
+ mavenLocal()
+ maven { url "https://buildserver.labs.intellij.net/guestAuth/app/rest/builds/buildType:(id:Kotlin_KotlinDev_AggregateBranch),number:1.4.0-dev-1347,branch:(default:any)/artifacts/content/maven/" }
+ maven { url "https://dl.bintray.com/kotlin/kotlin-dev" }
+ maven { url 'https://plugins.gradle.org/m2/' }
+ }
+}
+rootProject.name = 'BootstrapMobileMppApp'
+
+include ':app'
diff --git a/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/targets/native/KotlinNativeTarget.kt b/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/targets/native/KotlinNativeTarget.kt
index c363a80..08cb415 100644
--- a/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/targets/native/KotlinNativeTarget.kt
+++ b/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/targets/native/KotlinNativeTarget.kt
@@ -147,6 +147,8 @@
fun canBeBuiltOnHosts(konanTarget: KonanTarget) = enabledByHost.filterValues { konanTarget in it }.keys
return project.kotlinExtension.sourceSets.filter { sourceSet ->
+ if (sourceSet !in compilationsBySourceSet) return@filter false
+
// If the source set participates in compilations such that some host can't run either of them, then on that host,
// we can't analyze the source set, so the source set's metadata can't be published from that host, and therefore
// we consider it platform-specific and publish as a part of the Native targets where the source set takes part,