Configure new projects with kotlin-stdlib-jdk7/8 (KT-20286)

No migration for old projects has been added yet.

 #KT-20286 Fixed
This commit is contained in:
Nikolay Krasko
2017-10-24 18:07:06 +03:00
parent b7b3caedcc
commit 6a43743c98
45 changed files with 113 additions and 49 deletions
@@ -108,7 +108,7 @@ class PomFile private constructor(val xmlFile: XmlFile, val domModel: MavenDomPr
require(artifact.artifactId != null) { "artifactId shouldn't be null" }
ensureDependencies()
val versionless = artifact.withNoVersion().withoutJreSuffix()
val versionless = artifact.withNoVersion().withoutJDKSpecificSuffix()
val dependency = domModel.dependencies.dependencies.firstOrNull { it.matches(versionless) } ?: domModel.dependencies.addDependency()
dependency.groupId.stringValue = artifact.groupId
dependency.artifactId.stringValue = artifact.artifactId
@@ -397,7 +397,10 @@ class PomFile private constructor(val xmlFile: XmlFile, val domModel: MavenDomPr
&& (artifact.version == null || version.stringValue == artifact.version)
private fun MavenId.withNoVersion() = MavenId(groupId, artifactId, null)
private fun MavenId.withoutJreSuffix() = MavenId(groupId, artifactId?.substringBeforeLast("-jre"), null)
private fun MavenId.withoutJDKSpecificSuffix() = MavenId(
groupId,
artifactId?.substringBeforeLast("-jre")?.substringBeforeLast("-jdk"),
null)
private fun MavenDomElement.createChildTag(name: String, value: String? = null) = xmlTag.createChildTag(name, value)
private fun XmlTag.createChildTag(name: String, value: String? = null) = createChildTag(name, namespace, value, false)!!
@@ -13,7 +13,7 @@
<dependencies>
<dependency>
<groupId>org.jetbrains.kotlin</groupId>
<artifactId>kotlin-stdlib-jre8</artifactId>
<artifactId>kotlin-stdlib-jdk8</artifactId>
<version>${kotlin.version}</version>
</dependency>
<dependency>
@@ -43,7 +43,7 @@
<dependencies>
<dependency>
<groupId>org.jetbrains.kotlin</groupId>
<artifactId>kotlin-stdlib-jre8</artifactId>
<artifactId>kotlin-stdlib-jdk8</artifactId>
<version>${kotlin.version}</version>
</dependency>
<dependency>
@@ -13,7 +13,7 @@
<dependencies>
<dependency>
<groupId>org.jetbrains.kotlin</groupId>
<artifactId>kotlin-stdlib-jre8</artifactId>
<artifactId>kotlin-stdlib-jdk8</artifactId>
<version>${kotlin.version}</version>
</dependency>
<dependency>
@@ -15,7 +15,7 @@
<dependencies>
<dependency>
<groupId>org.jetbrains.kotlin</groupId>
<artifactId>kotlin-stdlib-jre8</artifactId>
<artifactId>kotlin-stdlib-jdk8</artifactId>
<version>${kotlin.version}</version>
</dependency>
<dependency>
@@ -15,7 +15,7 @@
<dependencies>
<dependency>
<groupId>org.jetbrains.kotlin</groupId>
<artifactId>kotlin-stdlib-jre8</artifactId>
<artifactId>kotlin-stdlib-jdk8</artifactId>
<version>${kotlin.version}</version>
</dependency>
<dependency>
@@ -15,7 +15,7 @@
<dependencies>
<dependency>
<groupId>org.jetbrains.kotlin</groupId>
<artifactId>kotlin-stdlib-jre8</artifactId>
<artifactId>kotlin-stdlib-jdk8</artifactId>
<version>${kotlin.version}</version>
</dependency>
<dependency>