Fix incompatibility because of KotlinGradleModelFacade change (KT-25713)

AndroidGradleModelFacade was moved to android plugin in AS 3.3, so
now changes in KotlinGradleModelFacade should be binary compatible.

Current fix rewrite KotlinGradleModelFacade to Java because of default
methods.

Also current implementation abuses the fact that AndroidGradleModelFacade
don't use groupId parameter for getting library versions.

 #KT-25713 Fixed
This commit is contained in:
Nikolay Krasko
2018-07-25 17:12:21 +03:00
parent fb6bb0c8b7
commit 2d1fc4b798
3 changed files with 41 additions and 11 deletions
@@ -44,7 +44,8 @@ import org.jetbrains.kotlin.idea.inspections.gradle.KotlinGradleModelFacade
import org.jetbrains.kotlin.idea.inspections.gradle.findModulesByNames
class AndroidGradleModelFacade : KotlinGradleModelFacade {
override fun getResolvedVersionByModuleData(moduleData: DataNode<*>, groupId: String, libraryIds: List<String>): String? {
@Suppress("OverridingDeprecatedMember")
override fun getResolvedKotlinStdlibVersionByModuleData(moduleData: DataNode<*>, libraryIds: List<String>): String? {
ExternalSystemApiUtil
.findAllRecursively(moduleData, AndroidProjectKeys.JAVA_MODULE_MODEL).asSequence()
.flatMap { it.data.jarLibraryDependencies.asSequence() }