Use IdePlatform instead of IdePlatformKind in 'Kotlin Facet' project structure tab

This commit is contained in:
Yan Zhulanow
2018-09-05 19:06:57 +03:00
parent a434cb00c6
commit 2ec1a89fa1
5 changed files with 24 additions and 19 deletions
@@ -26,6 +26,7 @@ import com.intellij.openapi.roots.ui.configuration.libraries.AddCustomLibraryDia
import com.intellij.openapi.roots.ui.configuration.libraries.CustomLibraryDescription
import com.intellij.openapi.roots.ui.configuration.libraries.LibraryPresentationManager
import org.jetbrains.kotlin.idea.platform.tooling
import org.jetbrains.kotlin.platform.IdePlatform
import org.jetbrains.kotlin.platform.IdePlatformKind
import org.jetbrains.kotlin.platform.impl.isCommon
import javax.swing.JComponent
@@ -35,7 +36,7 @@ class FrameworkLibraryValidatorWithDynamicDescription(
private val context: LibrariesValidatorContext,
private val validatorsManager: FacetValidatorsManager,
private val libraryCategoryName: String,
private val getPlatform: () -> IdePlatformKind<*>
private val getPlatform: () -> IdePlatform<*, *>
) : FrameworkLibraryValidator() {
private val IdePlatformKind<*>.libraryDescription: CustomLibraryDescription
get() = this.tooling.getLibraryDescription(context.module.project)
@@ -69,9 +70,9 @@ class FrameworkLibraryValidatorWithDynamicDescription(
override fun check(): ValidationResult {
val targetPlatform = getPlatform()
if (checkLibraryIsConfigured(targetPlatform)) {
if (checkLibraryIsConfigured(targetPlatform.kind)) {
val conflictingPlatforms = IdePlatformKind.ALL_KINDS
.filter { !it.isCommon && it.name != targetPlatform.name && checkLibraryIsConfigured(it) }
.filter { !it.isCommon && it.name != targetPlatform.kind.name && checkLibraryIsConfigured(it) }
if (conflictingPlatforms.isNotEmpty()) {
val platformText = conflictingPlatforms.mapTo(LinkedHashSet()) { it.name }.joinToString()
@@ -84,7 +85,7 @@ class FrameworkLibraryValidatorWithDynamicDescription(
return ValidationResult(
IdeBundle.message("label.missed.libraries.text", libraryCategoryName),
LibrariesQuickFix(targetPlatform.libraryDescription)
LibrariesQuickFix(targetPlatform.kind.libraryDescription)
)
}
@@ -21,7 +21,7 @@ import com.intellij.facet.ui.FacetEditorContext
import com.intellij.facet.ui.FacetEditorValidator
import com.intellij.facet.ui.FacetValidatorsManager
import org.jetbrains.kotlin.idea.facet.KotlinFacetEditorGeneralTab.EditorComponent
import org.jetbrains.kotlin.platform.IdePlatformKind
import org.jetbrains.kotlin.platform.IdePlatform
class KotlinLibraryValidatorCreator : KotlinFacetValidatorCreator() {
override fun create(editor: EditorComponent, validatorsManager: FacetValidatorsManager, editorContext: FacetEditorContext): FacetEditorValidator {
@@ -29,6 +29,6 @@ class KotlinLibraryValidatorCreator : KotlinFacetValidatorCreator() {
DelegatingLibrariesValidatorContext(editorContext),
validatorsManager,
"kotlin"
) { editor.targetPlatformComboBox.selectedItem as IdePlatformKind<*> }
) { editor.targetPlatformComboBox.selectedItem as IdePlatform<*, *> }
}
}