From 89a582b694b2c773b1fe3be528493f45aacda99c Mon Sep 17 00:00:00 2001 From: Mikhail Glukhikh Date: Thu, 3 Oct 2019 11:58:48 +0300 Subject: [PATCH] JavacWrapper: perform makeOutputDirectoryClasses hack only in non-APT mode For some reason, working without APT requires this call in JavacWrapper. From the other hand, working without APT does not require Kotlin class files to be in javac classpath. --- .../src/org/jetbrains/kotlin/javac/JavacWrapper.kt | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/compiler/javac-wrapper/src/org/jetbrains/kotlin/javac/JavacWrapper.kt b/compiler/javac-wrapper/src/org/jetbrains/kotlin/javac/JavacWrapper.kt index e441d98dd46..bd2b35e07fb 100644 --- a/compiler/javac-wrapper/src/org/jetbrains/kotlin/javac/JavacWrapper.kt +++ b/compiler/javac-wrapper/src/org/jetbrains/kotlin/javac/JavacWrapper.kt @@ -102,6 +102,8 @@ class JavacWrapper( override fun parseFiles(files: Iterable?) = compilationUnits } + private val aptOn = arguments == null || "-proc:none" !in arguments + private val fileManager = context[JavaFileManager::class.java] as JavacFileManager init { @@ -168,7 +170,9 @@ class JavacWrapper( if (javaFilesNumber == 0) return true setClassPathForCompilation(outDir) - makeOutputDirectoryClassesVisible() + if (!aptOn) { + makeOutputDirectoryClassesVisible() + } val outputPath = // Includes a hack with 'takeIf' for CLI test, to have stable string here (independent from random test directory)