@@ -33,6 +33,7 @@ import com.android.build.gradle.internal.dsl.BuildType
3333import com.android.build.gradle.internal.dsl.ProductFlavor
3434import com.android.build.gradle.internal.tasks.factory.dependsOn
3535import com.grab.plugin.sizer.configuration.DefaultVariantFilter
36+ import com.grab.plugin.sizer.configuration.InputType
3637import com.grab.plugin.sizer.dependencies.*
3738import com.grab.plugin.sizer.tasks.AppSizeAnalysisTask
3839import com.grab.plugin.sizer.tasks.GenerateApkTask
@@ -44,7 +45,9 @@ import com.grab.plugin.sizer.utils.isKotlinJvm
4445import org.gradle.api.Project
4546import org.gradle.api.Task
4647import org.gradle.api.artifacts.ProjectDependency
48+ import org.gradle.api.file.Directory
4749import org.gradle.api.tasks.TaskProvider
50+ import org.gradle.kotlin.dsl.listProperty
4851import org.gradle.kotlin.dsl.the
4952
5053/*
@@ -71,11 +74,23 @@ internal class TaskManager(
7174 val variantFilter = DefaultVariantFilter (variant)
7275 pluginExtension.input.variantFilter?.execute(variantFilter)
7376 if (! variantFilter.ignored) {
74- val generateApkTask = GenerateApkTask .registerTask(
75- project,
76- pluginExtension,
77- variant
78- )
77+
78+ val apksDirectory = when (pluginExtension.input.inputType) {
79+ InputType .APK -> {
80+ variant.packageApplicationProvider.map {
81+ project.objects.listProperty<Directory >().value(listOf (it.outputDirectory.get()))
82+ }
83+ }
84+ InputType .AAB -> {
85+ val generateApkTask = GenerateApkTask .registerTask(
86+ project,
87+ pluginExtension,
88+ variant
89+ )
90+ generateApkTask.map { it.outputDirectories }
91+ }
92+ }
93+
7994
8095 val generateArchivesListTask = GenerateArchivesListTask .registerTask(
8196 project,
@@ -89,7 +104,7 @@ internal class TaskManager(
89104 project,
90105 variant,
91106 pluginExtension,
92- generateApkTask ,
107+ apksDirectory ,
93108 generateArchivesListTask,
94109 )
95110 registerAppSizeTaskDep(project, variant, this , appSizeAnalysisTask)
0 commit comments