diff --git a/idea/idea-android/src/org/jetbrains/kotlin/android/configure/KotlinAndroidGradleLibraryDataService.kt b/idea/idea-android/src/org/jetbrains/kotlin/android/configure/KotlinAndroidGradleLibraryDataService.kt index e04752f7267..35dc48ff580 100644 --- a/idea/idea-android/src/org/jetbrains/kotlin/android/configure/KotlinAndroidGradleLibraryDataService.kt +++ b/idea/idea-android/src/org/jetbrains/kotlin/android/configure/KotlinAndroidGradleLibraryDataService.kt @@ -18,6 +18,7 @@ package org.jetbrains.kotlin.android.configure import com.android.tools.idea.gradle.project.model.JavaModuleModel import com.android.tools.idea.gradle.project.sync.idea.data.service.AndroidProjectKeys +import com.android.tools.idea.gradle.util.FilePaths import com.intellij.openapi.externalSystem.model.DataNode import com.intellij.openapi.externalSystem.model.project.ModuleData import com.intellij.openapi.externalSystem.model.project.ProjectData @@ -26,9 +27,11 @@ import com.intellij.openapi.externalSystem.service.project.manage.AbstractProjec import com.intellij.openapi.project.Project import com.intellij.openapi.roots.OrderRootType import com.intellij.openapi.roots.impl.libraries.LibraryEx +import com.intellij.openapi.roots.libraries.Library import org.jetbrains.kotlin.idea.configuration.detectPlatformByPlugin import org.jetbrains.kotlin.idea.framework.detectLibraryKind import org.jetbrains.kotlin.idea.framework.libraryKind +import java.io.File class KotlinAndroidGradleLibraryDataService : AbstractProjectDataService() { override fun getTargetDataKey() = AndroidProjectKeys.JAVA_MODULE_MODEL @@ -43,7 +46,7 @@ class KotlinAndroidGradleLibraryDataService : AbstractProjectDataService)?.libraryKind if (targetLibraryKind != null) { for (dep in dataNode.data.jarLibraryDependencies) { - val library = modelsProvider.getLibraryByName(dep.name) as LibraryEx? ?: continue + val library = modelsProvider.findLibraryByBinaryPath(dep.binaryPath) as LibraryEx? ?: continue if (library.kind == null) { val model = modelsProvider.getModifiableLibraryModel(library) as LibraryEx.ModifiableModelEx detectLibraryKind(model.getFiles(OrderRootType.CLASSES))?.let { model.kind = it } @@ -52,4 +55,10 @@ class KotlinAndroidGradleLibraryDataService : AbstractProjectDataService().single().library assertEquals(JSLibraryKind, (stdlib as LibraryEx).kind) + assertTrue(stdlib.getFiles(OrderRootType.CLASSES).isNotEmpty()) assertAllModulesConfigured() } @@ -1062,7 +1064,8 @@ compileTestKotlin { } val rootManager = ModuleRootManager.getInstance(getModule("js-module")) - val stdlib = rootManager.orderEntries.filterIsInstance().single().library + val stdlib = rootManager.orderEntries.filterIsInstance().single().library!! + assertTrue(stdlib.getFiles(OrderRootType.CLASSES).isNotEmpty()) assertEquals(JSLibraryKind, (stdlib as LibraryEx).kind) }