From d288c684c8518139f3107d0b42a864401e6ef077 Mon Sep 17 00:00:00 2001 From: Alexey Sedunov Date: Wed, 17 May 2017 16:14:28 +0300 Subject: [PATCH] Kotlin Facet: Configure facet if kotlin-android plugin is present #KT-17861 Fixed --- .../src/KotlinGradleModelBuilder.kt | 2 +- .../gradle/GradleFacetImportTest.kt | 68 +++++++++++++++++++ 2 files changed, 69 insertions(+), 1 deletion(-) diff --git a/idea/kotlin-gradle-tooling/src/KotlinGradleModelBuilder.kt b/idea/kotlin-gradle-tooling/src/KotlinGradleModelBuilder.kt index f92ab0a2b02..f51120f3bd9 100644 --- a/idea/kotlin-gradle-tooling/src/KotlinGradleModelBuilder.kt +++ b/idea/kotlin-gradle-tooling/src/KotlinGradleModelBuilder.kt @@ -57,7 +57,7 @@ class KotlinGradleModelBuilder : ModelBuilderService { "kotlin" to "kotlin-platform-jvm", "kotlin2js" to "kotlin-platform-js" ) - val kotlinPluginIds = listOf("kotlin", "kotlin2js") + val kotlinPluginIds = listOf("kotlin", "kotlin2js", "kotlin-android") private val kotlinPlatformCommonPluginId = "kotlin-platform-common" } diff --git a/idea/tests/org/jetbrains/kotlin/idea/codeInsight/gradle/GradleFacetImportTest.kt b/idea/tests/org/jetbrains/kotlin/idea/codeInsight/gradle/GradleFacetImportTest.kt index 66945363ad6..30128c64f34 100644 --- a/idea/tests/org/jetbrains/kotlin/idea/codeInsight/gradle/GradleFacetImportTest.kt +++ b/idea/tests/org/jetbrains/kotlin/idea/codeInsight/gradle/GradleFacetImportTest.kt @@ -749,6 +749,74 @@ class GradleFacetImportTest : GradleImportingTestCase() { } } + @Test + fun testKotlinAndroidPluginDetection() { + createProjectSubFile("build.gradle", """ + group 'Again' + version '1.0-SNAPSHOT' + + buildscript { + repositories { + jcenter() + maven { + url='https://dl.bintray.com/kotlin/kotlin-eap-1.1' + } + } + dependencies { + classpath "com.android.tools.build:gradle:2.3.0" + classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:1.1.0" + } + } + + apply plugin: 'com.android.application' + apply plugin: 'kotlin-android' + + android { + compileSdkVersion 23 + buildToolsVersion "23.0.1" + + defaultConfig { + minSdkVersion 11 + targetSdkVersion 23 + versionCode 1002003 + versionName version + } + + dataBinding { + enabled = true + } + + compileOptions { + sourceCompatibility JavaVersion.VERSION_1_7 + targetCompatibility JavaVersion.VERSION_1_7 + } + + buildTypes { + debug { + applicationIdSuffix ".debug" + versionNameSuffix "-debug" + } + release { + minifyEnabled true + shrinkResources true + } + } + } + """) + createProjectSubFile("local.properties", """ + sdk.dir=/${StringUtil.escapeBackSlashes(File(homePath).parent + "/dependencies/androidSDK")} + """) + createProjectSubFile("src/main/AndroidManifest.xml", """ + + + """) + importProject() + + Assert.assertNotNull(KotlinFacet.get(getModule("project"))) + } + @Test fun testNoFacetInModuleWithoutKotlinPlugin() { createProjectSubFile("build.gradle", """