Android Extensions: Explicitly check if the Android plugin is enabled (EA-104651)
AndroidGradleOrderEnumerationHandler is defined in gradle.xml that doesn't depend on the Android plugin. So we need to additionally check if the Android plugin is installed/enabled.
This commit is contained in:
+1
-2
@@ -13,9 +13,9 @@ import com.intellij.openapi.module.ModuleManager
|
|||||||
import com.intellij.openapi.roots.ModuleRootModel
|
import com.intellij.openapi.roots.ModuleRootModel
|
||||||
import com.intellij.openapi.roots.OrderRootType
|
import com.intellij.openapi.roots.OrderRootType
|
||||||
import com.intellij.openapi.vfs.VfsUtilCore
|
import com.intellij.openapi.vfs.VfsUtilCore
|
||||||
import org.jetbrains.android.facet.AndroidFacet
|
|
||||||
import org.jetbrains.kotlin.config.KotlinFacetSettingsProvider
|
import org.jetbrains.kotlin.config.KotlinFacetSettingsProvider
|
||||||
import org.jetbrains.kotlin.config.TargetPlatformKind
|
import org.jetbrains.kotlin.config.TargetPlatformKind
|
||||||
|
import org.jetbrains.kotlin.idea.core.isAndroidModule
|
||||||
import org.jetbrains.kotlin.idea.facet.KotlinFacet
|
import org.jetbrains.kotlin.idea.facet.KotlinFacet
|
||||||
import org.jetbrains.plugins.gradle.execution.GradleOrderEnumeratorHandler
|
import org.jetbrains.plugins.gradle.execution.GradleOrderEnumeratorHandler
|
||||||
import org.jetbrains.plugins.gradle.model.ExternalSourceDirectorySet
|
import org.jetbrains.plugins.gradle.model.ExternalSourceDirectorySet
|
||||||
@@ -49,7 +49,6 @@ class AndroidGradleOrderEnumerationHandler(module: Module) : GradleOrderEnumerat
|
|||||||
KotlinFacet.get(rootModel.module) ?: return false
|
KotlinFacet.get(rootModel.module) ?: return false
|
||||||
|
|
||||||
val module = rootModel.module
|
val module = rootModel.module
|
||||||
fun Module.isAndroidModule() = AndroidFacet.getInstance(this) != null
|
|
||||||
|
|
||||||
// The current module has to be an ordinary Java module, but the code below is for Android projects
|
// The current module has to be an ordinary Java module, but the code below is for Android projects
|
||||||
if (module.isAndroidModule() || ModuleManager.getInstance(module.project).modules.none { it.isAndroidModule() }) {
|
if (module.isAndroidModule() || ModuleManager.getInstance(module.project).modules.none { it.isAndroidModule() }) {
|
||||||
|
|||||||
@@ -0,0 +1,14 @@
|
|||||||
|
/*
|
||||||
|
* Copyright 2010-2018 JetBrains s.r.o. Use of this source code is governed by the Apache 2.0 license
|
||||||
|
* that can be found in the license/LICENSE.txt file.
|
||||||
|
*/
|
||||||
|
|
||||||
|
package org.jetbrains.kotlin.idea.core
|
||||||
|
|
||||||
|
import com.intellij.facet.FacetManager
|
||||||
|
import com.intellij.openapi.module.Module
|
||||||
|
|
||||||
|
fun Module.isAndroidModule(): Boolean {
|
||||||
|
val facets = FacetManager.getInstance(this).allFacets
|
||||||
|
return facets.any { it.javaClass.simpleName == "AndroidFacet" }
|
||||||
|
}
|
||||||
Reference in New Issue
Block a user