From 71ee9cf1be04836c61ebf525acd1d155bc40d297 Mon Sep 17 00:00:00 2001 From: Nikolay Krasko Date: Thu, 17 Jun 2021 00:48:31 +0300 Subject: [PATCH] Fix generateIdeaGradleFiles on Windows --- .../jetbrains/kotlin/generators/imltogradle/Main.kt | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/generators/ide-iml-to-gradle-generator/src/org/jetbrains/kotlin/generators/imltogradle/Main.kt b/generators/ide-iml-to-gradle-generator/src/org/jetbrains/kotlin/generators/imltogradle/Main.kt index a8936b6616a..057f2fd9852 100644 --- a/generators/ide-iml-to-gradle-generator/src/org/jetbrains/kotlin/generators/imltogradle/Main.kt +++ b/generators/ide-iml-to-gradle-generator/src/org/jetbrains/kotlin/generators/imltogradle/Main.kt @@ -6,6 +6,7 @@ package org.jetbrains.kotlin.generators.imltogradle import com.google.gson.JsonParser +import com.intellij.openapi.util.io.systemIndependentPath import org.jetbrains.jps.model.JpsSimpleElement import org.jetbrains.jps.model.java.JavaResourceRootType import org.jetbrains.jps.model.java.JavaSourceRootType @@ -103,7 +104,10 @@ fun convertJpsLibrary(lib: JpsLibrary, scope: JpsJavaDependencyScope, exported: return when { mavenRepositoryLibraryDescriptor == null -> { lib.getRootUrls(JpsOrderRootType.COMPILED) - .map { it.removePrefix("jar://").removeSuffix("!/").removePrefix(KOTLIN_REPO_ROOT.canonicalPath) } + .map { + it.removePrefix("jar://").removeSuffix("!/") + .removePrefix(KOTLIN_REPO_ROOT.canonicalPath.replace("\\", "/")) + } .map { check(it.startsWith("/kotlin-ide/intellij/")) { "Only jars from Community repo are accepted $it" } val relativeToCommunity = it.removePrefix("/kotlin-ide/intellij/").removePrefix("community/") @@ -188,8 +192,8 @@ fun convertJpsDependencyElement(dep: JpsDependencyElement): List "java.srcDir(\"${sourceRoot.file.relativeTo(imlFile.parentFile)}\")" - is JavaResourceRootType -> "resources.srcDir(\"${sourceRoot.file.relativeTo(imlFile.parentFile)}\")" + is JavaSourceRootType -> "java.srcDir(\"${sourceRoot.file.relativeTo(imlFile.parentFile).systemIndependentPath}\")" + is JavaResourceRootType -> "resources.srcDir(\"${sourceRoot.file.relativeTo(imlFile.parentFile).systemIndependentPath}\")" else -> error("Unknown sourceRoot = $sourceRoot") } }