From b67aed61ceb2ad5e9960060192ec4d87f2d020f4 Mon Sep 17 00:00:00 2001 From: Ilya Gorbunov Date: Wed, 12 Apr 2017 22:39:33 +0300 Subject: [PATCH] Fix preprocessor failure to to create directory when the first operation is modification --- .../src/org.jetbrains.kotlin.preprocessor/Preprocessor.kt | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/compiler/conditional-preprocessor/src/org.jetbrains.kotlin.preprocessor/Preprocessor.kt b/compiler/conditional-preprocessor/src/org.jetbrains.kotlin.preprocessor/Preprocessor.kt index 7cc05d1eee2..6988de695e0 100644 --- a/compiler/conditional-preprocessor/src/org.jetbrains.kotlin.preprocessor/Preprocessor.kt +++ b/compiler/conditional-preprocessor/src/org.jetbrains.kotlin.preprocessor/Preprocessor.kt @@ -114,7 +114,7 @@ class Preprocessor(val logger: Logger = SystemOutLogger) { if (targetFile.exists() && targetFile.isDirectory) targetFile.deleteRecursively() - // if no modifications � copy + // if no modifications — copy if (result is FileProcessingResult.Copy) { FileUtil.copy(sourceFile, targetFile) } else if (result is FileProcessingResult.Modify) { @@ -122,6 +122,7 @@ class Preprocessor(val logger: Logger = SystemOutLogger) { if (targetFile.exists() && targetFile.isTextEqualTo(resultText)) continue logger.info("Rewriting modified $targetFile") + targetFile.parentFile!!.mkdirsOrFail() targetFile.writeText(resultText) } }