Kapt: Do not add JDK jars if the 'no-jdk' option is set (KT-25258)
This commit is contained in:
-2
@@ -3,10 +3,8 @@ package org.jetbrains.kotlin.gradle
|
||||
import org.jetbrains.kotlin.gradle.util.isLegacyAndroidGradleVersion
|
||||
import org.jetbrains.kotlin.gradle.util.modify
|
||||
import org.jetbrains.kotlin.test.KotlinTestUtils
|
||||
import org.junit.Ignore
|
||||
import org.junit.Test
|
||||
|
||||
@Ignore
|
||||
class Kapt3WorkersAndroid32IT : Kapt3Android32IT() {
|
||||
override fun kaptOptions(): KaptOptions =
|
||||
super.kaptOptions().copy(useWorkers = true)
|
||||
|
||||
+8
-6
@@ -6,10 +6,10 @@
|
||||
package org.jetbrains.kotlin.gradle.internal
|
||||
|
||||
import org.gradle.api.tasks.*
|
||||
import org.gradle.api.file.FileCollection
|
||||
import org.gradle.workers.IsolationMode
|
||||
import org.gradle.workers.WorkerExecutor
|
||||
import org.jetbrains.kotlin.gradle.internal.Kapt3KotlinGradleSubplugin.Companion.KAPT_WORKER_DEPENDENCIES_CONFIGURATION_NAME
|
||||
import org.jetbrains.kotlin.gradle.plugin.KotlinAndroidPluginWrapper
|
||||
import org.jetbrains.kotlin.gradle.tasks.clearOutputDirectories
|
||||
import org.jetbrains.kotlin.gradle.tasks.findKotlinStdlibClasspath
|
||||
import org.jetbrains.kotlin.gradle.tasks.findToolsJar
|
||||
@@ -47,9 +47,14 @@ open class KaptWithoutKotlincTask @Inject constructor(private val workerExecutor
|
||||
|
||||
clearOutputDirectories()
|
||||
|
||||
val compileClasspath = classpath.files.toMutableList()
|
||||
if (project.plugins.none { it is KotlinAndroidPluginWrapper }) {
|
||||
compileClasspath.addAll(0, PathUtil.getJdkClassesRootsFromCurrentJre())
|
||||
}
|
||||
|
||||
val paths = KaptPathsForWorker(
|
||||
project.projectDir,
|
||||
classpath.files.toList(),
|
||||
compileClasspath,
|
||||
kaptClasspath.files.toList(),
|
||||
javaSourceRoots.toList(),
|
||||
destinationDir,
|
||||
@@ -124,12 +129,9 @@ private class KaptExecution @Inject constructor(
|
||||
}
|
||||
|
||||
private fun createKaptPaths(classLoader: ClassLoader) = with(paths) {
|
||||
val fullClasspath = ArrayList<File>()
|
||||
fullClasspath.addAll(PathUtil.getJdkClassesRootsFromCurrentJre())
|
||||
fullClasspath.addAll(compileClasspath)
|
||||
Class.forName("org.jetbrains.kotlin.kapt3.base.KaptPaths", true, classLoader).constructors.single().newInstance(
|
||||
projectBaseDir,
|
||||
fullClasspath,
|
||||
compileClasspath,
|
||||
annotationProcessingClasspath,
|
||||
javaSourceRoots,
|
||||
sourcesOutputDir,
|
||||
|
||||
Reference in New Issue
Block a user