Don't call File.getCanonicalPath in KGP

Relates to KT-54579.
This commit is contained in:
Andrey Uskov
2022-11-23 16:41:21 +03:00
committed by teamcity
parent ca8f234f28
commit 41ff283856
27 changed files with 50 additions and 50 deletions
@@ -127,8 +127,8 @@ open class KaptContext(val options: KaptOptions, val withJdk: Boolean, val logge
@Suppress("SpellCheckingInspection")
putJavacOption("PROCESSORPATH", "PROCESSOR_PATH", options.processingClasspath.makePathsString())
put(Option.S, options.sourcesOutputDir.canonicalPath)
put(Option.D, options.classesOutputDir.canonicalPath)
put(Option.S, options.sourcesOutputDir.normalize().absolutePath)
put(Option.D, options.classesOutputDir.normalize().absolutePath)
put(Option.ENCODING, "UTF-8")
}
@@ -168,6 +168,6 @@ open class KaptContext(val options: KaptOptions, val withJdk: Boolean, val logge
companion object {
const val MODULE_INFO_FILE = "module-info.java"
private fun Iterable<File>.makePathsString(): String = joinToString(File.pathSeparator) { it.canonicalPath }
private fun Iterable<File>.makePathsString(): String = joinToString(File.pathSeparator) { it.normalize().absolutePath }
}
}
@@ -157,7 +157,7 @@ fun KaptOptions.collectJavaSourceFiles(sourcesToReprocess: SourcesToReprocess =
.sortedBy { Files.isSymbolicLink(it.toPath()) } // Get non-symbolic paths first
.flatMap { root -> root.walk().filter { it.isFile && it.extension == "java" }.toList() }
.sortedBy { Files.isSymbolicLink(it.toPath()) } // This time is for .java files
.distinctBy { it.canonicalPath }
.distinctBy { it.normalize().absolutePath }
}
return when (sourcesToReprocess) {
@@ -230,7 +230,7 @@ abstract class AbstractKapt3Extension(
if (!options.mode.runAnnotationProcessing) return
val javaSourceFiles = options.collectJavaSourceFiles(kaptContext.sourcesToReprocess)
logger.info { "Java source files: " + javaSourceFiles.joinToString { it.canonicalPath } }
logger.info { "Java source files: " + javaSourceFiles.joinToString { it.normalize().absolutePath } }
val (annotationProcessingTime) = measureTimeMillis {
kaptContext.doAnnotationProcessing(javaSourceFiles, processors.processors)