From 1b09ca400112b7889758958311eac40190008c55 Mon Sep 17 00:00:00 2001 From: Yahor Berdnikau Date: Tue, 12 Dec 2023 21:19:00 +0100 Subject: [PATCH] [Gradle] Don't use reflection to get packageTask provider ^KT-56904 In Progress --- .../targets/android/AndroidProjectHandler.kt | 22 ++++++------------- 1 file changed, 7 insertions(+), 15 deletions(-) diff --git a/libraries/tools/kotlin-gradle-plugin/src/common/kotlin/org/jetbrains/kotlin/gradle/targets/android/AndroidProjectHandler.kt b/libraries/tools/kotlin-gradle-plugin/src/common/kotlin/org/jetbrains/kotlin/gradle/targets/android/AndroidProjectHandler.kt index a9796dd9553..6b5731b460d 100644 --- a/libraries/tools/kotlin-gradle-plugin/src/common/kotlin/org/jetbrains/kotlin/gradle/targets/android/AndroidProjectHandler.kt +++ b/libraries/tools/kotlin-gradle-plugin/src/common/kotlin/org/jetbrains/kotlin/gradle/targets/android/AndroidProjectHandler.kt @@ -22,7 +22,7 @@ import org.gradle.api.logging.Logging import org.gradle.api.plugins.InvalidPluginException import org.gradle.api.specs.Spec import org.gradle.api.tasks.TaskProvider -import org.gradle.api.tasks.bundling.AbstractArchiveTask +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 @@ -310,21 +310,13 @@ internal class AndroidProjectHandler( @Suppress("TYPEALIAS_EXPANSION_DEPRECATION") variant: DeprecatedAndroidBaseVariant ): String = variant.buildType.name - // TODO the return type is actually `AbstractArchiveTask | TaskProvider`; - // change the signature once the Android Gradle plugin versions that don't support task providers are dropped + @Suppress("TYPEALIAS_EXPANSION_DEPRECATION") fun getLibraryOutputTask( - @Suppress("TYPEALIAS_EXPANSION_DEPRECATION") variant: DeprecatedAndroidBaseVariant - ): Any? { - val getPackageLibraryProvider = variant.javaClass.methods - .find { it.name == "getPackageLibraryProvider" && it.parameterCount == 0 } - - return if (getPackageLibraryProvider != null) { - @Suppress("UNCHECKED_CAST") - getPackageLibraryProvider(variant) as TaskProvider - } else { - @Suppress("TYPEALIAS_EXPANSION_DEPRECATION") - (variant as? DeprecatedAndroidLibraryVariant)?.packageLibrary - } + variant: DeprecatedAndroidBaseVariant + ): TaskProvider? = if (variant is DeprecatedAndroidLibraryVariant) { + variant.packageLibraryProvider + } else { + null } fun setUpDependencyResolution(