diff --git a/idea/tests/org/jetbrains/kotlin/idea/codeInsight/gradle/AbstractModelBuilderTest.java b/idea/tests/org/jetbrains/kotlin/idea/codeInsight/gradle/AbstractModelBuilderTest.java index 7fe941a4ba6..9e70d425eca 100644 --- a/idea/tests/org/jetbrains/kotlin/idea/codeInsight/gradle/AbstractModelBuilderTest.java +++ b/idea/tests/org/jetbrains/kotlin/idea/codeInsight/gradle/AbstractModelBuilderTest.java @@ -20,7 +20,6 @@ import com.intellij.openapi.util.Pair; import com.intellij.openapi.util.io.FileUtil; import com.intellij.openapi.util.io.StreamUtil; import com.intellij.testFramework.IdeaTestUtil; -import com.intellij.testFramework.UsefulTestCase; import com.intellij.util.Function; import com.intellij.util.containers.ContainerUtil; import org.codehaus.groovy.runtime.typehandling.ShortTypeHandling; @@ -32,8 +31,6 @@ import org.gradle.tooling.model.DomainObjectSet; import org.gradle.tooling.model.idea.IdeaModule; import org.gradle.util.GradleVersion; import org.jetbrains.annotations.NotNull; -import org.jetbrains.plugins.gradle.model.BuildScriptClasspathModel; -import org.jetbrains.plugins.gradle.model.ClasspathEntryModel; import org.jetbrains.plugins.gradle.model.ExternalProject; import org.jetbrains.plugins.gradle.model.ProjectImportAction; import org.jetbrains.plugins.gradle.service.execution.GradleExecutionHelper; @@ -56,7 +53,6 @@ import java.util.concurrent.TimeUnit; import java.util.regex.Matcher; import java.util.regex.Pattern; -import static org.junit.Assert.assertEquals; import static org.junit.Assert.assertNotNull; import static org.junit.Assume.assumeThat; @@ -64,7 +60,7 @@ import static org.junit.Assume.assumeThat; @RunWith(value = Parameterized.class) public abstract class AbstractModelBuilderTest { - public static final Object[][] SUPPORTED_GRADLE_VERSIONS = { {"2.9"} }; + public static final Object[][] SUPPORTED_GRADLE_VERSIONS = { {"3.5"} }; private static final Pattern TEST_METHOD_NAME_PATTERN = Pattern.compile("(.*)\\[(\\d*: with Gradle-.*)\\]"); 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 548cd8dd092..34b1412b128 100644 --- a/idea/tests/org/jetbrains/kotlin/idea/codeInsight/gradle/GradleFacetImportTest.kt +++ b/idea/tests/org/jetbrains/kotlin/idea/codeInsight/gradle/GradleFacetImportTest.kt @@ -16,12 +16,14 @@ package org.jetbrains.kotlin.idea.codeInsight.gradle +import com.intellij.openapi.util.text.StringUtil import org.jetbrains.kotlin.cli.common.arguments.K2JSCompilerArguments import org.jetbrains.kotlin.cli.common.arguments.K2JVMCompilerArguments import org.jetbrains.kotlin.config.* import org.jetbrains.kotlin.idea.facet.KotlinFacet import org.junit.Assert import org.junit.Test +import java.io.File internal fun GradleImportingTestCase.facetSettings(moduleName: String) = KotlinFacet.get(getModule(moduleName))!!.configuration.settings @@ -669,4 +671,129 @@ class GradleFacetImportTest : GradleImportingTestCase() { ) } } + + @Test + fun testAndroidGradleJsDetection() { + createProjectSubFile("android-module/build.gradle", """ + group 'Again' + version '1.0-SNAPSHOT' + + buildscript { + repositories { + jcenter() + } + dependencies { + classpath "com.android.tools.build:gradle:2.3.0" + } + } + + apply plugin: 'com.android.application' + + 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("android-module/src/main/AndroidManifest.xml", """ + + + """) + createProjectSubFile("js-module/build.gradle", """ + group 'Again' + version '1.0-SNAPSHOT' + + buildscript { + repositories { + mavenCentral() + maven { + url 'http://dl.bintray.com/kotlin/kotlin-dev' + } + } + + dependencies { + classpath("org.jetbrains.kotlin:kotlin-gradle-plugin:1.1.2-eap-44") + } + } + + apply plugin: 'kotlin2js' + + dependencies { + compile "org.jetbrains.kotlin:kotlin-stdlib-js:1.1.0" + } + """) + createProjectSubFile("build.gradle", """ + group 'Again' + version '1.0-SNAPSHOT' + + buildscript { + repositories { + mavenLocal() + maven { + url='https://dl.bintray.com/kotlin/kotlin-eap-1.1' + } + jcenter() + } + dependencies { + classpath "com.android.tools.build:gradle:2.3.0" + classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:1.1.0" + } + } + + ext { + androidBuildToolsVersion = '23.0.1' + } + + allprojects { + repositories { + mavenLocal() + maven { + url='https://dl.bintray.com/kotlin/kotlin-eap-1.1' + } + jcenter() + } + } + """) + createProjectSubFile("settings.gradle", """ + rootProject.name = "android-js-test" + include ':android-module' + include ':js-module' + """) + createProjectSubFile("local.properties", """ + sdk.dir=/${StringUtil.escapeBackSlashes(File(homePath).parent + "/dependencies/androidSDK")} + """) + importProject() + + with (facetSettings("js-module")) { + Assert.assertEquals(TargetPlatformKind.JavaScript, targetPlatformKind) + } + } } diff --git a/idea/tests/org/jetbrains/kotlin/idea/codeInsight/gradle/GradleFacetImportTest_3_3.kt b/idea/tests/org/jetbrains/kotlin/idea/codeInsight/gradle/GradleFacetImportTest_3_3.kt deleted file mode 100644 index 2a77acf7c37..00000000000 --- a/idea/tests/org/jetbrains/kotlin/idea/codeInsight/gradle/GradleFacetImportTest_3_3.kt +++ /dev/null @@ -1,155 +0,0 @@ -/* - * Copyright 2010-2017 JetBrains s.r.o. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -package org.jetbrains.kotlin.idea.codeInsight.gradle - -import com.intellij.openapi.util.text.StringUtil -import org.jetbrains.kotlin.config.TargetPlatformKind -import org.junit.Assert -import org.junit.Test -import java.io.File - -class GradleFacetImportTest_3_3 : GradleImportingTestCase() { - override fun setUp() { - gradleVersion = "3.3" - super.setUp() - } - - @Test - fun testAndroidGradleJsDetection() { - createProjectSubFile("android-module/build.gradle", """ - group 'Again' - version '1.0-SNAPSHOT' - - buildscript { - repositories { - jcenter() - } - dependencies { - classpath "com.android.tools.build:gradle:2.3.0" - } - } - - apply plugin: 'com.android.application' - - 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("android-module/src/main/AndroidManifest.xml", """ - - - """) - createProjectSubFile("js-module/build.gradle", """ - group 'Again' - version '1.0-SNAPSHOT' - - buildscript { - repositories { - mavenCentral() - maven { - url 'http://dl.bintray.com/kotlin/kotlin-dev' - } - } - - dependencies { - classpath("org.jetbrains.kotlin:kotlin-gradle-plugin:1.1.2-eap-44") - } - } - - apply plugin: 'kotlin2js' - - dependencies { - compile "org.jetbrains.kotlin:kotlin-stdlib-js:1.1.0" - } - """) - createProjectSubFile("build.gradle", """ - group 'Again' - version '1.0-SNAPSHOT' - - buildscript { - repositories { - mavenLocal() - maven { - url='https://dl.bintray.com/kotlin/kotlin-eap-1.1' - } - jcenter() - } - dependencies { - classpath "com.android.tools.build:gradle:2.3.0" - classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:1.1.0" - } - } - - ext { - androidBuildToolsVersion = '23.0.1' - } - - allprojects { - repositories { - mavenLocal() - maven { - url='https://dl.bintray.com/kotlin/kotlin-eap-1.1' - } - jcenter() - } - } - """) - createProjectSubFile("settings.gradle", """ - rootProject.name = "android-js-test" - include ':android-module' - include ':js-module' - """) - createProjectSubFile("local.properties", """ - sdk.dir=/${StringUtil.escapeBackSlashes(File(homePath).parent + "/dependencies/androidSDK")} - """) - importProject() - - with (facetSettings("js-module")) { - Assert.assertEquals(TargetPlatformKind.JavaScript, targetPlatformKind) - } - } -}