diff --git a/idea/idea-gradle/tests/org/jetbrains/kotlin/idea/codeInsight/gradle/GradleFacetImportTest.kt b/idea/idea-gradle/tests/org/jetbrains/kotlin/idea/codeInsight/gradle/GradleFacetImportTest.kt
index 510fa7b4c4d..a4e0fd9f561 100644
--- a/idea/idea-gradle/tests/org/jetbrains/kotlin/idea/codeInsight/gradle/GradleFacetImportTest.kt
+++ b/idea/idea-gradle/tests/org/jetbrains/kotlin/idea/codeInsight/gradle/GradleFacetImportTest.kt
@@ -55,6 +55,7 @@ import org.jetbrains.kotlin.resolve.TargetPlatform
import org.jetbrains.kotlin.resolve.jvm.platform.JvmPlatform
import org.jetbrains.kotlin.test.KotlinTestUtils
import org.junit.Assert
+import org.junit.Ignore
import org.junit.Test
import java.util.*
@@ -95,39 +96,7 @@ class GradleFacetImportTest : GradleImportingTestCase() {
@Test
fun testJvmImport() {
- createProjectSubFile(
- "build.gradle", """
- buildscript {
- repositories {
- mavenCentral()
- maven {
- url 'https://dl.bintray.com/kotlin/kotlin-eap-1.1'
- }
- }
-
- dependencies {
- classpath("org.jetbrains.kotlin:kotlin-gradle-plugin:1.1.0")
- }
- }
-
- apply plugin: 'kotlin'
-
- dependencies {
- compile "org.jetbrains.kotlin:kotlin-stdlib:1.1.0"
- }
-
- compileKotlin {
- kotlinOptions.jvmTarget = "1.7"
- kotlinOptions.freeCompilerArgs = ["-Xsingle-module", "-Xdump-declarations-to", "tmp"]
- }
-
- compileTestKotlin {
- kotlinOptions.jvmTarget = "1.6"
- kotlinOptions.apiVersion = "1.0"
- kotlinOptions.freeCompilerArgs = ["-Xdump-declarations-to", "tmpTest"]
- }
- """
- )
+ configureByFiles()
importProject()
with(facetSettings) {
@@ -158,56 +127,26 @@ class GradleFacetImportTest : GradleImportingTestCase() {
assertAllModulesConfigured()
Assert.assertEquals(
- listOf("file:///src/main/java" to JavaSourceRootType.SOURCE,
- "file:///src/main/kotlin" to JavaSourceRootType.SOURCE,
- "file:///src/main/resources" to JavaResourceRootType.RESOURCE),
- getSourceRootInfos("project_main")
+ listOf(
+ "file:///src/main/java" to JavaSourceRootType.SOURCE,
+ "file:///src/main/kotlin" to JavaSourceRootType.SOURCE,
+ "file:///src/main/resources" to JavaResourceRootType.RESOURCE
+ ),
+ getSourceRootInfos("project_main")
)
Assert.assertEquals(
- listOf("file:///src/test/java" to JavaSourceRootType.TEST_SOURCE,
- "file:///src/test/kotlin" to JavaSourceRootType.TEST_SOURCE,
- "file:///src/test/resources" to JavaResourceRootType.TEST_RESOURCE),
- getSourceRootInfos("project_test")
+ listOf(
+ "file:///src/test/java" to JavaSourceRootType.TEST_SOURCE,
+ "file:///src/test/kotlin" to JavaSourceRootType.TEST_SOURCE,
+ "file:///src/test/resources" to JavaResourceRootType.TEST_RESOURCE
+ ),
+ getSourceRootInfos("project_test")
)
}
@Test
fun testJvmImportWithPlugin() {
- createProjectSubFile(
- "build.gradle", """
-buildscript {
- repositories {
- mavenCentral()
- }
-}
-
-plugins {
- id "org.jetbrains.kotlin.jvm" version "1.1.3"
-}
-
-version '1.0-SNAPSHOT'
-
-apply plugin: 'java'
-
-sourceCompatibility = 1.8
-
-repositories {
- mavenCentral()
-}
-
-dependencies {
- compile "org.jetbrains.kotlin:kotlin-stdlib-jre8:1.1.3"
- testCompile group: 'junit', name: 'junit', version: '4.12'
-}
-
-compileKotlin {
- kotlinOptions.jvmTarget = "1.8"
-}
-compileTestKotlin {
- kotlinOptions.jvmTarget = "1.8"
-}
- """
- )
+ configureByFiles()
importProject()
assertAllModulesConfigured()
@@ -215,47 +154,7 @@ compileTestKotlin {
@Test
fun testJvmImport_1_1_2() {
- createProjectSubFile(
- "build.gradle", """
- group 'Again'
- version '1.0-SNAPSHOT'
-
- buildscript {
- repositories {
- mavenCentral()
- maven {
- url 'https://dl.bintray.com/kotlin/kotlin-dev'
- }
- }
-
- dependencies {
- classpath("org.jetbrains.kotlin:kotlin-gradle-plugin:1.1.2-5")
- }
- }
-
- apply plugin: 'kotlin'
-
- repositories {
- mavenCentral()
- maven { url 'https://dl.bintray.com/kotlin/kotlin-dev' }
- }
-
- dependencies {
- compile "org.jetbrains.kotlin:kotlin-stdlib:1.1.2-5"
- }
-
- compileKotlin {
- kotlinOptions.jvmTarget = "1.7"
- kotlinOptions.freeCompilerArgs = ["-Xsingle-module", "-Xdump-declarations-to", "tmp"]
- }
-
- compileTestKotlin {
- kotlinOptions.jvmTarget = "1.6"
- kotlinOptions.apiVersion = "1.0"
- kotlinOptions.freeCompilerArgs = ["-Xdump-declarations-to", "tmpTest"]
- }
- """
- )
+ configureByFiles()
importProject()
with(facetSettings) {
@@ -280,70 +179,26 @@ compileTestKotlin {
}
Assert.assertEquals(
- listOf("file:///src/main/java" to JavaSourceRootType.SOURCE,
- "file:///src/main/kotlin" to JavaSourceRootType.SOURCE,
- "file:///src/main/resources" to JavaResourceRootType.RESOURCE),
- getSourceRootInfos("project_main")
+ listOf(
+ "file:///src/main/java" to JavaSourceRootType.SOURCE,
+ "file:///src/main/kotlin" to JavaSourceRootType.SOURCE,
+ "file:///src/main/resources" to JavaResourceRootType.RESOURCE
+ ),
+ getSourceRootInfos("project_main")
)
Assert.assertEquals(
- listOf("file:///src/test/java" to JavaSourceRootType.TEST_SOURCE,
- "file:///src/test/kotlin" to JavaSourceRootType.TEST_SOURCE,
- "file:///src/test/resources" to JavaResourceRootType.TEST_RESOURCE),
- getSourceRootInfos("project_test")
+ listOf(
+ "file:///src/test/java" to JavaSourceRootType.TEST_SOURCE,
+ "file:///src/test/kotlin" to JavaSourceRootType.TEST_SOURCE,
+ "file:///src/test/resources" to JavaResourceRootType.TEST_RESOURCE
+ ),
+ getSourceRootInfos("project_test")
)
}
@Test
fun testJvmImportWithCustomSourceSets() {
- createProjectSubFile(
- "build.gradle", """
- group 'Again'
- version '1.0-SNAPSHOT'
-
- buildscript {
- repositories {
- mavenCentral()
- maven {
- url 'https://dl.bintray.com/kotlin/kotlin-eap-1.1'
- }
- }
-
- dependencies {
- classpath("org.jetbrains.kotlin:kotlin-gradle-plugin:1.1.0")
- }
- }
-
- apply plugin: 'kotlin'
-
- sourceSets {
- myMain {
- kotlin {
- srcDir 'src'
- }
- }
- myTest {
- kotlin {
- srcDir 'test'
- }
- }
- }
-
- dependencies {
- compile "org.jetbrains.kotlin:kotlin-stdlib:1.1.0"
- }
-
- compileMyMainKotlin {
- kotlinOptions.jvmTarget = "1.7"
- kotlinOptions.freeCompilerArgs = ["-Xsingle-module", "-Xdump-declarations-to", "tmp"]
- }
-
- compileMyTestKotlin {
- kotlinOptions.jvmTarget = "1.6"
- kotlinOptions.apiVersion = "1.0"
- kotlinOptions.freeCompilerArgs = ["-Xdump-declarations-to", "tmpTest"]
- }
- """
- )
+ configureByFiles()
importProject()
with(facetSettings("project_myMain")) {
@@ -370,73 +225,26 @@ compileTestKotlin {
assertAllModulesConfigured()
Assert.assertEquals(
- listOf("file:///src/main/java" to JavaSourceRootType.SOURCE,
- "file:///src/main/kotlin" to JavaSourceRootType.SOURCE,
- "file:///src/main/resources" to JavaResourceRootType.RESOURCE),
- getSourceRootInfos("project_main")
+ listOf(
+ "file:///src/main/java" to JavaSourceRootType.SOURCE,
+ "file:///src/main/kotlin" to JavaSourceRootType.SOURCE,
+ "file:///src/main/resources" to JavaResourceRootType.RESOURCE
+ ),
+ getSourceRootInfos("project_main")
)
Assert.assertEquals(
- listOf("file:///src/test/java" to JavaSourceRootType.TEST_SOURCE,
- "file:///src/test/kotlin" to JavaSourceRootType.TEST_SOURCE,
- "file:///src/test/resources" to JavaResourceRootType.TEST_RESOURCE),
- getSourceRootInfos("project_test")
+ listOf(
+ "file:///src/test/java" to JavaSourceRootType.TEST_SOURCE,
+ "file:///src/test/kotlin" to JavaSourceRootType.TEST_SOURCE,
+ "file:///src/test/resources" to JavaResourceRootType.TEST_RESOURCE
+ ),
+ getSourceRootInfos("project_test")
)
}
@Test
fun testJvmImportWithCustomSourceSets_1_1_2() {
- createProjectSubFile(
- "build.gradle", """
- group 'Again'
- version '1.0-SNAPSHOT'
-
- buildscript {
- repositories {
- mavenCentral()
- maven { url 'https://dl.bintray.com/kotlin/kotlin-dev' }
- }
-
- dependencies {
- classpath("org.jetbrains.kotlin:kotlin-gradle-plugin:1.1.2-5")
- }
- }
-
- apply plugin: 'kotlin'
-
- repositories {
- mavenCentral()
- maven { url 'https://dl.bintray.com/kotlin/kotlin-dev' }
- }
-
- sourceSets {
- myMain {
- kotlin {
- srcDir 'src'
- }
- }
- myTest {
- kotlin {
- srcDir 'test'
- }
- }
- }
-
- dependencies {
- compile "org.jetbrains.kotlin:kotlin-stdlib:1.1.2-5"
- }
-
- compileMyMainKotlin {
- kotlinOptions.jvmTarget = "1.7"
- kotlinOptions.freeCompilerArgs = ["-Xsingle-module", "-Xdump-declarations-to", "tmp"]
- }
-
- compileMyTestKotlin {
- kotlinOptions.jvmTarget = "1.6"
- kotlinOptions.apiVersion = "1.0"
- kotlinOptions.freeCompilerArgs = ["-Xdump-declarations-to", "tmpTest"]
- }
- """
- )
+ configureByFiles()
importProject()
with(facetSettings("project_myMain")) {
@@ -461,52 +269,26 @@ compileTestKotlin {
}
Assert.assertEquals(
- listOf("file:///src/main/java" to JavaSourceRootType.SOURCE,
- "file:///src/main/kotlin" to JavaSourceRootType.SOURCE,
- "file:///src/main/resources" to JavaResourceRootType.RESOURCE),
- getSourceRootInfos("project_main")
+ listOf(
+ "file:///src/main/java" to JavaSourceRootType.SOURCE,
+ "file:///src/main/kotlin" to JavaSourceRootType.SOURCE,
+ "file:///src/main/resources" to JavaResourceRootType.RESOURCE
+ ),
+ getSourceRootInfos("project_main")
)
Assert.assertEquals(
- listOf("file:///src/test/java" to JavaSourceRootType.TEST_SOURCE,
- "file:///src/test/kotlin" to JavaSourceRootType.TEST_SOURCE,
- "file:///src/test/resources" to JavaResourceRootType.TEST_RESOURCE),
- getSourceRootInfos("project_test")
+ listOf(
+ "file:///src/test/java" to JavaSourceRootType.TEST_SOURCE,
+ "file:///src/test/kotlin" to JavaSourceRootType.TEST_SOURCE,
+ "file:///src/test/resources" to JavaResourceRootType.TEST_RESOURCE
+ ),
+ getSourceRootInfos("project_test")
)
}
@Test
fun testCoroutineImportByOptions() {
- createProjectSubFile(
- "build.gradle", """
- group 'Again'
- version '1.0-SNAPSHOT'
-
- buildscript {
- repositories {
- mavenCentral()
- maven {
- url 'https://dl.bintray.com/kotlin/kotlin-eap-1.1'
- }
- }
-
- dependencies {
- classpath("org.jetbrains.kotlin:kotlin-gradle-plugin:1.1.0")
- }
- }
-
- apply plugin: 'kotlin'
-
- dependencies {
- compile "org.jetbrains.kotlin:kotlin-stdlib:1.1.0"
- }
-
- kotlin {
- experimental {
- coroutines 'enable'
- }
- }
- """
- )
+ configureByFiles()
importProject()
with(facetSettings) {
@@ -516,32 +298,7 @@ compileTestKotlin {
@Test
fun testCoroutineImportByProperties() {
- createProjectSubFile("gradle.properties", "kotlin.coroutines=enable")
- createProjectSubFile(
- "build.gradle", """
- group 'Again'
- version '1.0-SNAPSHOT'
-
- buildscript {
- repositories {
- mavenCentral()
- maven {
- url 'https://dl.bintray.com/kotlin/kotlin-eap-1.1'
- }
- }
-
- dependencies {
- classpath("org.jetbrains.kotlin:kotlin-gradle-plugin:1.1.0")
- }
- }
-
- apply plugin: 'kotlin'
-
- dependencies {
- compile "org.jetbrains.kotlin:kotlin-stdlib:1.1.0"
- }
- """
- )
+ configureByFiles()
importProject()
with(facetSettings) {
@@ -551,45 +308,7 @@ compileTestKotlin {
@Test
fun testJsImport() {
- createProjectSubFile(
- "build.gradle", """
- group 'Again'
- version '1.0-SNAPSHOT'
-
- buildscript {
- repositories {
- mavenCentral()
- maven {
- url 'https://dl.bintray.com/kotlin/kotlin-eap-1.1'
- }
- }
-
- dependencies {
- classpath("org.jetbrains.kotlin:kotlin-gradle-plugin:1.1.0")
- }
- }
-
- apply plugin: 'kotlin2js'
-
- repositories {
- mavenCentral()
- }
-
- dependencies {
- compile "org.jetbrains.kotlin:kotlin-stdlib-js:1.1.0"
- }
-
- compileKotlin2Js {
- kotlinOptions.sourceMap = true
- kotlinOptions.freeCompilerArgs = ["-module-kind", "plain", "-main", "callMain"]
- }
-
- compileTestKotlin2Js {
- kotlinOptions.apiVersion = "1.0"
- kotlinOptions.freeCompilerArgs = ["-module-kind", "umd", "-main", "callTest"]
- }
- """
- )
+ configureByFiles()
importProject()
with(facetSettings) {
@@ -632,15 +351,19 @@ compileTestKotlin {
assertSameKotlinSdks("project_main", "project_test")
Assert.assertEquals(
- listOf("file:///src/main/java" to SourceKotlinRootType,
- "file:///src/main/kotlin" to SourceKotlinRootType,
- "file:///src/main/resources" to ResourceKotlinRootType),
- getSourceRootInfos("project_main")
+ listOf(
+ "file:///src/main/java" to SourceKotlinRootType,
+ "file:///src/main/kotlin" to SourceKotlinRootType,
+ "file:///src/main/resources" to ResourceKotlinRootType
+ ),
+ getSourceRootInfos("project_main")
)
Assert.assertEquals(
- listOf("file:///src/test/java" to TestSourceKotlinRootType,
- "file:///src/test/kotlin" to TestSourceKotlinRootType,
- "file:///src/test/resources" to TestResourceKotlinRootType),
+ listOf(
+ "file:///src/test/java" to TestSourceKotlinRootType,
+ "file:///src/test/kotlin" to TestSourceKotlinRootType,
+ "file:///src/test/resources" to TestResourceKotlinRootType
+ ),
getSourceRootInfos("project_test")
)
@@ -649,35 +372,7 @@ compileTestKotlin {
@Test
fun testJsImportTransitive() {
- createProjectSubFile(
- "build.gradle", """
- group 'Again'
- version '1.0-SNAPSHOT'
-
- buildscript {
- repositories {
- mavenCentral()
- maven {
- url 'https://dl.bintray.com/kotlin/kotlin-eap-1.1'
- }
- }
-
- dependencies {
- classpath("org.jetbrains.kotlin:kotlin-gradle-plugin:1.1.0")
- }
- }
-
- apply plugin: 'kotlin2js'
-
- repositories {
- mavenCentral()
- }
-
- dependencies {
- compile "org.jetbrains.kotlin:kotlin-test-js:1.1.0"
- }
- """
- )
+ configureByFiles()
importProject()
with(facetSettings) {
@@ -696,69 +391,26 @@ compileTestKotlin {
assertAllModulesConfigured()
Assert.assertEquals(
- listOf("file:///src/main/java" to SourceKotlinRootType,
- "file:///src/main/kotlin" to SourceKotlinRootType,
- "file:///src/main/resources" to ResourceKotlinRootType),
- getSourceRootInfos("project_main")
+ listOf(
+ "file:///src/main/java" to SourceKotlinRootType,
+ "file:///src/main/kotlin" to SourceKotlinRootType,
+ "file:///src/main/resources" to ResourceKotlinRootType
+ ),
+ getSourceRootInfos("project_main")
)
Assert.assertEquals(
- listOf("file:///src/test/java" to TestSourceKotlinRootType,
- "file:///src/test/kotlin" to TestSourceKotlinRootType,
- "file:///src/test/resources" to TestResourceKotlinRootType),
+ listOf(
+ "file:///src/test/java" to TestSourceKotlinRootType,
+ "file:///src/test/kotlin" to TestSourceKotlinRootType,
+ "file:///src/test/resources" to TestResourceKotlinRootType
+ ),
getSourceRootInfos("project_test")
)
}
@Test
fun testJsImportWithCustomSourceSets() {
- createProjectSubFile(
- "build.gradle", """
- group 'Again'
- version '1.0-SNAPSHOT'
-
- buildscript {
- repositories {
- mavenCentral()
- maven {
- url 'https://dl.bintray.com/kotlin/kotlin-eap-1.1'
- }
- }
-
- dependencies {
- classpath("org.jetbrains.kotlin:kotlin-gradle-plugin:1.1.0")
- }
- }
-
- apply plugin: 'kotlin2js'
-
- sourceSets {
- myMain {
- kotlin {
- srcDir 'src'
- }
- }
- myTest {
- kotlin {
- srcDir 'test'
- }
- }
- }
-
- dependencies {
- compile "org.jetbrains.kotlin:kotlin-stdlib-js:1.1.0"
- }
-
- compileMyMainKotlin2Js {
- kotlinOptions.sourceMap = true
- kotlinOptions.freeCompilerArgs = ["-module-kind", "plain", "-main", "callMain"]
- }
-
- compileMyTestKotlin2Js {
- kotlinOptions.apiVersion = "1.0"
- kotlinOptions.freeCompilerArgs = ["-module-kind", "umd", "-main", "callTest"]
- }
- """
- )
+ configureByFiles()
importProject()
with(facetSettings("project_myMain")) {
@@ -792,46 +444,26 @@ compileTestKotlin {
assertAllModulesConfigured()
Assert.assertEquals(
- listOf("file:///src/main/java" to SourceKotlinRootType,
- "file:///src/main/kotlin" to SourceKotlinRootType,
- "file:///src/main/resources" to ResourceKotlinRootType),
- getSourceRootInfos("project_main")
+ listOf(
+ "file:///src/main/java" to SourceKotlinRootType,
+ "file:///src/main/kotlin" to SourceKotlinRootType,
+ "file:///src/main/resources" to ResourceKotlinRootType
+ ),
+ getSourceRootInfos("project_main")
)
Assert.assertEquals(
- listOf("file:///src/test/java" to TestSourceKotlinRootType,
- "file:///src/test/kotlin" to TestSourceKotlinRootType,
- "file:///src/test/resources" to TestResourceKotlinRootType),
+ listOf(
+ "file:///src/test/java" to TestSourceKotlinRootType,
+ "file:///src/test/kotlin" to TestSourceKotlinRootType,
+ "file:///src/test/resources" to TestResourceKotlinRootType
+ ),
getSourceRootInfos("project_test")
)
}
@Test
fun testDetectOldJsStdlib() {
- createProjectSubFile(
- "build.gradle", """
- group 'Again'
- version '1.0-SNAPSHOT'
-
- buildscript {
- repositories {
- mavenCentral()
- maven {
- url 'https://dl.bintray.com/kotlin/kotlin-eap-1.1'
- }
- }
-
- dependencies {
- classpath("org.jetbrains.kotlin:kotlin-gradle-plugin:1.0.6")
- }
- }
-
- apply plugin: 'kotlin2js'
-
- dependencies {
- compile "org.jetbrains.kotlin:kotlin-js-library:1.0.6"
- }
- """
- )
+ configureByFiles()
importProject()
with(facetSettings) {
@@ -841,27 +473,7 @@ compileTestKotlin {
@Test
fun testJvmImportByPlatformPlugin() {
- createProjectSubFile(
- "build.gradle", """
- group 'Again'
- version '1.0-SNAPSHOT'
-
- buildscript {
- repositories {
- mavenCentral()
- maven {
- url 'https://dl.bintray.com/kotlin/kotlin-eap-1.1'
- }
- }
-
- dependencies {
- classpath("org.jetbrains.kotlin:kotlin-gradle-plugin:1.1.0")
- }
- }
-
- apply plugin: 'kotlin-platform-jvm'
- """
- )
+ configureByFiles()
importProject()
with(facetSettings) {
@@ -871,48 +483,26 @@ compileTestKotlin {
}
Assert.assertEquals(
- listOf("file:///src/main/java" to JavaSourceRootType.SOURCE,
- "file:///src/main/kotlin" to JavaSourceRootType.SOURCE,
- "file:///src/main/resources" to JavaResourceRootType.RESOURCE),
- getSourceRootInfos("project_main")
+ listOf(
+ "file:///src/main/java" to JavaSourceRootType.SOURCE,
+ "file:///src/main/kotlin" to JavaSourceRootType.SOURCE,
+ "file:///src/main/resources" to JavaResourceRootType.RESOURCE
+ ),
+ getSourceRootInfos("project_main")
)
Assert.assertEquals(
- listOf("file:///src/test/java" to JavaSourceRootType.TEST_SOURCE,
- "file:///src/test/kotlin" to JavaSourceRootType.TEST_SOURCE,
- "file:///src/test/resources" to JavaResourceRootType.TEST_RESOURCE),
- getSourceRootInfos("project_test")
+ listOf(
+ "file:///src/test/java" to JavaSourceRootType.TEST_SOURCE,
+ "file:///src/test/kotlin" to JavaSourceRootType.TEST_SOURCE,
+ "file:///src/test/resources" to JavaResourceRootType.TEST_RESOURCE
+ ),
+ getSourceRootInfos("project_test")
)
}
@Test
fun testJsImportByPlatformPlugin() {
- createProjectSubFile(
- "build.gradle", """
- group 'Again'
- version '1.0-SNAPSHOT'
-
- buildscript {
- repositories {
- mavenCentral()
- }
-
- dependencies {
- classpath("org.jetbrains.kotlin:kotlin-gradle-plugin:1.1.0")
- }
- }
-
- apply plugin: 'kotlin-platform-js'
-
- repositories {
- mavenCentral()
- }
-
- dependencies {
- compile "org.jetbrains.kotlin:kotlin-stdlib-common:1.1.0"
- compile "org.jetbrains.kotlin:kotlin-stdlib-js:1.1.0"
- }
- """
- )
+ configureByFiles()
importProject()
with(facetSettings) {
@@ -927,51 +517,26 @@ compileTestKotlin {
assertEquals(CommonLibraryKind, libraries.single { it.name?.contains("kotlin-stdlib-common") == true }.kind)
Assert.assertEquals(
- listOf("file:///src/main/java" to SourceKotlinRootType,
- "file:///src/main/kotlin" to SourceKotlinRootType,
- "file:///src/main/resources" to ResourceKotlinRootType),
- getSourceRootInfos("project_main")
+ listOf(
+ "file:///src/main/java" to SourceKotlinRootType,
+ "file:///src/main/kotlin" to SourceKotlinRootType,
+ "file:///src/main/resources" to ResourceKotlinRootType
+ ),
+ getSourceRootInfos("project_main")
)
Assert.assertEquals(
- listOf("file:///src/test/java" to TestSourceKotlinRootType,
- "file:///src/test/kotlin" to TestSourceKotlinRootType,
- "file:///src/test/resources" to TestResourceKotlinRootType),
+ listOf(
+ "file:///src/test/java" to TestSourceKotlinRootType,
+ "file:///src/test/kotlin" to TestSourceKotlinRootType,
+ "file:///src/test/resources" to TestResourceKotlinRootType
+ ),
getSourceRootInfos("project_test")
)
}
@Test
fun testCommonImportByPlatformPlugin() {
- createProjectSubFile(
- "build.gradle", """
- group 'Again'
- version '1.0-SNAPSHOT'
-
- buildscript {
- repositories {
- mavenCentral()
- maven {
- url 'https://dl.bintray.com/kotlin/kotlin-eap-1.1'
- }
- }
-
- dependencies {
- classpath("org.jetbrains.kotlin:kotlin-gradle-plugin:1.1.0")
- }
- }
-
- apply plugin: 'kotlin-platform-common'
-
- repositories {
- mavenCentral()
- }
-
- dependencies {
- compile "org.jetbrains.kotlin:kotlin-stdlib-common:1.1.0"
- }
-
- """
- )
+ configureByFiles()
importProject()
with(facetSettings) {
@@ -985,50 +550,26 @@ compileTestKotlin {
assertEquals(CommonLibraryKind, (stdlib as LibraryEx).kind)
Assert.assertEquals(
- listOf("file:///src/main/java" to SourceKotlinRootType,
- "file:///src/main/kotlin" to SourceKotlinRootType,
- "file:///src/main/resources" to ResourceKotlinRootType),
- getSourceRootInfos("project_main")
+ listOf(
+ "file:///src/main/java" to SourceKotlinRootType,
+ "file:///src/main/kotlin" to SourceKotlinRootType,
+ "file:///src/main/resources" to ResourceKotlinRootType
+ ),
+ getSourceRootInfos("project_main")
)
Assert.assertEquals(
- listOf("file:///src/test/java" to TestSourceKotlinRootType,
- "file:///src/test/kotlin" to TestSourceKotlinRootType,
- "file:///src/test/resources" to TestResourceKotlinRootType),
+ listOf(
+ "file:///src/test/java" to TestSourceKotlinRootType,
+ "file:///src/test/kotlin" to TestSourceKotlinRootType,
+ "file:///src/test/resources" to TestResourceKotlinRootType
+ ),
getSourceRootInfos("project_test")
)
}
@Test
fun testCommonImportByPlatformPlugin_SingleModule() {
- createProjectSubFile(
- "build.gradle", """
- group 'Again'
- version '1.0-SNAPSHOT'
-
- buildscript {
- repositories {
- mavenCentral()
- jcenter()
- }
-
- dependencies {
- classpath("org.jetbrains.kotlin:kotlin-gradle-plugin:1.1.0")
- }
- }
-
- apply plugin: 'kotlin-platform-common'
-
- repositories {
- mavenCentral()
- jcenter()
- }
-
- dependencies {
- compile "org.jetbrains.kotlin:kotlin-stdlib-common:1.1.0"
- }
-
- """
- )
+ configureByFiles()
importProjectUsingSingeModulePerGradleProject()
with(facetSettings("project")) {
@@ -1042,39 +583,21 @@ compileTestKotlin {
assertEquals(CommonLibraryKind, (stdlib as LibraryEx).kind)
Assert.assertEquals(
- listOf("file:///src/main/java" to SourceKotlinRootType,
- "file:///src/main/kotlin" to SourceKotlinRootType,
- "file:///src/test/java" to TestSourceKotlinRootType,
- "file:///src/test/kotlin" to TestSourceKotlinRootType,
- "file:///src/main/resources" to ResourceKotlinRootType,
- "file:///src/test/resources" to TestResourceKotlinRootType),
+ listOf(
+ "file:///src/main/java" to SourceKotlinRootType,
+ "file:///src/main/kotlin" to SourceKotlinRootType,
+ "file:///src/test/java" to TestSourceKotlinRootType,
+ "file:///src/test/kotlin" to TestSourceKotlinRootType,
+ "file:///src/main/resources" to ResourceKotlinRootType,
+ "file:///src/test/resources" to TestResourceKotlinRootType
+ ),
getSourceRootInfos("project")
)
}
@Test
fun testJvmImportByKotlinPlugin() {
- createProjectSubFile(
- "build.gradle", """
- group 'Again'
- version '1.0-SNAPSHOT'
-
- buildscript {
- repositories {
- mavenCentral()
- maven {
- url 'https://dl.bintray.com/kotlin/kotlin-eap-1.1'
- }
- }
-
- dependencies {
- classpath("org.jetbrains.kotlin:kotlin-gradle-plugin:1.1.0")
- }
- }
-
- apply plugin: 'kotlin'
- """
- )
+ configureByFiles()
importProject()
with(facetSettings) {
@@ -1084,42 +607,26 @@ compileTestKotlin {
}
Assert.assertEquals(
- listOf("file:///src/main/java" to JavaSourceRootType.SOURCE,
- "file:///src/main/kotlin" to JavaSourceRootType.SOURCE,
- "file:///src/main/resources" to JavaResourceRootType.RESOURCE),
- getSourceRootInfos("project_main")
+ listOf(
+ "file:///src/main/java" to JavaSourceRootType.SOURCE,
+ "file:///src/main/kotlin" to JavaSourceRootType.SOURCE,
+ "file:///src/main/resources" to JavaResourceRootType.RESOURCE
+ ),
+ getSourceRootInfos("project_main")
)
Assert.assertEquals(
- listOf("file:///src/test/java" to JavaSourceRootType.TEST_SOURCE,
- "file:///src/test/kotlin" to JavaSourceRootType.TEST_SOURCE,
- "file:///src/test/resources" to JavaResourceRootType.TEST_RESOURCE),
- getSourceRootInfos("project_test")
+ listOf(
+ "file:///src/test/java" to JavaSourceRootType.TEST_SOURCE,
+ "file:///src/test/kotlin" to JavaSourceRootType.TEST_SOURCE,
+ "file:///src/test/resources" to JavaResourceRootType.TEST_RESOURCE
+ ),
+ getSourceRootInfos("project_test")
)
}
@Test
fun testJsImportByKotlin2JsPlugin() {
- createProjectSubFile(
- "build.gradle", """
- group 'Again'
- version '1.0-SNAPSHOT'
-
- buildscript {
- repositories {
- mavenCentral()
- maven {
- url 'https://dl.bintray.com/kotlin/kotlin-eap-1.1'
- }
- }
-
- dependencies {
- classpath("org.jetbrains.kotlin:kotlin-gradle-plugin:1.1.0")
- }
- }
-
- apply plugin: 'kotlin2js'
- """
- )
+ configureByFiles()
importProject()
with(facetSettings) {
@@ -1129,46 +636,26 @@ compileTestKotlin {
}
Assert.assertEquals(
- listOf("file:///src/main/java" to SourceKotlinRootType,
- "file:///src/main/kotlin" to SourceKotlinRootType,
- "file:///src/main/resources" to ResourceKotlinRootType),
- getSourceRootInfos("project_main")
+ listOf(
+ "file:///src/main/java" to SourceKotlinRootType,
+ "file:///src/main/kotlin" to SourceKotlinRootType,
+ "file:///src/main/resources" to ResourceKotlinRootType
+ ),
+ getSourceRootInfos("project_main")
)
Assert.assertEquals(
- listOf("file:///src/test/java" to TestSourceKotlinRootType,
- "file:///src/test/kotlin" to TestSourceKotlinRootType,
- "file:///src/test/resources" to TestResourceKotlinRootType),
+ listOf(
+ "file:///src/test/java" to TestSourceKotlinRootType,
+ "file:///src/test/kotlin" to TestSourceKotlinRootType,
+ "file:///src/test/resources" to TestResourceKotlinRootType
+ ),
getSourceRootInfos("project_test")
)
}
@Test
fun testArgumentEscaping() {
- createProjectSubFile(
- "build.gradle", """
- group 'Again'
- version '1.0-SNAPSHOT'
-
- buildscript {
- repositories {
- mavenCentral()
- maven {
- url 'https://dl.bintray.com/kotlin/kotlin-eap-1.1'
- }
- }
-
- dependencies {
- classpath("org.jetbrains.kotlin:kotlin-gradle-plugin:1.1.0")
- }
- }
-
- apply plugin: 'kotlin-platform-jvm'
-
- compileKotlin {
- kotlinOptions.freeCompilerArgs = ["-module", "module with spaces"]
- }
- """
- )
+ configureByFiles()
importProject()
with(facetSettings) {
@@ -1181,26 +668,7 @@ compileTestKotlin {
@Test
fun testNoPluginsInAdditionalArgs() {
- createProjectSubFile(
- "build.gradle", """
- group 'Again'
- version '1.0-SNAPSHOT'
-
- buildscript {
- repositories {
- mavenCentral()
- }
-
- dependencies {
- classpath("org.jetbrains.kotlin:kotlin-gradle-plugin:1.2.10")
- classpath("org.jetbrains.kotlin:kotlin-allopen:1.2.10")
- }
- }
-
- apply plugin: 'kotlin'
- apply plugin: "kotlin-spring"
- """
- )
+ configureByFiles()
importProject()
with(facetSettings) {
@@ -1224,31 +692,7 @@ compileTestKotlin {
@Test
fun testNoArgInvokeInitializers() {
- createProjectSubFile(
- "build.gradle", """
- group 'Again'
- version '1.0-SNAPSHOT'
-
- buildscript {
- repositories {
- mavenCentral()
- }
-
- dependencies {
- classpath("org.jetbrains.kotlin:kotlin-gradle-plugin:1.2.10")
- classpath("org.jetbrains.kotlin:kotlin-noarg:1.2.10")
- }
- }
-
- apply plugin: 'kotlin'
- apply plugin: "kotlin-noarg"
-
- noArg {
- invokeInitializers = true
- annotation("NoArg")
- }
- """
- )
+ configureByFiles()
importProject()
with(facetSettings) {
@@ -1268,129 +712,7 @@ compileTestKotlin {
@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 26
- 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 'https://dl.bintray.com/kotlin/kotlin-dev'
- }
- }
-
- dependencies {
- classpath("org.jetbrains.kotlin:kotlin-gradle-plugin:1.2.40")
- }
- }
-
- 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'
- """
- )
+ configureByFiles()
createProjectSubFile(
"local.properties", """
sdk.dir=/${KotlinTestUtils.getAndroidSdkSystemIndependentPath()}
@@ -1414,77 +736,12 @@ compileTestKotlin {
@Test
fun testKotlinAndroidPluginDetection() {
- createProjectSubFile(
- "build.gradle", """
- group 'Again'
- version '1.0-SNAPSHOT'
-
- buildscript {
- repositories {
- jcenter()
- mavenCentral()
- }
- dependencies {
- classpath "com.android.tools.build:gradle:2.3.0"
- classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:1.2.50"
- }
- }
-
- apply plugin: 'com.android.application'
- apply plugin: 'kotlin-android'
-
- android {
- compileSdkVersion 26
- 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
- }
- }
- }
-
- tasks.withType(org.jetbrains.kotlin.gradle.tasks.KotlinCompile).all {
- kotlinOptions {
- freeCompilerArgs = ['-progressive']
- }
- }
- """
- )
+ configureByFiles()
createProjectSubFile(
"local.properties", """
sdk.dir=/${KotlinTestUtils.getAndroidSdkSystemIndependentPath()}
"""
)
- createProjectSubFile(
- "src/main/AndroidManifest.xml", """
-
-
- """
- )
importProject()
val kotlinFacet = KotlinFacet.get(getModule("project"))!!
@@ -1493,62 +750,8 @@ compileTestKotlin {
@Test
fun testNoFacetInModuleWithoutKotlinPlugin() {
- createProjectSubFile(
- "build.gradle", """
- group 'gr01'
- version '1.0-SNAPSHOT'
+ configureByFiles()
- apply plugin: 'java'
- apply plugin: 'kotlin'
-
- sourceCompatibility = 1.8
-
- repositories {
- mavenCentral()
- }
-
- buildscript {
- repositories {
- mavenCentral()
- }
- dependencies {
- classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:1.1.1"
- }
- }
- dependencies {
- compile "org.jetbrains.kotlin:kotlin-stdlib-jre8:1.1.1"
- }
- """
- )
- createProjectSubFile(
- "settings.gradle", """
- rootProject.name = 'gr01'
- include 'm1'
- """
- )
- createProjectSubFile(
- "m1/build.gradle", """
- group 'gr01'
- version '1.0-SNAPSHOT'
-
- apply plugin: 'java'
-
- sourceCompatibility = 1.8
-
- repositories {
- mavenCentral()
- }
-
- buildscript {
- repositories {
- mavenCentral()
- }
- }
- dependencies {
- testCompile group: 'junit', name: 'junit', version: '4.11'
- }
- """
- )
importProject()
Assert.assertNotNull(KotlinFacet.get(getModule("gr01_main")))
@@ -1559,36 +762,7 @@ compileTestKotlin {
@Test
fun testClasspathWithDependenciesImport() {
- createProjectSubFile(
- "build.gradle", """
- group 'Again'
- version '1.0-SNAPSHOT'
-
- buildscript {
- repositories {
- mavenCentral()
- maven {
- url 'https://dl.bintray.com/kotlin/kotlin-eap-1.1'
- }
- }
-
- dependencies {
- classpath("org.jetbrains.kotlin:kotlin-gradle-plugin:1.1.0")
- }
- }
-
- apply plugin: 'kotlin'
-
- dependencies {
- compile "org.jetbrains.kotlin:kotlin-stdlib:1.1.0"
- compile "org.apache.logging.log4j:log4j-core:2.7"
- }
-
- compileKotlin {
- kotlinOptions.freeCompilerArgs += ["-cp", "tmp.jar"]
- }
- """
- )
+ configureByFiles()
importProject()
with(facetSettings) {
@@ -1598,32 +772,7 @@ compileTestKotlin {
@Test
fun testDependenciesClasspathImport() {
- createProjectSubFile(
- "build.gradle", """
- group 'Again'
- version '1.0-SNAPSHOT'
-
- buildscript {
- repositories {
- mavenCentral()
- maven {
- url 'https://dl.bintray.com/kotlin/kotlin-eap-1.1'
- }
- }
-
- dependencies {
- classpath("org.jetbrains.kotlin:kotlin-gradle-plugin:1.1.0")
- }
- }
-
- apply plugin: 'kotlin'
-
- dependencies {
- compile "org.jetbrains.kotlin:kotlin-stdlib:1.1.0"
- compile "org.apache.logging.log4j:log4j-core:2.7"
- }
- """
- )
+ configureByFiles()
importProject()
with(facetSettings) {
@@ -1641,36 +790,7 @@ compileTestKotlin {
}.execute()
try {
- createProjectSubFile(
- "build.gradle", """
- group 'Again'
- version '1.0-SNAPSHOT'
-
- buildscript {
- repositories {
- mavenCentral()
- maven {
- url 'https://dl.bintray.com/kotlin/kotlin-eap-1.1'
- }
- }
-
- dependencies {
- classpath("org.jetbrains.kotlin:kotlin-gradle-plugin:1.1.0")
- }
- }
-
- apply plugin: 'kotlin'
-
- dependencies {
- compile "org.jetbrains.kotlin:kotlin-stdlib:1.1.0"
- compile "org.apache.logging.log4j:log4j-core:2.7"
- }
-
- compileKotlin {
- kotlinOptions.jdkHome = "my/path/to/jdk"
- }
- """
- )
+ configureByFiles()
importProject()
val moduleSDK = ModuleRootManager.getInstance(getModule("project_main")).sdk!!
@@ -1689,106 +809,7 @@ compileTestKotlin {
@Test
fun testImplementsDependency() {
- createProjectSubFile(
- "build.gradle",
- """
- buildscript {
- repositories {
- mavenCentral()
- maven {
- url 'https://dl.bintray.com/kotlin/kotlin-eap-1.1'
- }
- }
- dependencies {
- classpath("org.jetbrains.kotlin:kotlin-gradle-plugin:1.1.0")
- }
- }
-
- apply plugin: 'kotlin-platform-common'
-
- repositories {
- mavenCentral()
- maven {
- url 'https://dl.bintray.com/kotlin/kotlin-eap-1.1'
- }
- }
-
- dependencies {
- compile "org.jetbrains.kotlin:kotlin-stdlib-common:1.1.0"
- }
-
- """.trimIndent()
- )
- createProjectSubFile(
- "settings.gradle",
- """
- rootProject.name = 'MultiTest'
- include 'MultiTest-jvm', 'MultiTest-js'
- """.trimIndent()
- )
- createProjectSubFile(
- "MultiTest-js/build.gradle",
- """
- buildscript {
- repositories {
- mavenCentral()
- maven {
- url 'https://dl.bintray.com/kotlin/kotlin-eap-1.1'
- }
- }
- dependencies {
- classpath("org.jetbrains.kotlin:kotlin-gradle-plugin:1.1.0")
- }
- }
-
- apply plugin: 'kotlin-platform-js'
-
- repositories {
- mavenCentral()
- maven {
- url 'https://dl.bintray.com/kotlin/kotlin-eap-1.1'
- }
- }
-
- dependencies {
- compile "org.jetbrains.kotlin:kotlin-stdlib-js:1.1.0"
- implement project(":")
- }
-
- """.trimIndent()
- )
- createProjectSubFile(
- "MultiTest-jvm/build.gradle",
- """
- buildscript {
- repositories {
- mavenCentral()
- maven {
- url 'https://dl.bintray.com/kotlin/kotlin-eap-1.1'
- }
- }
- dependencies {
- classpath("org.jetbrains.kotlin:kotlin-gradle-plugin:1.1.0")
- }
- }
-
- apply plugin: 'kotlin-platform-jvm'
-
- repositories {
- mavenCentral()
- maven {
- url 'https://dl.bintray.com/kotlin/kotlin-eap-1.1'
- }
- }
-
- dependencies {
- compile "org.jetbrains.kotlin:kotlin-stdlib:1.1.0"
- implement project(":")
- }
-
- """.trimIndent()
- )
-
+ configureByFiles()
importProject()
Assert.assertEquals(listOf("MultiTest_main"), facetSettings("MultiTest-jvm_main").implementedModuleNames)
@@ -1799,144 +820,7 @@ compileTestKotlin {
@Test
fun testImplementsDependencyWithCustomSourceSets() {
- createProjectSubFile(
- "build.gradle",
- """
- buildscript {
- repositories {
- mavenCentral()
- maven {
- url 'https://dl.bintray.com/kotlin/kotlin-eap-1.1'
- }
- }
- dependencies {
- classpath("org.jetbrains.kotlin:kotlin-gradle-plugin:1.1.0")
- }
- }
-
- apply plugin: 'kotlin-platform-common'
-
- sourceSets {
- myMain {
- kotlin {
- srcDir 'src'
- }
- }
- myTest {
- kotlin {
- srcDir 'test'
- }
- }
- }
-
- repositories {
- mavenCentral()
- maven {
- url 'https://dl.bintray.com/kotlin/kotlin-eap-1.1'
- }
- }
-
- dependencies {
- compile "org.jetbrains.kotlin:kotlin-stdlib-common:1.1.0"
- }
-
- """.trimIndent()
- )
- createProjectSubFile(
- "settings.gradle",
- """
- rootProject.name = 'MultiTest'
- include 'MultiTest-jvm', 'MultiTest-js'
- """.trimIndent()
- )
- createProjectSubFile(
- "MultiTest-js/build.gradle",
- """
- buildscript {
- repositories {
- mavenCentral()
- maven {
- url 'https://dl.bintray.com/kotlin/kotlin-eap-1.1'
- }
- }
- dependencies {
- classpath("org.jetbrains.kotlin:kotlin-gradle-plugin:1.1.0")
- }
- }
-
- apply plugin: 'kotlin-platform-js'
-
- sourceSets {
- myMain {
- kotlin {
- srcDir 'src'
- }
- }
- myTest {
- kotlin {
- srcDir 'test'
- }
- }
- }
-
- repositories {
- mavenCentral()
- maven {
- url 'https://dl.bintray.com/kotlin/kotlin-eap-1.1'
- }
- }
-
- dependencies {
- compile "org.jetbrains.kotlin:kotlin-stdlib-js:1.1.0"
- implement project(":")
- }
-
- """.trimIndent()
- )
- createProjectSubFile(
- "MultiTest-jvm/build.gradle",
- """
- buildscript {
- repositories {
- mavenCentral()
- maven {
- url 'https://dl.bintray.com/kotlin/kotlin-eap-1.1'
- }
- }
- dependencies {
- classpath("org.jetbrains.kotlin:kotlin-gradle-plugin:1.1.0")
- }
- }
-
- apply plugin: 'kotlin-platform-jvm'
-
- sourceSets {
- myMain {
- kotlin {
- srcDir 'src'
- }
- }
- myTest {
- kotlin {
- srcDir 'test'
- }
- }
- }
-
- repositories {
- mavenCentral()
- maven {
- url 'https://dl.bintray.com/kotlin/kotlin-eap-1.1'
- }
- }
-
- dependencies {
- compile "org.jetbrains.kotlin:kotlin-stdlib:1.1.0"
- implement project(":")
- }
-
- """.trimIndent()
- )
+ configureByFiles()
importProject()
@@ -1948,33 +832,7 @@ compileTestKotlin {
@Test
fun testAPIVersionExceedingLanguageVersion() {
- createProjectSubFile(
- "build.gradle", """
- buildscript {
- repositories {
- mavenCentral()
- maven {
- url 'https://dl.bintray.com/kotlin/kotlin-eap-1.1'
- }
- }
-
- dependencies {
- classpath("org.jetbrains.kotlin:kotlin-gradle-plugin:1.1.0")
- }
- }
-
- apply plugin: 'kotlin'
-
- dependencies {
- compile "org.jetbrains.kotlin:kotlin-stdlib:1.1.0"
- }
-
- compileKotlin {
- kotlinOptions.languageVersion = "1.1"
- kotlinOptions.apiVersion = "1.2"
- }
- """
- )
+ configureByFiles()
importProject()
with(facetSettings) {
@@ -1992,28 +850,7 @@ compileTestKotlin {
apiVersion = "1.0"
}
- createProjectSubFile(
- "build.gradle", """
- buildscript {
- repositories {
- mavenCentral()
- maven {
- url 'https://dl.bintray.com/kotlin/kotlin-eap-1.1'
- }
- }
-
- dependencies {
- classpath("org.jetbrains.kotlin:kotlin-gradle-plugin:1.1.0")
- }
- }
-
- apply plugin: 'kotlin'
-
- dependencies {
- compile "org.jetbrains.kotlin:kotlin-stdlib:1.1.0"
- }
- """
- )
+ configureByFiles()
importProject()
with(facetSettings) {
@@ -2026,57 +863,7 @@ compileTestKotlin {
@Test
fun testCommonArgumentsImport() {
- createProjectSubFile(
- "build.gradle", """
- group 'Again'
- version '1.0-SNAPSHOT'
-
- buildscript {
- repositories {
- mavenCentral()
- maven {
- url 'https://dl.bintray.com/kotlin/kotlin-eap-1.2'
- }
- }
-
- dependencies {
- classpath("org.jetbrains.kotlin:kotlin-gradle-plugin:1.2.40")
- }
- }
-
- apply plugin: 'kotlin-platform-common'
-
- repositories {
- mavenCentral()
- maven {
- url 'https://dl.bintray.com/kotlin/kotlin-eap-1.2'
- }
- }
-
- dependencies {
- compile "org.jetbrains.kotlin:kotlin-stdlib-common:1.2.40"
- }
-
- compileKotlinCommon{
- kotlinOptions {
- languageVersion = 1.1
- apiVersion = 1.0
- freeCompilerArgs += ["-cp", "my/classpath"]
- freeCompilerArgs += ["-d", "my/destination"]
- }
- }
-
- compileTestKotlinCommon{
- kotlinOptions {
- languageVersion = 1.1
- apiVersion = 1.0
- freeCompilerArgs += ["-cp", "my/test/classpath"]
- freeCompilerArgs += ["-d", "my/test/destination"]
- }
- }
-
- """
- )
+ configureByFiles()
importProject()
with(facetSettings) {
@@ -2106,47 +893,24 @@ compileTestKotlin {
assertSameKotlinSdks("project_main", "project_test")
Assert.assertEquals(
- listOf("file:///src/main/kotlin" to SourceKotlinRootType,
- "file:///src/main/resources" to ResourceKotlinRootType),
- getSourceRootInfos("project_main")
+ listOf(
+ "file:///src/main/kotlin" to SourceKotlinRootType,
+ "file:///src/main/resources" to ResourceKotlinRootType
+ ),
+ getSourceRootInfos("project_main")
)
Assert.assertEquals(
- listOf("file:///src/test/kotlin" to TestSourceKotlinRootType,
- "file:///src/test/resources" to TestResourceKotlinRootType),
+ listOf(
+ "file:///src/test/kotlin" to TestSourceKotlinRootType,
+ "file:///src/test/resources" to TestResourceKotlinRootType
+ ),
getSourceRootInfos("project_test")
)
}
@Test
fun testInternalArgumentsFacetImporting() {
- createProjectSubFile(
- "build.gradle", """
- buildscript {
- repositories {
- mavenCentral()
- }
-
- dependencies {
- classpath("org.jetbrains.kotlin:kotlin-gradle-plugin:1.2.50")
- }
- }
-
- apply plugin: 'kotlin'
-
- repositories {
- mavenCentral()
- }
-
- dependencies {
- compile "org.jetbrains.kotlin:kotlin-stdlib:1.2.50"
- }
-
- compileKotlin {
- kotlinOptions.freeCompilerArgs = ["-XXLanguage:+InlineClasses"]
- kotlinOptions.languageVersion = "1.2"
- }
- """
- )
+ configureByFiles()
importProject()
// Version is indeed 1.2
@@ -2165,31 +929,8 @@ compileTestKotlin {
}
@Test
- fun testStableModuleNameWhileUsingGradle_JS() {
- createProjectSubFile(
- "build.gradle", """
- buildscript {
- repositories {
- mavenCentral()
- }
-
- dependencies {
- classpath("org.jetbrains.kotlin:kotlin-gradle-plugin:1.2.50")
- }
- }
-
- apply plugin: 'kotlin2js'
-
- repositories {
- mavenCentral()
- }
-
- dependencies {
- compile "org.jetbrains.kotlin:kotlin-stdlib:1.2.50"
- }
-
- """
- )
+ fun testStableModuleNameWhileUsingGradleJS() {
+ configureByFiles()
importProject()
checkStableModuleName("project_main", "project", JsPlatform, isProduction = true)
@@ -2200,34 +941,8 @@ compileTestKotlin {
}
@Test
- fun testStableModuleNameWhileUsingGradle_JVM() {
- createProjectSubFile(
- "build.gradle", """
- buildscript {
- repositories {
- mavenCentral()
- }
-
- dependencies {
- classpath("org.jetbrains.kotlin:kotlin-gradle-plugin:1.2.50")
- }
- }
-
- apply plugin: 'kotlin'
-
- repositories {
- mavenCentral()
- }
-
- dependencies {
- compile "org.jetbrains.kotlin:kotlin-stdlib:1.2.50"
- }
-
- compileKotlin {
- kotlinOptions.languageVersion = "1.2"
- }
- """
- )
+ fun testStableModuleNameWhileUsingGradleJVM() {
+ configureByFiles()
importProject()
checkStableModuleName("project_main", "project", JvmPlatform, isProduction = true)
@@ -2238,35 +953,7 @@ compileTestKotlin {
@Test
fun testNoFriendPathsAreShown() {
- createProjectSubFile(
- "build.gradle", """
- buildscript {
- repositories {
- mavenCentral()
- maven {
- url 'https://dl.bintray.com/kotlin/kotlin-dev'
- }
- }
-
- dependencies {
- classpath("org.jetbrains.kotlin:kotlin-gradle-plugin:1.2.70-eap-4")
- }
- }
-
- apply plugin: 'kotlin'
-
- repositories {
- mavenCentral()
- maven {
- url 'https://dl.bintray.com/kotlin/kotlin-dev'
- }
- }
-
- dependencies {
- compile "org.jetbrains.kotlin:kotlin-stdlib:1.2.70-eap-4"
- }
- """
- )
+ configureByFiles()
importProject()
Assert.assertEquals(
@@ -2279,100 +966,7 @@ compileTestKotlin {
@Test
fun testSharedLanguageVersion() {
- createProjectSubFile(
- "build.gradle",
- """
- buildscript {
- repositories {
- mavenCentral()
- }
- dependencies {
- classpath("org.jetbrains.kotlin:kotlin-gradle-plugin:1.2.60")
- }
- }
-
- apply plugin: 'kotlin-platform-common'
-
- repositories {
- mavenCentral()
- }
-
- dependencies {
- compile "org.jetbrains.kotlin:kotlin-stdlib-common:1.2.60"
- }
-
- """.trimIndent()
- )
- createProjectSubFile(
- "settings.gradle",
- """
- rootProject.name = 'MultiTest'
- include 'MultiTest-jvm', 'MultiTest-js'
- """.trimIndent()
- )
- createProjectSubFile(
- "MultiTest-js/build.gradle",
- """
- buildscript {
- repositories {
- mavenCentral()
- }
- dependencies {
- classpath("org.jetbrains.kotlin:kotlin-gradle-plugin:1.2.60")
- }
- }
-
- apply plugin: 'kotlin-platform-js'
-
- sourceSets {
- myMain {
- kotlin {
- srcDir 'src'
- }
- }
- myTest {
- kotlin {
- srcDir 'test'
- }
- }
- }
-
- repositories {
- mavenCentral()
- }
-
- dependencies {
- compile "org.jetbrains.kotlin:kotlin-stdlib-js:1.2.60"
- implement project(":")
- }
-
- """.trimIndent()
- )
- createProjectSubFile(
- "MultiTest-jvm/build.gradle",
- """
- buildscript {
- repositories {
- mavenCentral()
- }
- dependencies {
- classpath("org.jetbrains.kotlin:kotlin-gradle-plugin:1.2.60")
- }
- }
-
- apply plugin: 'kotlin-platform-jvm'
-
- repositories {
- mavenCentral()
- }
-
- dependencies {
- compile "org.jetbrains.kotlin:kotlin-stdlib:1.2.60"
- implement project(":")
- }
-
- """.trimIndent()
- )
+ configureByFiles()
val holder = KotlinCommonCompilerArgumentsHolder.getInstance(myProject)
@@ -2385,105 +979,7 @@ compileTestKotlin {
@Test
fun testNonSharedLanguageVersion() {
- createProjectSubFile(
- "build.gradle",
- """
- buildscript {
- repositories {
- mavenCentral()
- }
- dependencies {
- classpath("org.jetbrains.kotlin:kotlin-gradle-plugin:1.2.60")
- }
- }
-
- apply plugin: 'kotlin-platform-common'
-
- repositories {
- mavenCentral()
- }
-
- dependencies {
- compile "org.jetbrains.kotlin:kotlin-stdlib-common:1.2.60"
- }
-
- compileKotlinCommon {
- kotlinOptions.languageVersion = "1.1"
- }
-
- """.trimIndent()
- )
- createProjectSubFile(
- "settings.gradle",
- """
- rootProject.name = 'MultiTest'
- include 'MultiTest-jvm', 'MultiTest-js'
- """.trimIndent()
- )
- createProjectSubFile(
- "MultiTest-js/build.gradle",
- """
- buildscript {
- repositories {
- mavenCentral()
- }
- dependencies {
- classpath("org.jetbrains.kotlin:kotlin-gradle-plugin:1.2.60")
- }
- }
-
- apply plugin: 'kotlin-platform-js'
-
- repositories {
- mavenCentral()
- }
-
- dependencies {
- compile "org.jetbrains.kotlin:kotlin-stdlib-js:1.2.60"
- implement project(":")
- }
-
- """.trimIndent()
- )
- createProjectSubFile(
- "MultiTest-jvm/build.gradle",
- """
- buildscript {
- repositories {
- mavenCentral()
- }
- dependencies {
- classpath("org.jetbrains.kotlin:kotlin-gradle-plugin:1.2.60")
- }
- }
-
- apply plugin: 'kotlin-platform-jvm'
-
- sourceSets {
- myMain {
- kotlin {
- srcDir 'src'
- }
- }
- myTest {
- kotlin {
- srcDir 'test'
- }
- }
- }
-
- repositories {
- mavenCentral()
- }
-
- dependencies {
- compile "org.jetbrains.kotlin:kotlin-stdlib:1.2.60"
- implement project(":")
- }
-
- """.trimIndent()
- )
-
+ configureByFiles()
val holder = KotlinCommonCompilerArgumentsHolder.getInstance(myProject)
holder.update { languageVersion = "1.1" }
@@ -2513,4 +1009,8 @@ compileTestKotlin {
}
}
}
+
+ override fun testDataDirName(): String {
+ return "gradleFacetImportTest"
+ }
}
diff --git a/idea/testData/gradle/gradleFacetImportTest/aPIVersionExceedingLanguageVersion/build.gradle b/idea/testData/gradle/gradleFacetImportTest/aPIVersionExceedingLanguageVersion/build.gradle
new file mode 100644
index 00000000000..b44515e3ada
--- /dev/null
+++ b/idea/testData/gradle/gradleFacetImportTest/aPIVersionExceedingLanguageVersion/build.gradle
@@ -0,0 +1,23 @@
+buildscript {
+ repositories {
+ mavenCentral()
+ maven {
+url 'https://dl.bintray.com/kotlin/kotlin-eap-1.1'
+ }
+ }
+
+ dependencies {
+ classpath("org.jetbrains.kotlin:kotlin-gradle-plugin:1.1.0")
+ }
+}
+
+apply plugin: 'kotlin'
+
+dependencies {
+ compile "org.jetbrains.kotlin:kotlin-stdlib:1.1.0"
+}
+
+compileKotlin {
+ kotlinOptions.languageVersion = "1.1"
+ kotlinOptions.apiVersion = "1.2"
+}
diff --git a/idea/testData/gradle/gradleFacetImportTest/androidGradleJsDetection/android-module/build.gradle b/idea/testData/gradle/gradleFacetImportTest/androidGradleJsDetection/android-module/build.gradle
new file mode 100644
index 00000000000..1d87ef7bccc
--- /dev/null
+++ b/idea/testData/gradle/gradleFacetImportTest/androidGradleJsDetection/android-module/build.gradle
@@ -0,0 +1,45 @@
+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 26
+ 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
+ }
+ }
+}
diff --git a/idea/testData/gradle/gradleFacetImportTest/androidGradleJsDetection/android-module/src/main/AndroidManifest.xml b/idea/testData/gradle/gradleFacetImportTest/androidGradleJsDetection/android-module/src/main/AndroidManifest.xml
new file mode 100644
index 00000000000..c3296c53600
--- /dev/null
+++ b/idea/testData/gradle/gradleFacetImportTest/androidGradleJsDetection/android-module/src/main/AndroidManifest.xml
@@ -0,0 +1,4 @@
+
+
diff --git a/idea/testData/gradle/gradleFacetImportTest/androidGradleJsDetection/build.gradle b/idea/testData/gradle/gradleFacetImportTest/androidGradleJsDetection/build.gradle
new file mode 100644
index 00000000000..5f2d92d3e19
--- /dev/null
+++ b/idea/testData/gradle/gradleFacetImportTest/androidGradleJsDetection/build.gradle
@@ -0,0 +1,30 @@
+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()
+ }
+}
diff --git a/idea/testData/gradle/gradleFacetImportTest/androidGradleJsDetection/js-module/build.gradle b/idea/testData/gradle/gradleFacetImportTest/androidGradleJsDetection/js-module/build.gradle
new file mode 100644
index 00000000000..d68b1878b27
--- /dev/null
+++ b/idea/testData/gradle/gradleFacetImportTest/androidGradleJsDetection/js-module/build.gradle
@@ -0,0 +1,21 @@
+group 'Again'
+version '1.0-SNAPSHOT'
+
+buildscript {
+ repositories {
+ mavenCentral()
+ maven {
+url 'https://dl.bintray.com/kotlin/kotlin-dev'
+ }
+ }
+
+ dependencies {
+ classpath("org.jetbrains.kotlin:kotlin-gradle-plugin:1.2.40")
+ }
+}
+
+apply plugin: 'kotlin2js'
+
+dependencies {
+ compile "org.jetbrains.kotlin:kotlin-stdlib-js:1.1.0"
+}
diff --git a/idea/testData/gradle/gradleFacetImportTest/androidGradleJsDetection/settings.gradle b/idea/testData/gradle/gradleFacetImportTest/androidGradleJsDetection/settings.gradle
new file mode 100644
index 00000000000..d86bf928413
--- /dev/null
+++ b/idea/testData/gradle/gradleFacetImportTest/androidGradleJsDetection/settings.gradle
@@ -0,0 +1,3 @@
+rootProject.name = "android-js-test"
+include ':android-module'
+include ':js-module'
diff --git a/idea/testData/gradle/gradleFacetImportTest/argumentEscaping/build.gradle b/idea/testData/gradle/gradleFacetImportTest/argumentEscaping/build.gradle
new file mode 100644
index 00000000000..22ff2ec3149
--- /dev/null
+++ b/idea/testData/gradle/gradleFacetImportTest/argumentEscaping/build.gradle
@@ -0,0 +1,21 @@
+group 'Again'
+version '1.0-SNAPSHOT'
+
+buildscript {
+ repositories {
+ mavenCentral()
+ maven {
+url 'https://dl.bintray.com/kotlin/kotlin-eap-1.1'
+ }
+ }
+
+ dependencies {
+ classpath("org.jetbrains.kotlin:kotlin-gradle-plugin:1.1.0")
+ }
+}
+
+apply plugin: 'kotlin-platform-jvm'
+
+compileKotlin {
+ kotlinOptions.freeCompilerArgs = ["-module", "module with spaces"]
+}
diff --git a/idea/testData/gradle/gradleFacetImportTest/classpathWithDependenciesImport/build.gradle b/idea/testData/gradle/gradleFacetImportTest/classpathWithDependenciesImport/build.gradle
new file mode 100644
index 00000000000..1f400cf0784
--- /dev/null
+++ b/idea/testData/gradle/gradleFacetImportTest/classpathWithDependenciesImport/build.gradle
@@ -0,0 +1,26 @@
+group 'Again'
+version '1.0-SNAPSHOT'
+
+buildscript {
+ repositories {
+ mavenCentral()
+ maven {
+url 'https://dl.bintray.com/kotlin/kotlin-eap-1.1'
+ }
+ }
+
+ dependencies {
+ classpath("org.jetbrains.kotlin:kotlin-gradle-plugin:1.1.0")
+ }
+}
+
+apply plugin: 'kotlin'
+
+dependencies {
+ compile "org.jetbrains.kotlin:kotlin-stdlib:1.1.0"
+ compile "org.apache.logging.log4j:log4j-core:2.7"
+}
+
+compileKotlin {
+ kotlinOptions.freeCompilerArgs += ["-cp", "tmp.jar"]
+}
diff --git a/idea/testData/gradle/gradleFacetImportTest/commonArgumentsImport/build.gradle b/idea/testData/gradle/gradleFacetImportTest/commonArgumentsImport/build.gradle
new file mode 100644
index 00000000000..11e6d74e9ad
--- /dev/null
+++ b/idea/testData/gradle/gradleFacetImportTest/commonArgumentsImport/build.gradle
@@ -0,0 +1,46 @@
+group 'Again'
+version '1.0-SNAPSHOT'
+
+buildscript {
+ repositories {
+ mavenCentral()
+ maven {
+url 'https://dl.bintray.com/kotlin/kotlin-eap-1.2'
+ }
+ }
+
+ dependencies {
+ classpath("org.jetbrains.kotlin:kotlin-gradle-plugin:1.2.40")
+ }
+}
+
+apply plugin: 'kotlin-platform-common'
+
+repositories {
+ mavenCentral()
+ maven {
+ url 'https://dl.bintray.com/kotlin/kotlin-eap-1.2'
+ }
+}
+
+dependencies {
+ compile "org.jetbrains.kotlin:kotlin-stdlib-common:1.2.40"
+}
+
+compileKotlinCommon{
+ kotlinOptions {
+ languageVersion = 1.1
+ apiVersion = 1.0
+ freeCompilerArgs += ["-cp", "my/classpath"]
+ freeCompilerArgs += ["-d", "my/destination"]
+ }
+}
+
+compileTestKotlinCommon{
+ kotlinOptions {
+ languageVersion = 1.1
+ apiVersion = 1.0
+ freeCompilerArgs += ["-cp", "my/test/classpath"]
+ freeCompilerArgs += ["-d", "my/test/destination"]
+ }
+}
diff --git a/idea/testData/gradle/gradleFacetImportTest/commonImportByPlatformPlugin/build.gradle b/idea/testData/gradle/gradleFacetImportTest/commonImportByPlatformPlugin/build.gradle
new file mode 100644
index 00000000000..a4c6b156e49
--- /dev/null
+++ b/idea/testData/gradle/gradleFacetImportTest/commonImportByPlatformPlugin/build.gradle
@@ -0,0 +1,25 @@
+group 'Again'
+version '1.0-SNAPSHOT'
+
+buildscript {
+ repositories {
+ mavenCentral()
+ maven {
+url 'https://dl.bintray.com/kotlin/kotlin-eap-1.1'
+ }
+ }
+
+ dependencies {
+ classpath("org.jetbrains.kotlin:kotlin-gradle-plugin:1.1.0")
+ }
+}
+
+apply plugin: 'kotlin-platform-common'
+
+repositories {
+ mavenCentral()
+}
+
+dependencies {
+ compile "org.jetbrains.kotlin:kotlin-stdlib-common:1.1.0"
+}
diff --git a/idea/testData/gradle/gradleFacetImportTest/commonImportByPlatformPlugin_SingleModule/build.gradle b/idea/testData/gradle/gradleFacetImportTest/commonImportByPlatformPlugin_SingleModule/build.gradle
new file mode 100644
index 00000000000..2121fe81d27
--- /dev/null
+++ b/idea/testData/gradle/gradleFacetImportTest/commonImportByPlatformPlugin_SingleModule/build.gradle
@@ -0,0 +1,24 @@
+group 'Again'
+version '1.0-SNAPSHOT'
+
+buildscript {
+ repositories {
+ mavenCentral()
+ jcenter()
+ }
+
+ dependencies {
+ classpath("org.jetbrains.kotlin:kotlin-gradle-plugin:1.1.0")
+ }
+}
+
+apply plugin: 'kotlin-platform-common'
+
+repositories {
+ mavenCentral()
+ jcenter()
+}
+
+dependencies {
+ compile "org.jetbrains.kotlin:kotlin-stdlib-common:1.1.0"
+}
diff --git a/idea/testData/gradle/gradleFacetImportTest/coroutineImportByOptions/build.gradle b/idea/testData/gradle/gradleFacetImportTest/coroutineImportByOptions/build.gradle
new file mode 100644
index 00000000000..218445ced5b
--- /dev/null
+++ b/idea/testData/gradle/gradleFacetImportTest/coroutineImportByOptions/build.gradle
@@ -0,0 +1,27 @@
+group 'Again'
+version '1.0-SNAPSHOT'
+
+buildscript {
+ repositories {
+ mavenCentral()
+ maven {
+url 'https://dl.bintray.com/kotlin/kotlin-eap-1.1'
+ }
+ }
+
+ dependencies {
+ classpath("org.jetbrains.kotlin:kotlin-gradle-plugin:1.1.0")
+ }
+}
+
+apply plugin: 'kotlin'
+
+dependencies {
+ compile "org.jetbrains.kotlin:kotlin-stdlib:1.1.0"
+}
+
+kotlin {
+ experimental {
+ coroutines 'enable'
+ }
+}
diff --git a/idea/testData/gradle/gradleFacetImportTest/coroutineImportByProperties/build.gradle b/idea/testData/gradle/gradleFacetImportTest/coroutineImportByProperties/build.gradle
new file mode 100644
index 00000000000..fafb0bfbca6
--- /dev/null
+++ b/idea/testData/gradle/gradleFacetImportTest/coroutineImportByProperties/build.gradle
@@ -0,0 +1,21 @@
+group 'Again'
+version '1.0-SNAPSHOT'
+
+buildscript {
+ repositories {
+ mavenCentral()
+ maven {
+url 'https://dl.bintray.com/kotlin/kotlin-eap-1.1'
+ }
+ }
+
+ dependencies {
+ classpath("org.jetbrains.kotlin:kotlin-gradle-plugin:1.1.0")
+ }
+}
+
+apply plugin: 'kotlin'
+
+dependencies {
+ compile "org.jetbrains.kotlin:kotlin-stdlib:1.1.0"
+}
diff --git a/idea/testData/gradle/gradleFacetImportTest/coroutineImportByProperties/gradle.properties b/idea/testData/gradle/gradleFacetImportTest/coroutineImportByProperties/gradle.properties
new file mode 100644
index 00000000000..cff40974e5f
--- /dev/null
+++ b/idea/testData/gradle/gradleFacetImportTest/coroutineImportByProperties/gradle.properties
@@ -0,0 +1 @@
+kotlin.coroutines=enable
diff --git a/idea/testData/gradle/gradleFacetImportTest/dependenciesClasspathImport/build.gradle b/idea/testData/gradle/gradleFacetImportTest/dependenciesClasspathImport/build.gradle
new file mode 100644
index 00000000000..35aeda0e4b9
--- /dev/null
+++ b/idea/testData/gradle/gradleFacetImportTest/dependenciesClasspathImport/build.gradle
@@ -0,0 +1,22 @@
+group 'Again'
+version '1.0-SNAPSHOT'
+
+buildscript {
+ repositories {
+ mavenCentral()
+ maven {
+url 'https://dl.bintray.com/kotlin/kotlin-eap-1.1'
+ }
+ }
+
+ dependencies {
+ classpath("org.jetbrains.kotlin:kotlin-gradle-plugin:1.1.0")
+ }
+}
+
+apply plugin: 'kotlin'
+
+dependencies {
+ compile "org.jetbrains.kotlin:kotlin-stdlib:1.1.0"
+ compile "org.apache.logging.log4j:log4j-core:2.7"
+}
diff --git a/idea/testData/gradle/gradleFacetImportTest/detectOldJsStdlib/build.gradle b/idea/testData/gradle/gradleFacetImportTest/detectOldJsStdlib/build.gradle
new file mode 100644
index 00000000000..ac342f75e58
--- /dev/null
+++ b/idea/testData/gradle/gradleFacetImportTest/detectOldJsStdlib/build.gradle
@@ -0,0 +1,21 @@
+group 'Again'
+version '1.0-SNAPSHOT'
+
+buildscript {
+ repositories {
+ mavenCentral()
+ maven {
+url 'https://dl.bintray.com/kotlin/kotlin-eap-1.1'
+ }
+ }
+
+ dependencies {
+ classpath("org.jetbrains.kotlin:kotlin-gradle-plugin:1.0.6")
+ }
+}
+
+apply plugin: 'kotlin2js'
+
+dependencies {
+ compile "org.jetbrains.kotlin:kotlin-js-library:1.0.6"
+}
diff --git a/idea/testData/gradle/gradleFacetImportTest/ignoreProjectLanguageAndAPIVersion/build.gradle b/idea/testData/gradle/gradleFacetImportTest/ignoreProjectLanguageAndAPIVersion/build.gradle
new file mode 100644
index 00000000000..c0ba903a035
--- /dev/null
+++ b/idea/testData/gradle/gradleFacetImportTest/ignoreProjectLanguageAndAPIVersion/build.gradle
@@ -0,0 +1,18 @@
+buildscript {
+ repositories {
+ mavenCentral()
+ maven {
+url 'https://dl.bintray.com/kotlin/kotlin-eap-1.1'
+ }
+ }
+
+ dependencies {
+ classpath("org.jetbrains.kotlin:kotlin-gradle-plugin:1.1.0")
+ }
+}
+
+apply plugin: 'kotlin'
+
+dependencies {
+ compile "org.jetbrains.kotlin:kotlin-stdlib:1.1.0"
+}
diff --git a/idea/testData/gradle/gradleFacetImportTest/implementsDependency/MultiTest-js/build.gradle b/idea/testData/gradle/gradleFacetImportTest/implementsDependency/MultiTest-js/build.gradle
new file mode 100644
index 00000000000..f3ec3e270b5
--- /dev/null
+++ b/idea/testData/gradle/gradleFacetImportTest/implementsDependency/MultiTest-js/build.gradle
@@ -0,0 +1,25 @@
+buildscript {
+ repositories {
+ mavenCentral()
+ maven {
+ url 'https://dl.bintray.com/kotlin/kotlin-eap-1.1'
+ }
+ }
+ dependencies {
+ classpath("org.jetbrains.kotlin:kotlin-gradle-plugin:1.1.0")
+ }
+}
+
+apply plugin: 'kotlin-platform-js'
+
+repositories {
+ mavenCentral()
+ maven {
+ url 'https://dl.bintray.com/kotlin/kotlin-eap-1.1'
+ }
+ }
+
+dependencies {
+ compile "org.jetbrains.kotlin:kotlin-stdlib-js:1.1.0"
+ implement project(":")
+}
diff --git a/idea/testData/gradle/gradleFacetImportTest/implementsDependency/MultiTest-jvm/build.gradle b/idea/testData/gradle/gradleFacetImportTest/implementsDependency/MultiTest-jvm/build.gradle
new file mode 100644
index 00000000000..f03c5d48973
--- /dev/null
+++ b/idea/testData/gradle/gradleFacetImportTest/implementsDependency/MultiTest-jvm/build.gradle
@@ -0,0 +1,25 @@
+buildscript {
+ repositories {
+ mavenCentral()
+ maven {
+ url 'https://dl.bintray.com/kotlin/kotlin-eap-1.1'
+ }
+ }
+ dependencies {
+ classpath("org.jetbrains.kotlin:kotlin-gradle-plugin:1.1.0")
+ }
+}
+
+apply plugin: 'kotlin-platform-jvm'
+
+repositories {
+ mavenCentral()
+ maven {
+ url 'https://dl.bintray.com/kotlin/kotlin-eap-1.1'
+ }
+ }
+
+dependencies {
+ compile "org.jetbrains.kotlin:kotlin-stdlib:1.1.0"
+ implement project(":")
+}
diff --git a/idea/testData/gradle/gradleFacetImportTest/implementsDependency/build.gradle b/idea/testData/gradle/gradleFacetImportTest/implementsDependency/build.gradle
new file mode 100644
index 00000000000..d3571436a3d
--- /dev/null
+++ b/idea/testData/gradle/gradleFacetImportTest/implementsDependency/build.gradle
@@ -0,0 +1,24 @@
+buildscript {
+ repositories {
+ mavenCentral()
+ maven {
+ url 'https://dl.bintray.com/kotlin/kotlin-eap-1.1'
+ }
+ }
+ dependencies {
+ classpath("org.jetbrains.kotlin:kotlin-gradle-plugin:1.1.0")
+ }
+}
+
+apply plugin: 'kotlin-platform-common'
+
+repositories {
+ mavenCentral()
+ maven {
+ url 'https://dl.bintray.com/kotlin/kotlin-eap-1.1'
+ }
+ }
+
+dependencies {
+ compile "org.jetbrains.kotlin:kotlin-stdlib-common:1.1.0"
+}
diff --git a/idea/testData/gradle/gradleFacetImportTest/implementsDependency/settings.gradle b/idea/testData/gradle/gradleFacetImportTest/implementsDependency/settings.gradle
new file mode 100644
index 00000000000..09cdc3d1ae5
--- /dev/null
+++ b/idea/testData/gradle/gradleFacetImportTest/implementsDependency/settings.gradle
@@ -0,0 +1,2 @@
+rootProject.name = 'MultiTest'
+include 'MultiTest-jvm', 'MultiTest-js'
diff --git a/idea/testData/gradle/gradleFacetImportTest/implementsDependencyWithCustomSourceSets/MultiTest-js/build.gradle b/idea/testData/gradle/gradleFacetImportTest/implementsDependencyWithCustomSourceSets/MultiTest-js/build.gradle
new file mode 100644
index 00000000000..bd643f1c91d
--- /dev/null
+++ b/idea/testData/gradle/gradleFacetImportTest/implementsDependencyWithCustomSourceSets/MultiTest-js/build.gradle
@@ -0,0 +1,38 @@
+buildscript {
+ repositories {
+ mavenCentral()
+ maven {
+ url 'https://dl.bintray.com/kotlin/kotlin-eap-1.1'
+ }
+ }
+ dependencies {
+ classpath("org.jetbrains.kotlin:kotlin-gradle-plugin:1.1.0")
+ }
+}
+
+apply plugin: 'kotlin-platform-js'
+
+sourceSets {
+ myMain {
+ kotlin {
+ srcDir 'src'
+ }
+ }
+ myTest {
+ kotlin {
+ srcDir 'test'
+ }
+ }
+}
+
+repositories {
+ mavenCentral()
+ maven {
+ url 'https://dl.bintray.com/kotlin/kotlin-eap-1.1'
+ }
+ }
+
+dependencies {
+ compile "org.jetbrains.kotlin:kotlin-stdlib-js:1.1.0"
+ implement project(":")
+}
diff --git a/idea/testData/gradle/gradleFacetImportTest/implementsDependencyWithCustomSourceSets/MultiTest-jvm/build.gradle b/idea/testData/gradle/gradleFacetImportTest/implementsDependencyWithCustomSourceSets/MultiTest-jvm/build.gradle
new file mode 100644
index 00000000000..b4e3ba07818
--- /dev/null
+++ b/idea/testData/gradle/gradleFacetImportTest/implementsDependencyWithCustomSourceSets/MultiTest-jvm/build.gradle
@@ -0,0 +1,38 @@
+buildscript {
+ repositories {
+ mavenCentral()
+ maven {
+ url 'https://dl.bintray.com/kotlin/kotlin-eap-1.1'
+ }
+ }
+ dependencies {
+ classpath("org.jetbrains.kotlin:kotlin-gradle-plugin:1.1.0")
+ }
+}
+
+apply plugin: 'kotlin-platform-jvm'
+
+sourceSets {
+ myMain {
+ kotlin {
+ srcDir 'src'
+ }
+ }
+ myTest {
+ kotlin {
+ srcDir 'test'
+ }
+ }
+}
+
+repositories {
+ mavenCentral()
+ maven {
+ url 'https://dl.bintray.com/kotlin/kotlin-eap-1.1'
+ }
+ }
+
+dependencies {
+ compile "org.jetbrains.kotlin:kotlin-stdlib:1.1.0"
+ implement project(":")
+}
diff --git a/idea/testData/gradle/gradleFacetImportTest/implementsDependencyWithCustomSourceSets/build.gradle b/idea/testData/gradle/gradleFacetImportTest/implementsDependencyWithCustomSourceSets/build.gradle
new file mode 100644
index 00000000000..c290a81e32b
--- /dev/null
+++ b/idea/testData/gradle/gradleFacetImportTest/implementsDependencyWithCustomSourceSets/build.gradle
@@ -0,0 +1,37 @@
+buildscript {
+ repositories {
+ mavenCentral()
+ maven {
+ url 'https://dl.bintray.com/kotlin/kotlin-eap-1.1'
+ }
+ }
+ dependencies {
+ classpath("org.jetbrains.kotlin:kotlin-gradle-plugin:1.1.0")
+ }
+}
+
+apply plugin: 'kotlin-platform-common'
+
+sourceSets {
+ myMain {
+ kotlin {
+ srcDir 'src'
+ }
+ }
+ myTest {
+ kotlin {
+ srcDir 'test'
+ }
+ }
+}
+
+repositories {
+ mavenCentral()
+ maven {
+ url 'https://dl.bintray.com/kotlin/kotlin-eap-1.1'
+ }
+ }
+
+dependencies {
+ compile "org.jetbrains.kotlin:kotlin-stdlib-common:1.1.0"
+}
diff --git a/idea/testData/gradle/gradleFacetImportTest/implementsDependencyWithCustomSourceSets/settings.gradle b/idea/testData/gradle/gradleFacetImportTest/implementsDependencyWithCustomSourceSets/settings.gradle
new file mode 100644
index 00000000000..09cdc3d1ae5
--- /dev/null
+++ b/idea/testData/gradle/gradleFacetImportTest/implementsDependencyWithCustomSourceSets/settings.gradle
@@ -0,0 +1,2 @@
+rootProject.name = 'MultiTest'
+include 'MultiTest-jvm', 'MultiTest-js'
diff --git a/idea/testData/gradle/gradleFacetImportTest/importCompilerArgumentsWithInvalidDependencies/build.gradle b/idea/testData/gradle/gradleFacetImportTest/importCompilerArgumentsWithInvalidDependencies/build.gradle
new file mode 100644
index 00000000000..b0be68af154
--- /dev/null
+++ b/idea/testData/gradle/gradleFacetImportTest/importCompilerArgumentsWithInvalidDependencies/build.gradle
@@ -0,0 +1,33 @@
+group 'Again'
+version '1.0-SNAPSHOT'
+
+buildscript {
+ repositories {
+ mavenCentral()
+ mavenLocal()
+ maven {
+ url 'https://dl.bintray.com/kotlin/kotlin-dev'
+ }
+ }
+
+ dependencies {
+ classpath("org.jetbrains.kotlin:kotlin-gradle-plugin:1.3-SNAPSHOT")
+ }
+}
+
+apply plugin: 'kotlin'
+
+repositories {
+ mavenLocal()
+ mavenCentral()
+ maven { url 'https://dl.bintray.com/kotlin/kotlin-dev' }
+}
+
+dependencies {
+ compile "org.jetbrains.kotlin:kotlin-stdlib:1.1.2-5"
+ compile "some_invalid:dependency:1.0.0"
+}
+
+compileKotlin {
+ kotlinOptions.jvmTarget = "1.8"
+}
diff --git a/idea/testData/gradle/gradleFacetImportTest/internalArgumentsFacetImporting/build.gradle b/idea/testData/gradle/gradleFacetImportTest/internalArgumentsFacetImporting/build.gradle
new file mode 100644
index 00000000000..edb8259d22d
--- /dev/null
+++ b/idea/testData/gradle/gradleFacetImportTest/internalArgumentsFacetImporting/build.gradle
@@ -0,0 +1,24 @@
+buildscript {
+ repositories {
+ mavenCentral()
+ }
+
+ dependencies {
+ classpath("org.jetbrains.kotlin:kotlin-gradle-plugin:1.2.50")
+ }
+}
+
+apply plugin: 'kotlin'
+
+repositories {
+ mavenCentral()
+}
+
+dependencies {
+ compile "org.jetbrains.kotlin:kotlin-stdlib:1.2.50"
+}
+
+compileKotlin {
+ kotlinOptions.freeCompilerArgs = ["-XXLanguage:+InlineClasses"]
+ kotlinOptions.languageVersion = "1.2"
+}
diff --git a/idea/testData/gradle/gradleFacetImportTest/jDKImport/build.gradle b/idea/testData/gradle/gradleFacetImportTest/jDKImport/build.gradle
new file mode 100644
index 00000000000..8c8c7887d1d
--- /dev/null
+++ b/idea/testData/gradle/gradleFacetImportTest/jDKImport/build.gradle
@@ -0,0 +1,26 @@
+group 'Again'
+version '1.0-SNAPSHOT'
+
+buildscript {
+ repositories {
+ mavenCentral()
+ maven {
+ url 'https://dl.bintray.com/kotlin/kotlin-eap-1.1'
+ }
+ }
+
+ dependencies {
+ classpath("org.jetbrains.kotlin:kotlin-gradle-plugin:1.1.0")
+ }
+}
+
+apply plugin: 'kotlin'
+
+dependencies {
+ compile "org.jetbrains.kotlin:kotlin-stdlib:1.1.0"
+ compile "org.apache.logging.log4j:log4j-core:2.7"
+}
+
+compileKotlin {
+ kotlinOptions.jdkHome = "my/path/to/jdk"
+}
diff --git a/idea/testData/gradle/gradleFacetImportTest/jsImport/build.gradle b/idea/testData/gradle/gradleFacetImportTest/jsImport/build.gradle
new file mode 100644
index 00000000000..033f8a4c0a6
--- /dev/null
+++ b/idea/testData/gradle/gradleFacetImportTest/jsImport/build.gradle
@@ -0,0 +1,35 @@
+group 'Again'
+version '1.0-SNAPSHOT'
+
+buildscript {
+ repositories {
+ mavenCentral()
+ maven {
+url 'https://dl.bintray.com/kotlin/kotlin-eap-1.1'
+ }
+ }
+
+ dependencies {
+ classpath("org.jetbrains.kotlin:kotlin-gradle-plugin:1.1.0")
+ }
+}
+
+apply plugin: 'kotlin2js'
+
+repositories {
+ mavenCentral()
+}
+
+dependencies {
+ compile "org.jetbrains.kotlin:kotlin-stdlib-js:1.1.0"
+}
+
+compileKotlin2Js {
+ kotlinOptions.sourceMap = true
+ kotlinOptions.freeCompilerArgs = ["-module-kind", "plain", "-main", "callMain"]
+}
+
+compileTestKotlin2Js {
+ kotlinOptions.apiVersion = "1.0"
+ kotlinOptions.freeCompilerArgs = ["-module-kind", "umd", "-main", "callTest"]
+}
diff --git a/idea/testData/gradle/gradleFacetImportTest/jsImportByKotlin2JsPlugin/build.gradle b/idea/testData/gradle/gradleFacetImportTest/jsImportByKotlin2JsPlugin/build.gradle
new file mode 100644
index 00000000000..de0404726ca
--- /dev/null
+++ b/idea/testData/gradle/gradleFacetImportTest/jsImportByKotlin2JsPlugin/build.gradle
@@ -0,0 +1,17 @@
+group 'Again'
+version '1.0-SNAPSHOT'
+
+buildscript {
+ repositories {
+ mavenCentral()
+ maven {
+url 'https://dl.bintray.com/kotlin/kotlin-eap-1.1'
+ }
+ }
+
+ dependencies {
+ classpath("org.jetbrains.kotlin:kotlin-gradle-plugin:1.1.0")
+ }
+}
+
+apply plugin: 'kotlin2js'
diff --git a/idea/testData/gradle/gradleFacetImportTest/jsImportByPlatformPlugin/build.gradle b/idea/testData/gradle/gradleFacetImportTest/jsImportByPlatformPlugin/build.gradle
new file mode 100644
index 00000000000..2def018e4be
--- /dev/null
+++ b/idea/testData/gradle/gradleFacetImportTest/jsImportByPlatformPlugin/build.gradle
@@ -0,0 +1,23 @@
+group 'Again'
+version '1.0-SNAPSHOT'
+
+buildscript {
+ repositories {
+ mavenCentral()
+ }
+
+ dependencies {
+ classpath("org.jetbrains.kotlin:kotlin-gradle-plugin:1.1.0")
+ }
+}
+
+apply plugin: 'kotlin-platform-js'
+
+repositories {
+ mavenCentral()
+}
+
+dependencies {
+ compile "org.jetbrains.kotlin:kotlin-stdlib-common:1.1.0"
+ compile "org.jetbrains.kotlin:kotlin-stdlib-js:1.1.0"
+}
diff --git a/idea/testData/gradle/gradleFacetImportTest/jsImportTransitive/build.gradle b/idea/testData/gradle/gradleFacetImportTest/jsImportTransitive/build.gradle
new file mode 100644
index 00000000000..b6602d33f06
--- /dev/null
+++ b/idea/testData/gradle/gradleFacetImportTest/jsImportTransitive/build.gradle
@@ -0,0 +1,25 @@
+group 'Again'
+version '1.0-SNAPSHOT'
+
+buildscript {
+ repositories {
+ mavenCentral()
+ maven {
+url 'https://dl.bintray.com/kotlin/kotlin-eap-1.1'
+ }
+ }
+
+ dependencies {
+ classpath("org.jetbrains.kotlin:kotlin-gradle-plugin:1.1.0")
+ }
+}
+
+apply plugin: 'kotlin2js'
+
+repositories {
+ mavenCentral()
+}
+
+dependencies {
+ compile "org.jetbrains.kotlin:kotlin-test-js:1.1.0"
+}
diff --git a/idea/testData/gradle/gradleFacetImportTest/jsImportWithCustomSourceSets/build.gradle b/idea/testData/gradle/gradleFacetImportTest/jsImportWithCustomSourceSets/build.gradle
new file mode 100644
index 00000000000..d2e997fe409
--- /dev/null
+++ b/idea/testData/gradle/gradleFacetImportTest/jsImportWithCustomSourceSets/build.gradle
@@ -0,0 +1,44 @@
+group 'Again'
+version '1.0-SNAPSHOT'
+
+buildscript {
+ repositories {
+ mavenCentral()
+ maven {
+url 'https://dl.bintray.com/kotlin/kotlin-eap-1.1'
+ }
+ }
+
+ dependencies {
+ classpath("org.jetbrains.kotlin:kotlin-gradle-plugin:1.1.0")
+ }
+}
+
+apply plugin: 'kotlin2js'
+
+sourceSets {
+ myMain {
+ kotlin {
+srcDir 'src'
+ }
+ }
+ myTest {
+ kotlin {
+srcDir 'test'
+ }
+ }
+}
+
+dependencies {
+ compile "org.jetbrains.kotlin:kotlin-stdlib-js:1.1.0"
+}
+
+compileMyMainKotlin2Js {
+ kotlinOptions.sourceMap = true
+ kotlinOptions.freeCompilerArgs = ["-module-kind", "plain", "-main", "callMain"]
+}
+
+compileMyTestKotlin2Js {
+ kotlinOptions.apiVersion = "1.0"
+ kotlinOptions.freeCompilerArgs = ["-module-kind", "umd", "-main", "callTest"]
+}
diff --git a/idea/testData/gradle/gradleFacetImportTest/jvmImport/build.gradle b/idea/testData/gradle/gradleFacetImportTest/jvmImport/build.gradle
new file mode 100644
index 00000000000..5b89ed4ddb2
--- /dev/null
+++ b/idea/testData/gradle/gradleFacetImportTest/jvmImport/build.gradle
@@ -0,0 +1,29 @@
+buildscript {
+ repositories {
+ mavenCentral()
+ maven {
+url 'https://dl.bintray.com/kotlin/kotlin-eap-1.1'
+ }
+ }
+
+ dependencies {
+ classpath("org.jetbrains.kotlin:kotlin-gradle-plugin:1.1.0")
+ }
+}
+
+apply plugin: 'kotlin'
+
+dependencies {
+ compile "org.jetbrains.kotlin:kotlin-stdlib:1.1.0"
+}
+
+compileKotlin {
+ kotlinOptions.jvmTarget = "1.7"
+ kotlinOptions.freeCompilerArgs = ["-Xsingle-module", "-Xdump-declarations-to", "tmp"]
+}
+
+compileTestKotlin {
+ kotlinOptions.jvmTarget = "1.6"
+ kotlinOptions.apiVersion = "1.0"
+ kotlinOptions.freeCompilerArgs = ["-Xdump-declarations-to", "tmpTest"]
+}
diff --git a/idea/testData/gradle/gradleFacetImportTest/jvmImportByKotlinPlugin/build.gradle b/idea/testData/gradle/gradleFacetImportTest/jvmImportByKotlinPlugin/build.gradle
new file mode 100644
index 00000000000..b81f0cd094d
--- /dev/null
+++ b/idea/testData/gradle/gradleFacetImportTest/jvmImportByKotlinPlugin/build.gradle
@@ -0,0 +1,17 @@
+group 'Again'
+version '1.0-SNAPSHOT'
+
+buildscript {
+ repositories {
+ mavenCentral()
+ maven {
+url 'https://dl.bintray.com/kotlin/kotlin-eap-1.1'
+ }
+ }
+
+ dependencies {
+ classpath("org.jetbrains.kotlin:kotlin-gradle-plugin:1.1.0")
+ }
+}
+
+apply plugin: 'kotlin'
diff --git a/idea/testData/gradle/gradleFacetImportTest/jvmImportByPlatformPlugin/build.gradle b/idea/testData/gradle/gradleFacetImportTest/jvmImportByPlatformPlugin/build.gradle
new file mode 100644
index 00000000000..c72f3ad98c3
--- /dev/null
+++ b/idea/testData/gradle/gradleFacetImportTest/jvmImportByPlatformPlugin/build.gradle
@@ -0,0 +1,17 @@
+group 'Again'
+version '1.0-SNAPSHOT'
+
+buildscript {
+ repositories {
+ mavenCentral()
+ maven {
+url 'https://dl.bintray.com/kotlin/kotlin-eap-1.1'
+ }
+ }
+
+ dependencies {
+ classpath("org.jetbrains.kotlin:kotlin-gradle-plugin:1.1.0")
+ }
+}
+
+apply plugin: 'kotlin-platform-jvm'
diff --git a/idea/testData/gradle/gradleFacetImportTest/jvmImportWithCustomSourceSets/build.gradle b/idea/testData/gradle/gradleFacetImportTest/jvmImportWithCustomSourceSets/build.gradle
new file mode 100644
index 00000000000..cf241321f5b
--- /dev/null
+++ b/idea/testData/gradle/gradleFacetImportTest/jvmImportWithCustomSourceSets/build.gradle
@@ -0,0 +1,45 @@
+group 'Again'
+version '1.0-SNAPSHOT'
+
+buildscript {
+ repositories {
+ mavenCentral()
+ maven {
+url 'https://dl.bintray.com/kotlin/kotlin-eap-1.1'
+ }
+ }
+
+ dependencies {
+ classpath("org.jetbrains.kotlin:kotlin-gradle-plugin:1.1.0")
+ }
+}
+
+apply plugin: 'kotlin'
+
+sourceSets {
+ myMain {
+ kotlin {
+srcDir 'src'
+ }
+ }
+ myTest {
+ kotlin {
+srcDir 'test'
+ }
+ }
+}
+
+dependencies {
+ compile "org.jetbrains.kotlin:kotlin-stdlib:1.1.0"
+}
+
+compileMyMainKotlin {
+ kotlinOptions.jvmTarget = "1.7"
+ kotlinOptions.freeCompilerArgs = ["-Xsingle-module", "-Xdump-declarations-to", "tmp"]
+}
+
+compileMyTestKotlin {
+ kotlinOptions.jvmTarget = "1.6"
+ kotlinOptions.apiVersion = "1.0"
+ kotlinOptions.freeCompilerArgs = ["-Xdump-declarations-to", "tmpTest"]
+}
diff --git a/idea/testData/gradle/gradleFacetImportTest/jvmImportWithCustomSourceSets_1_1_2/build.gradle b/idea/testData/gradle/gradleFacetImportTest/jvmImportWithCustomSourceSets_1_1_2/build.gradle
new file mode 100644
index 00000000000..ed14ab56801
--- /dev/null
+++ b/idea/testData/gradle/gradleFacetImportTest/jvmImportWithCustomSourceSets_1_1_2/build.gradle
@@ -0,0 +1,48 @@
+group 'Again'
+version '1.0-SNAPSHOT'
+
+buildscript {
+ repositories {
+ mavenCentral()
+ maven { url 'https://dl.bintray.com/kotlin/kotlin-dev' }
+ }
+
+ dependencies {
+ classpath("org.jetbrains.kotlin:kotlin-gradle-plugin:1.1.2-5")
+ }
+}
+
+apply plugin: 'kotlin'
+
+repositories {
+ mavenCentral()
+ maven { url 'https://dl.bintray.com/kotlin/kotlin-dev' }
+}
+
+sourceSets {
+ myMain {
+ kotlin {
+srcDir 'src'
+ }
+ }
+ myTest {
+ kotlin {
+srcDir 'test'
+ }
+ }
+}
+
+dependencies {
+ compile "org.jetbrains.kotlin:kotlin-stdlib:1.1.2-5"
+}
+
+compileMyMainKotlin {
+ kotlinOptions.jvmTarget = "1.7"
+ kotlinOptions.freeCompilerArgs = ["-Xsingle-module", "-Xdump-declarations-to", "tmp"]
+}
+
+compileMyTestKotlin {
+ kotlinOptions.jvmTarget = "1.6"
+ kotlinOptions.apiVersion = "1.0"
+ kotlinOptions.freeCompilerArgs = ["-Xdump-declarations-to", "tmpTest"]
+}
diff --git a/idea/testData/gradle/gradleFacetImportTest/jvmImportWithPlugin/build.gradle b/idea/testData/gradle/gradleFacetImportTest/jvmImportWithPlugin/build.gradle
new file mode 100644
index 00000000000..25d248c7ec7
--- /dev/null
+++ b/idea/testData/gradle/gradleFacetImportTest/jvmImportWithPlugin/build.gradle
@@ -0,0 +1,31 @@
+buildscript {
+ repositories {
+ mavenCentral()
+ }
+}
+
+plugins {
+ id "org.jetbrains.kotlin.jvm" version "1.1.3"
+}
+
+version '1.0-SNAPSHOT'
+
+apply plugin: 'java'
+
+sourceCompatibility = 1.8
+
+repositories {
+ mavenCentral()
+}
+
+dependencies {
+ compile "org.jetbrains.kotlin:kotlin-stdlib-jre8:1.1.3"
+ testCompile group: 'junit', name: 'junit', version: '4.12'
+}
+
+compileKotlin {
+ kotlinOptions.jvmTarget = "1.8"
+}
+compileTestKotlin {
+ kotlinOptions.jvmTarget = "1.8"
+}
diff --git a/idea/testData/gradle/gradleFacetImportTest/jvmImport_1_1_2/build.gradle b/idea/testData/gradle/gradleFacetImportTest/jvmImport_1_1_2/build.gradle
new file mode 100644
index 00000000000..dedb09b672e
--- /dev/null
+++ b/idea/testData/gradle/gradleFacetImportTest/jvmImport_1_1_2/build.gradle
@@ -0,0 +1,37 @@
+group 'Again'
+version '1.0-SNAPSHOT'
+
+buildscript {
+ repositories {
+ mavenCentral()
+ maven {
+url 'https://dl.bintray.com/kotlin/kotlin-dev'
+ }
+ }
+
+ dependencies {
+ classpath("org.jetbrains.kotlin:kotlin-gradle-plugin:1.1.2-5")
+ }
+}
+
+apply plugin: 'kotlin'
+
+repositories {
+ mavenCentral()
+ maven { url 'https://dl.bintray.com/kotlin/kotlin-dev' }
+}
+
+dependencies {
+ compile "org.jetbrains.kotlin:kotlin-stdlib:1.1.2-5"
+}
+
+compileKotlin {
+ kotlinOptions.jvmTarget = "1.7"
+ kotlinOptions.freeCompilerArgs = ["-Xsingle-module", "-Xdump-declarations-to", "tmp"]
+}
+
+compileTestKotlin {
+ kotlinOptions.jvmTarget = "1.6"
+ kotlinOptions.apiVersion = "1.0"
+ kotlinOptions.freeCompilerArgs = ["-Xdump-declarations-to", "tmpTest"]
+}
diff --git a/idea/testData/gradle/gradleFacetImportTest/kotlinAndroidPluginDetection/build.gradle b/idea/testData/gradle/gradleFacetImportTest/kotlinAndroidPluginDetection/build.gradle
new file mode 100644
index 00000000000..eda9d463bc3
--- /dev/null
+++ b/idea/testData/gradle/gradleFacetImportTest/kotlinAndroidPluginDetection/build.gradle
@@ -0,0 +1,54 @@
+group 'Again'
+version '1.0-SNAPSHOT'
+
+buildscript {
+ repositories {
+ jcenter()
+ mavenCentral()
+ }
+ dependencies {
+ classpath "com.android.tools.build:gradle:2.3.0"
+ classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:1.2.50"
+ }
+}
+
+apply plugin: 'com.android.application'
+apply plugin: 'kotlin-android'
+
+android {
+ compileSdkVersion 26
+ 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
+ }
+ }
+}
+
+tasks.withType(org.jetbrains.kotlin.gradle.tasks.KotlinCompile).all {
+ kotlinOptions {
+ freeCompilerArgs = ['-progressive']
+ }
+}
diff --git a/idea/testData/gradle/gradleFacetImportTest/kotlinAndroidPluginDetection/src/main/AndroidManifest.xml b/idea/testData/gradle/gradleFacetImportTest/kotlinAndroidPluginDetection/src/main/AndroidManifest.xml
new file mode 100644
index 00000000000..c3296c53600
--- /dev/null
+++ b/idea/testData/gradle/gradleFacetImportTest/kotlinAndroidPluginDetection/src/main/AndroidManifest.xml
@@ -0,0 +1,4 @@
+
+
diff --git a/idea/testData/gradle/gradleFacetImportTest/noArgInvokeInitializers/build.gradle b/idea/testData/gradle/gradleFacetImportTest/noArgInvokeInitializers/build.gradle
new file mode 100644
index 00000000000..49e58a58481
--- /dev/null
+++ b/idea/testData/gradle/gradleFacetImportTest/noArgInvokeInitializers/build.gradle
@@ -0,0 +1,21 @@
+group 'Again'
+version '1.0-SNAPSHOT'
+
+buildscript {
+ repositories {
+ mavenCentral()
+ }
+
+ dependencies {
+ classpath("org.jetbrains.kotlin:kotlin-gradle-plugin:1.2.10")
+ classpath("org.jetbrains.kotlin:kotlin-noarg:1.2.10")
+ }
+}
+
+apply plugin: 'kotlin'
+apply plugin: "kotlin-noarg"
+
+noArg {
+ invokeInitializers = true
+ annotation("NoArg")
+}
diff --git a/idea/testData/gradle/gradleFacetImportTest/noFacetInModuleWithoutKotlinPlugin/build.gradle b/idea/testData/gradle/gradleFacetImportTest/noFacetInModuleWithoutKotlinPlugin/build.gradle
new file mode 100644
index 00000000000..4d30c11a6e1
--- /dev/null
+++ b/idea/testData/gradle/gradleFacetImportTest/noFacetInModuleWithoutKotlinPlugin/build.gradle
@@ -0,0 +1,23 @@
+group 'gr01'
+version '1.0-SNAPSHOT'
+
+apply plugin: 'java'
+apply plugin: 'kotlin'
+
+sourceCompatibility = 1.8
+
+repositories {
+ mavenCentral()
+}
+
+buildscript {
+ repositories {
+ mavenCentral()
+ }
+ dependencies {
+ classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:1.1.1"
+ }
+}
+dependencies {
+ compile "org.jetbrains.kotlin:kotlin-stdlib-jre8:1.1.1"
+}
diff --git a/idea/testData/gradle/gradleFacetImportTest/noFacetInModuleWithoutKotlinPlugin/m1/build.gradle b/idea/testData/gradle/gradleFacetImportTest/noFacetInModuleWithoutKotlinPlugin/m1/build.gradle
new file mode 100644
index 00000000000..140dc302033
--- /dev/null
+++ b/idea/testData/gradle/gradleFacetImportTest/noFacetInModuleWithoutKotlinPlugin/m1/build.gradle
@@ -0,0 +1,19 @@
+group 'gr01'
+version '1.0-SNAPSHOT'
+
+apply plugin: 'java'
+
+sourceCompatibility = 1.8
+
+repositories {
+ mavenCentral()
+}
+
+buildscript {
+ repositories {
+ mavenCentral()
+ }
+}
+dependencies {
+ testCompile group: 'junit', name: 'junit', version: '4.11'
+}
diff --git a/idea/testData/gradle/gradleFacetImportTest/noFacetInModuleWithoutKotlinPlugin/settings.gradle b/idea/testData/gradle/gradleFacetImportTest/noFacetInModuleWithoutKotlinPlugin/settings.gradle
new file mode 100644
index 00000000000..a729f503cf0
--- /dev/null
+++ b/idea/testData/gradle/gradleFacetImportTest/noFacetInModuleWithoutKotlinPlugin/settings.gradle
@@ -0,0 +1,2 @@
+rootProject.name = 'gr01'
+include 'm1'
diff --git a/idea/testData/gradle/gradleFacetImportTest/noFriendPathsAreShown/build.gradle b/idea/testData/gradle/gradleFacetImportTest/noFriendPathsAreShown/build.gradle
new file mode 100644
index 00000000000..e285e390b8f
--- /dev/null
+++ b/idea/testData/gradle/gradleFacetImportTest/noFriendPathsAreShown/build.gradle
@@ -0,0 +1,25 @@
+buildscript {
+ repositories {
+ mavenCentral()
+ maven {
+url 'https://dl.bintray.com/kotlin/kotlin-dev'
+ }
+ }
+
+ dependencies {
+ classpath("org.jetbrains.kotlin:kotlin-gradle-plugin:1.2.70-eap-4")
+ }
+}
+
+apply plugin: 'kotlin'
+
+repositories {
+ mavenCentral()
+ maven {
+ url 'https://dl.bintray.com/kotlin/kotlin-dev'
+ }
+}
+
+dependencies {
+ compile "org.jetbrains.kotlin:kotlin-stdlib:1.2.70-eap-4"
+}
diff --git a/idea/testData/gradle/gradleFacetImportTest/noPluginsInAdditionalArgs/build.gradle b/idea/testData/gradle/gradleFacetImportTest/noPluginsInAdditionalArgs/build.gradle
new file mode 100644
index 00000000000..8e2d7bc9a7b
--- /dev/null
+++ b/idea/testData/gradle/gradleFacetImportTest/noPluginsInAdditionalArgs/build.gradle
@@ -0,0 +1,16 @@
+group 'Again'
+version '1.0-SNAPSHOT'
+
+buildscript {
+ repositories {
+ mavenCentral()
+ }
+
+ dependencies {
+ classpath("org.jetbrains.kotlin:kotlin-gradle-plugin:1.2.10")
+ classpath("org.jetbrains.kotlin:kotlin-allopen:1.2.10")
+ }
+}
+
+apply plugin: 'kotlin'
+apply plugin: "kotlin-spring"
diff --git a/idea/testData/gradle/gradleFacetImportTest/nonSharedLanguageVersion/MultiTest-js/build.gradle b/idea/testData/gradle/gradleFacetImportTest/nonSharedLanguageVersion/MultiTest-js/build.gradle
new file mode 100644
index 00000000000..4c36de9b721
--- /dev/null
+++ b/idea/testData/gradle/gradleFacetImportTest/nonSharedLanguageVersion/MultiTest-js/build.gradle
@@ -0,0 +1,19 @@
+buildscript {
+ repositories {
+ mavenCentral()
+ }
+ dependencies {
+ classpath("org.jetbrains.kotlin:kotlin-gradle-plugin:1.2.60")
+ }
+}
+
+apply plugin: 'kotlin-platform-js'
+
+repositories {
+ mavenCentral()
+}
+
+dependencies {
+ compile "org.jetbrains.kotlin:kotlin-stdlib-js:1.2.60"
+ implement project(":")
+}
diff --git a/idea/testData/gradle/gradleFacetImportTest/nonSharedLanguageVersion/MultiTest-jvm/build.gradle b/idea/testData/gradle/gradleFacetImportTest/nonSharedLanguageVersion/MultiTest-jvm/build.gradle
new file mode 100644
index 00000000000..2640f24a9f8
--- /dev/null
+++ b/idea/testData/gradle/gradleFacetImportTest/nonSharedLanguageVersion/MultiTest-jvm/build.gradle
@@ -0,0 +1,32 @@
+buildscript {
+ repositories {
+ mavenCentral()
+ }
+ dependencies {
+ classpath("org.jetbrains.kotlin:kotlin-gradle-plugin:1.2.60")
+ }
+}
+
+apply plugin: 'kotlin-platform-jvm'
+
+sourceSets {
+ myMain {
+ kotlin {
+ srcDir 'src'
+ }
+ }
+ myTest {
+ kotlin {
+ srcDir 'test'
+ }
+ }
+}
+
+repositories {
+ mavenCentral()
+ }
+
+dependencies {
+ compile "org.jetbrains.kotlin:kotlin-stdlib:1.2.60"
+ implement project(":")
+}
diff --git a/idea/testData/gradle/gradleFacetImportTest/nonSharedLanguageVersion/build.gradle b/idea/testData/gradle/gradleFacetImportTest/nonSharedLanguageVersion/build.gradle
new file mode 100644
index 00000000000..2f8a09939f0
--- /dev/null
+++ b/idea/testData/gradle/gradleFacetImportTest/nonSharedLanguageVersion/build.gradle
@@ -0,0 +1,22 @@
+buildscript {
+ repositories {
+ mavenCentral()
+ }
+ dependencies {
+ classpath("org.jetbrains.kotlin:kotlin-gradle-plugin:1.2.60")
+ }
+}
+
+apply plugin: 'kotlin-platform-common'
+
+repositories {
+ mavenCentral()
+}
+
+dependencies {
+ compile "org.jetbrains.kotlin:kotlin-stdlib-common:1.2.60"
+}
+
+compileKotlinCommon {
+ kotlinOptions.languageVersion = "1.1"
+}
diff --git a/idea/testData/gradle/gradleFacetImportTest/nonSharedLanguageVersion/settings.gradle b/idea/testData/gradle/gradleFacetImportTest/nonSharedLanguageVersion/settings.gradle
new file mode 100644
index 00000000000..5294c8e9210
--- /dev/null
+++ b/idea/testData/gradle/gradleFacetImportTest/nonSharedLanguageVersion/settings.gradle
@@ -0,0 +1,2 @@
+rootProject.name = 'MultiTest'
+include 'MultiTest-jvm', 'MultiTest-js'
diff --git a/idea/testData/gradle/gradleFacetImportTest/sharedLanguageVersion/MultiTest-js/build.gradle b/idea/testData/gradle/gradleFacetImportTest/sharedLanguageVersion/MultiTest-js/build.gradle
new file mode 100644
index 00000000000..cdf9ea4debd
--- /dev/null
+++ b/idea/testData/gradle/gradleFacetImportTest/sharedLanguageVersion/MultiTest-js/build.gradle
@@ -0,0 +1,32 @@
+buildscript {
+ repositories {
+ mavenCentral()
+ }
+ dependencies {
+ classpath("org.jetbrains.kotlin:kotlin-gradle-plugin:1.2.60")
+ }
+}
+
+apply plugin: 'kotlin-platform-js'
+
+sourceSets {
+ myMain {
+ kotlin {
+ srcDir 'src'
+ }
+ }
+ myTest {
+ kotlin {
+ srcDir 'test'
+ }
+ }
+}
+
+repositories {
+ mavenCentral()
+ }
+
+dependencies {
+ compile "org.jetbrains.kotlin:kotlin-stdlib-js:1.2.60"
+ implement project(":")
+}
diff --git a/idea/testData/gradle/gradleFacetImportTest/sharedLanguageVersion/MultiTest-jvm/build.gradle b/idea/testData/gradle/gradleFacetImportTest/sharedLanguageVersion/MultiTest-jvm/build.gradle
new file mode 100644
index 00000000000..b1294dfd4e5
--- /dev/null
+++ b/idea/testData/gradle/gradleFacetImportTest/sharedLanguageVersion/MultiTest-jvm/build.gradle
@@ -0,0 +1,19 @@
+buildscript {
+ repositories {
+ mavenCentral()
+ }
+ dependencies {
+ classpath("org.jetbrains.kotlin:kotlin-gradle-plugin:1.2.60")
+ }
+}
+
+apply plugin: 'kotlin-platform-jvm'
+
+repositories {
+ mavenCentral()
+}
+
+dependencies {
+ compile "org.jetbrains.kotlin:kotlin-stdlib:1.2.60"
+ implement project(":")
+}
diff --git a/idea/testData/gradle/gradleFacetImportTest/sharedLanguageVersion/build.gradle b/idea/testData/gradle/gradleFacetImportTest/sharedLanguageVersion/build.gradle
new file mode 100644
index 00000000000..a41c494d326
--- /dev/null
+++ b/idea/testData/gradle/gradleFacetImportTest/sharedLanguageVersion/build.gradle
@@ -0,0 +1,18 @@
+buildscript {
+ repositories {
+ mavenCentral()
+ }
+ dependencies {
+ classpath("org.jetbrains.kotlin:kotlin-gradle-plugin:1.2.60")
+ }
+}
+
+apply plugin: 'kotlin-platform-common'
+
+repositories {
+ mavenCentral()
+ }
+
+dependencies {
+ compile "org.jetbrains.kotlin:kotlin-stdlib-common:1.2.60"
+}
diff --git a/idea/testData/gradle/gradleFacetImportTest/sharedLanguageVersion/settings.gradle b/idea/testData/gradle/gradleFacetImportTest/sharedLanguageVersion/settings.gradle
new file mode 100644
index 00000000000..09cdc3d1ae5
--- /dev/null
+++ b/idea/testData/gradle/gradleFacetImportTest/sharedLanguageVersion/settings.gradle
@@ -0,0 +1,2 @@
+rootProject.name = 'MultiTest'
+include 'MultiTest-jvm', 'MultiTest-js'
diff --git a/idea/testData/gradle/gradleFacetImportTest/stableModuleNameWhileUsingGradleJS/build.gradle b/idea/testData/gradle/gradleFacetImportTest/stableModuleNameWhileUsingGradleJS/build.gradle
new file mode 100644
index 00000000000..901c8bb6391
--- /dev/null
+++ b/idea/testData/gradle/gradleFacetImportTest/stableModuleNameWhileUsingGradleJS/build.gradle
@@ -0,0 +1,19 @@
+buildscript {
+ repositories {
+ mavenCentral()
+ }
+
+ dependencies {
+ classpath("org.jetbrains.kotlin:kotlin-gradle-plugin:1.2.50")
+ }
+}
+
+apply plugin: 'kotlin2js'
+
+repositories {
+ mavenCentral()
+}
+
+dependencies {
+ compile "org.jetbrains.kotlin:kotlin-stdlib:1.2.50"
+}
diff --git a/idea/testData/gradle/gradleFacetImportTest/stableModuleNameWhileUsingGradleJVM/build.gradle b/idea/testData/gradle/gradleFacetImportTest/stableModuleNameWhileUsingGradleJVM/build.gradle
new file mode 100644
index 00000000000..92071055656
--- /dev/null
+++ b/idea/testData/gradle/gradleFacetImportTest/stableModuleNameWhileUsingGradleJVM/build.gradle
@@ -0,0 +1,23 @@
+buildscript {
+ repositories {
+ mavenCentral()
+ }
+
+ dependencies {
+ classpath("org.jetbrains.kotlin:kotlin-gradle-plugin:1.2.50")
+ }
+}
+
+apply plugin: 'kotlin'
+
+repositories {
+ mavenCentral()
+}
+
+dependencies {
+ compile "org.jetbrains.kotlin:kotlin-stdlib:1.2.50"
+}
+
+compileKotlin {
+ kotlinOptions.languageVersion = "1.2"
+}