Refactoring: introduce parameter for getResolvedKotlinStdlibVersionByModuleData

This commit is contained in:
Nikolay Krasko
2018-07-18 13:37:41 +03:00
parent 7358cc5bd6
commit 86a33defd8
7 changed files with 33 additions and 48 deletions
@@ -32,6 +32,7 @@
package org.jetbrains.kotlin.android.configure
import com.android.builder.model.Library
import com.android.tools.idea.gradle.project.sync.idea.data.service.AndroidProjectKeys
import com.intellij.openapi.externalSystem.model.DataNode
import com.intellij.openapi.externalSystem.model.project.ModuleData
@@ -41,20 +42,19 @@ import org.gradle.tooling.model.UnsupportedMethodException
import org.gradle.tooling.model.idea.IdeaProject
import org.jetbrains.kotlin.idea.inspections.gradle.KotlinGradleModelFacade
import org.jetbrains.kotlin.idea.inspections.gradle.findModulesByNames
import com.android.builder.model.Library
class AndroidGradleModelFacade : KotlinGradleModelFacade {
override fun getResolvedKotlinStdlibVersionByModuleData(moduleData: DataNode<*>, libraryIds: List<String>): String? {
override fun getResolvedVersionByModuleData(moduleData: DataNode<*>, groupId: String, libraryIds: List<String>): String? {
ExternalSystemApiUtil
.findAllRecursively(moduleData, AndroidProjectKeys.JAVA_MODULE_MODEL).asSequence()
.flatMap { it.data.jarLibraryDependencies.asSequence() }
.forEach {
val libraryName = it.name
for (libraryId in libraryIds) {
val prefix = "$libraryId-"
if (libraryName.startsWith(prefix)) return libraryName.substringAfter(prefix)
}
.findAllRecursively(moduleData, AndroidProjectKeys.JAVA_MODULE_MODEL).asSequence()
.flatMap { it.data.jarLibraryDependencies.asSequence() }
.forEach {
val libraryName = it.name
for (libraryId in libraryIds) {
val prefix = "$libraryId-"
if (libraryName.startsWith(prefix)) return libraryName.substringAfter(prefix)
}
}
return null
}