From f1bca7522cfa41153c8db30bcfc9cd4852840d5a Mon Sep 17 00:00:00 2001 From: Harsh Shandilya Date: Sun, 11 Sep 2022 01:23:34 +0530 Subject: [PATCH] fix(rename-artifacts): resolve version from outputs directly Due to reasons I don't fully understand this cannot be resolved from the `android` DSL so we're just cutting it out and introspecting the outputs we're already processing to discover the version name --- .../dev/msfjarvis/aps/gradle/RenameArtifactsPlugin.kt | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/build-logic/android-plugins/src/main/kotlin/dev/msfjarvis/aps/gradle/RenameArtifactsPlugin.kt b/build-logic/android-plugins/src/main/kotlin/dev/msfjarvis/aps/gradle/RenameArtifactsPlugin.kt index 971e3245..dba8353b 100644 --- a/build-logic/android-plugins/src/main/kotlin/dev/msfjarvis/aps/gradle/RenameArtifactsPlugin.kt +++ b/build-logic/android-plugins/src/main/kotlin/dev/msfjarvis/aps/gradle/RenameArtifactsPlugin.kt @@ -2,7 +2,7 @@ package dev.msfjarvis.aps.gradle import com.android.build.api.artifact.SingleArtifact import com.android.build.api.variant.ApplicationAndroidComponentsExtension -import com.android.build.gradle.internal.dsl.BaseAppModuleExtension +import com.android.build.api.variant.VariantOutputConfiguration import dev.msfjarvis.aps.gradle.artifacts.CollectApksTask import dev.msfjarvis.aps.gradle.artifacts.CollectBundleTask import org.gradle.api.Plugin @@ -15,7 +15,6 @@ class RenameArtifactsPlugin : Plugin { override fun apply(project: Project) { project.pluginManager.withPlugin("com.android.application") { - val android = project.extensions.getByType() project.extensions.getByType().run { onVariants { variant -> project.tasks.register("collect${variant.name.capitalize()}Apks") { @@ -25,8 +24,12 @@ class RenameArtifactsPlugin : Plugin { outputDirectory.set(project.layout.projectDirectory.dir("outputs")) } project.tasks.register("collect${variant.name.capitalize()}Bundle") { + val mainOutput = + variant.outputs.single { + it.outputType == VariantOutputConfiguration.OutputType.SINGLE + } variantName.set(variant.name) - versionName.set(android.defaultConfig.versionName) + versionName.set(mainOutput.versionName) bundleFile.set(variant.artifacts.get(SingleArtifact.BUNDLE)) outputDirectory.set(project.layout.projectDirectory.dir("outputs")) }