diff --git a/idea/idea-gradle/tests/org/jetbrains/kotlin/idea/configuration/GradleConfigureProjectByChangingFileTestGenerated.java b/idea/idea-gradle/tests/org/jetbrains/kotlin/idea/configuration/GradleConfigureProjectByChangingFileTestGenerated.java
index d9db3671e0d..8bfa80c1126 100644
--- a/idea/idea-gradle/tests/org/jetbrains/kotlin/idea/configuration/GradleConfigureProjectByChangingFileTestGenerated.java
+++ b/idea/idea-gradle/tests/org/jetbrains/kotlin/idea/configuration/GradleConfigureProjectByChangingFileTestGenerated.java
@@ -50,6 +50,12 @@ public class GradleConfigureProjectByChangingFileTestGenerated extends AbstractG
doTestGradle(fileName);
}
+ @TestMetadata("jreLib")
+ public void testJreLib() throws Exception {
+ String fileName = KotlinTestUtils.navigationMetadata("idea/testData/configuration/gradle/jreLib/");
+ doTestGradle(fileName);
+ }
+
@TestMetadata("js")
public void testJs() throws Exception {
String fileName = KotlinTestUtils.navigationMetadata("idea/testData/configuration/gradle/js/");
diff --git a/idea/idea-maven/test/org/jetbrains/kotlin/idea/maven/configuration/MavenConfigureProjectByChangingFileTestGenerated.java b/idea/idea-maven/test/org/jetbrains/kotlin/idea/maven/configuration/MavenConfigureProjectByChangingFileTestGenerated.java
index ddefb0a0d0f..32a13bf88cc 100644
--- a/idea/idea-maven/test/org/jetbrains/kotlin/idea/maven/configuration/MavenConfigureProjectByChangingFileTestGenerated.java
+++ b/idea/idea-maven/test/org/jetbrains/kotlin/idea/maven/configuration/MavenConfigureProjectByChangingFileTestGenerated.java
@@ -44,6 +44,12 @@ public class MavenConfigureProjectByChangingFileTestGenerated extends AbstractMa
doTestWithMaven(fileName);
}
+ @TestMetadata("jreLib")
+ public void testJreLib() throws Exception {
+ String fileName = KotlinTestUtils.navigationMetadata("idea/idea-maven/testData/configurator/jvm/jreLib/");
+ doTestWithMaven(fileName);
+ }
+
@TestMetadata("libraryMissed")
public void testLibraryMissed() throws Exception {
String fileName = KotlinTestUtils.navigationMetadata("idea/idea-maven/testData/configurator/jvm/libraryMissed/");
diff --git a/idea/idea-maven/testData/configurator/jvm/jreLib/pom.xml b/idea/idea-maven/testData/configurator/jvm/jreLib/pom.xml
new file mode 100644
index 00000000000..a72673feadc
--- /dev/null
+++ b/idea/idea-maven/testData/configurator/jvm/jreLib/pom.xml
@@ -0,0 +1,16 @@
+
+
+ 4.0.0
+
+ maventest
+ maventest
+ 1.0-SNAPSHOT
+
+
+
+
+
\ No newline at end of file
diff --git a/idea/idea-maven/testData/configurator/jvm/jreLib/pom_after.xml b/idea/idea-maven/testData/configurator/jvm/jreLib/pom_after.xml
new file mode 100644
index 00000000000..6cc105c4911
--- /dev/null
+++ b/idea/idea-maven/testData/configurator/jvm/jreLib/pom_after.xml
@@ -0,0 +1,64 @@
+
+
+ 4.0.0
+
+ maventest
+ maventest
+ 1.0-SNAPSHOT
+
+
+ $VERSION$
+
+
+
+
+ org.jetbrains.kotlin
+ kotlin-stdlib-jre8
+ ${kotlin.version}
+
+
+ org.jetbrains.kotlin
+ kotlin-test
+ ${kotlin.version}
+ test
+
+
+
+
+
+
+
+ org.jetbrains.kotlin
+ kotlin-maven-plugin
+ ${kotlin.version}
+
+
+ compile
+ compile
+
+ compile
+
+
+
+ test-compile
+ test-compile
+
+ test-compile
+
+
+
+
+ 1.8
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/idea/src/org/jetbrains/kotlin/idea/versions/KotlinRuntimeLibraryUtil.kt b/idea/src/org/jetbrains/kotlin/idea/versions/KotlinRuntimeLibraryUtil.kt
index 723a70acffc..fd0197d1f09 100644
--- a/idea/src/org/jetbrains/kotlin/idea/versions/KotlinRuntimeLibraryUtil.kt
+++ b/idea/src/org/jetbrains/kotlin/idea/versions/KotlinRuntimeLibraryUtil.kt
@@ -315,10 +315,13 @@ fun getStdlibArtifactId(sdk: Sdk?, version: String): String {
return MAVEN_STDLIB_ID
}
+ val areSDKArtifactsAvailable = VersionComparatorUtil.COMPARATOR.compare("1.2.0-rc-39", version) >= 0
val sdkVersion = sdk?.version
return when {
- sdkVersion != null && sdkVersion.isAtLeast(JavaSdkVersion.JDK_1_8) -> MAVEN_STDLIB_ID_JDK8
- sdkVersion == JavaSdkVersion.JDK_1_7 -> MAVEN_STDLIB_ID_JDK7
+ sdkVersion != null && sdkVersion.isAtLeast(JavaSdkVersion.JDK_1_8) ->
+ if (areSDKArtifactsAvailable) MAVEN_STDLIB_ID_JDK8 else MAVEN_STDLIB_ID_JDK7
+ sdkVersion == JavaSdkVersion.JDK_1_7 ->
+ if (areSDKArtifactsAvailable) MAVEN_STDLIB_ID_JDK7 else MAVEN_STDLIB_ID_JRE7
else -> MAVEN_STDLIB_ID
}
}
diff --git a/idea/testData/configuration/gradle/jreLib/build_after.gradle b/idea/testData/configuration/gradle/jreLib/build_after.gradle
new file mode 100644
index 00000000000..73bfa0e6621
--- /dev/null
+++ b/idea/testData/configuration/gradle/jreLib/build_after.gradle
@@ -0,0 +1,28 @@
+// VERSION: $VERSION$
+buildscript {
+ ext.kotlin_version = '$VERSION$'
+ repositories {
+ mavenCentral()
+ }
+ dependencies {
+ classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version"
+ }
+}
+apply plugin: 'kotlin'
+repositories {
+ mavenCentral()
+}
+dependencies {
+ compile "org.jetbrains.kotlin:kotlin-stdlib-jre8:$kotlin_version"
+}
+compileKotlin {
+ kotlinOptions {
+ jvmTarget = "1.8"
+ }
+}
+compileTestKotlin {
+ kotlinOptions {
+ jvmTarget = "1.8"
+ }
+}
+// JDK: 1.8
\ No newline at end of file
diff --git a/idea/testData/configuration/gradle/jreLib/build_before.gradle b/idea/testData/configuration/gradle/jreLib/build_before.gradle
new file mode 100644
index 00000000000..58f03887a89
--- /dev/null
+++ b/idea/testData/configuration/gradle/jreLib/build_before.gradle
@@ -0,0 +1,2 @@
+// VERSION: 1.1.60
+// JDK: 1.8
\ No newline at end of file
diff --git a/idea/testData/configuration/gsk/eap11Version/build_after.gradle.kts b/idea/testData/configuration/gsk/eap11Version/build_after.gradle.kts
index dd1ae4e4de4..091bf09f82e 100644
--- a/idea/testData/configuration/gsk/eap11Version/build_after.gradle.kts
+++ b/idea/testData/configuration/gsk/eap11Version/build_after.gradle.kts
@@ -36,7 +36,7 @@ repositories {
dependencies {
testCompile("junit:junit:4.12")
- compile(kotlinModule("stdlib-jdk8", kotlin_version))
+ compile(kotlinModule("stdlib-jre8", kotlin_version))
}
// VERSION: $VERSION$