[Gradle] Don't use reflection to get java compile task provider

^KT-56904 In Progress
This commit is contained in:
Yahor Berdnikau
2023-12-12 21:24:44 +01:00
committed by Space Team
parent 8fc847fe5c
commit 601f90917b
3 changed files with 2 additions and 17 deletions
@@ -24,7 +24,6 @@ import org.gradle.api.specs.Spec
import org.gradle.api.tasks.TaskProvider
import org.gradle.api.tasks.bundling.Zip
import org.gradle.api.tasks.compile.AbstractCompile
import org.gradle.api.tasks.compile.JavaCompile
import org.jetbrains.kotlin.gradle.dsl.kotlinExtension
import org.jetbrains.kotlin.gradle.internal.Kapt3GradleSubplugin
import org.jetbrains.kotlin.gradle.internal.Kapt3GradleSubplugin.Companion.getKaptGeneratedClassesDirectory
@@ -41,7 +40,6 @@ import org.jetbrains.kotlin.gradle.tasks.KotlinCompile
import org.jetbrains.kotlin.gradle.tasks.KotlinTasksProvider
import org.jetbrains.kotlin.gradle.tasks.configuration.KaptGenerateStubsConfig
import org.jetbrains.kotlin.gradle.tasks.configuration.KotlinCompileConfig
import org.jetbrains.kotlin.gradle.tasks.thisTaskProvider
import org.jetbrains.kotlin.gradle.testing.internal.kotlinTestRegistry
import org.jetbrains.kotlin.gradle.tooling.includeKotlinToolingMetadataInApk
import org.jetbrains.kotlin.gradle.utils.whenEvaluated
@@ -230,7 +228,7 @@ internal class AndroidProjectHandler(
compilation.associateWith(testedCompilation)
}
val javaTask = variantData.getJavaTaskProvider()
val javaTask = variantData.javaCompileProvider
@Suppress("UNCHECKED_CAST") val kotlinTask = compilation.compileTaskProvider as TaskProvider<KotlinCompile>
compilation.androidVariant.forEachJavaSourceDir { sources ->
kotlinTask.configure {
@@ -376,12 +374,6 @@ internal fun getVariantName(
@Suppress("TYPEALIAS_EXPANSION_DEPRECATION") variant: DeprecatedAndroidBaseVariant
): String = variant.name
@Suppress("UNCHECKED_CAST", "TYPEALIAS_EXPANSION_DEPRECATION")
internal fun DeprecatedAndroidBaseVariant.getJavaTaskProvider(): TaskProvider<out JavaCompile> =
this::class.java.methods.firstOrNull { it.name == "getJavaCompileProvider" }
?.invoke(this) as? TaskProvider<JavaCompile>
?: @Suppress("DEPRECATION") javaCompile.thisTaskProvider
/** Filter for the AGP test variant classpath artifacts. */
class AndroidTestedVariantArtifactsFilter(
private val artifactCollection: ArtifactCollection,
@@ -15,7 +15,6 @@ import org.gradle.api.tasks.compile.JavaCompile
import org.jetbrains.kotlin.gradle.dsl.KotlinJvmCompilerOptions
import org.jetbrains.kotlin.gradle.dsl.KotlinJvmOptions
import org.jetbrains.kotlin.gradle.plugin.HasCompilerOptions
import org.jetbrains.kotlin.gradle.plugin.getJavaTaskProvider
import org.jetbrains.kotlin.gradle.plugin.mpp.compilationImpl.KotlinCompilationImpl
import org.jetbrains.kotlin.gradle.tasks.KotlinCompilationTask
import javax.inject.Inject
@@ -56,6 +55,6 @@ open class KotlinJvmAndroidCompilation @Inject internal constructor(
get() = compilation.compileTaskProvider as TaskProvider<KotlinCompilationTask<KotlinJvmCompilerOptions>>
val compileJavaTaskProvider: TaskProvider<out JavaCompile>
get() = androidVariant.getJavaTaskProvider()
get() = androidVariant.javaCompileProvider
}
@@ -5,12 +5,6 @@
package org.jetbrains.kotlin.gradle.tasks
import org.gradle.api.Task
import org.gradle.api.tasks.TaskProvider
const val KOTLIN_BUILD_DIR_NAME = "kotlin"
const val USING_JVM_INCREMENTAL_COMPILATION_MESSAGE = "Using Kotlin/JVM incremental compilation"
const val USING_JS_INCREMENTAL_COMPILATION_MESSAGE = "Using Kotlin/JS incremental compilation"
internal inline val <reified T : Task> T.thisTaskProvider: TaskProvider<out T>
get() = checkNotNull(project.locateTask<T>(name))