Kapt3: Clear javac's boot classpath (KT-15001)
This commit is contained in:
committed by
Yan Zhulanow
parent
ada8bb63a4
commit
5f0d270e9e
@@ -37,10 +37,16 @@ fun KaptContext.doAnnotationProcessing(
|
||||
annotationProcessingClasspath: List<File>,
|
||||
sourcesOutputDir: File,
|
||||
classesOutputDir: File,
|
||||
additionalSources: JavacList<JCTree.JCCompilationUnit> = JavacList.nil()
|
||||
additionalSources: JavacList<JCTree.JCCompilationUnit> = JavacList.nil(),
|
||||
withJdk: Boolean = false
|
||||
) {
|
||||
with (options) {
|
||||
put(Option.PROC, "only") // Only process annotations
|
||||
|
||||
if (!withJdk) {
|
||||
put(Option.BOOTCLASSPATH, "") // No boot classpath
|
||||
}
|
||||
|
||||
put(Option.CLASSPATH, compileClasspath.joinToString(File.pathSeparator) { it.canonicalPath })
|
||||
put(Option.PROCESSORPATH, annotationProcessingClasspath.joinToString(File.pathSeparator) { it.canonicalPath })
|
||||
put(Option.S, sourcesOutputDir.canonicalPath)
|
||||
|
||||
+2
-1
@@ -27,6 +27,7 @@ import org.jetbrains.kotlin.resolve.jvm.extensions.AnalysisHandlerExtension
|
||||
import org.jetbrains.kotlin.test.ConfigurationKind
|
||||
import org.jetbrains.kotlin.test.KotlinTestUtils
|
||||
import org.jetbrains.kotlin.test.util.trimTrailingWhitespacesAndAddNewlineAtEOF
|
||||
import org.jetbrains.kotlin.utils.PathUtil
|
||||
import java.io.File
|
||||
import java.nio.file.Files
|
||||
import javax.annotation.processing.Completion
|
||||
@@ -139,7 +140,7 @@ abstract class AbstractKotlinKapt3IntegrationTest : CodegenTestCase() {
|
||||
javaSourceRoots: List<File>,
|
||||
outputDir: File,
|
||||
options: Map<String, String>
|
||||
) : AbstractKapt3Extension(emptyList(), emptyList(), javaSourceRoots, outputDir, outputDir,
|
||||
) : AbstractKapt3Extension(PathUtil.getJdkClassesRoots(), emptyList(), javaSourceRoots, outputDir, outputDir,
|
||||
options, true, System.currentTimeMillis(), KaptLogger(true)
|
||||
) {
|
||||
internal var savedStubs: String? = null
|
||||
|
||||
@@ -102,7 +102,7 @@ abstract class AbstractKotlinKaptContextTest : AbstractKotlinKapt3Test() {
|
||||
kaptRunner.doAnnotationProcessing(emptyList(), listOf(JavaKaptContextTest.simpleProcessor()),
|
||||
compileClasspath = emptyList(), annotationProcessingClasspath = emptyList(),
|
||||
sourcesOutputDir = sourceOutputDir, classesOutputDir = sourceOutputDir,
|
||||
additionalSources = compilationUnits)
|
||||
additionalSources = compilationUnits, withJdk = true)
|
||||
|
||||
val javaFiles = sourceOutputDir.walkTopDown().filter { it.isFile && it.extension == "java" }
|
||||
val actualRaw = javaFiles.sortedBy { it.name }.joinToString(FILE_SEPARATOR) { it.name + ":\n\n" + it.readText() }
|
||||
|
||||
@@ -85,7 +85,8 @@ class JavaKaptContextTest {
|
||||
emptyList(), // compile classpath
|
||||
emptyList(), // annotation processing classpath
|
||||
outputDir,
|
||||
outputDir)
|
||||
outputDir,
|
||||
withJdk = true)
|
||||
}
|
||||
|
||||
@Test
|
||||
|
||||
Reference in New Issue
Block a user