From 566026eba6a7dde23957a40c2bcd6c17a909c856 Mon Sep 17 00:00:00 2001 From: James Hamilton Date: Tue, 25 May 2021 18:30:06 +0200 Subject: [PATCH] Add ProGuard config files to secondary inputs --- .../gradle/plugin/android/ProGuardTransform.kt | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/gradle-plugin/src/main/kotlin/proguard/gradle/plugin/android/ProGuardTransform.kt b/gradle-plugin/src/main/kotlin/proguard/gradle/plugin/android/ProGuardTransform.kt index 2ef109e8..96100024 100644 --- a/gradle-plugin/src/main/kotlin/proguard/gradle/plugin/android/ProGuardTransform.kt +++ b/gradle-plugin/src/main/kotlin/proguard/gradle/plugin/android/ProGuardTransform.kt @@ -33,6 +33,7 @@ import com.android.build.api.transform.QualifiedContent.Scope.EXTERNAL_LIBRARIES import com.android.build.api.transform.QualifiedContent.Scope.PROJECT import com.android.build.api.transform.QualifiedContent.Scope.PROVIDED_ONLY import com.android.build.api.transform.QualifiedContent.Scope.SUB_PROJECTS +import com.android.build.api.transform.SecondaryFile import com.android.build.api.transform.Transform import com.android.build.api.transform.TransformInput import com.android.build.api.transform.TransformInvocation @@ -46,6 +47,7 @@ import proguard.gradle.plugin.android.AndroidPlugin.Companion.COLLECT_CONSUMER_R import proguard.gradle.plugin.android.AndroidProjectType.ANDROID_APPLICATION import proguard.gradle.plugin.android.AndroidProjectType.ANDROID_LIBRARY import proguard.gradle.plugin.android.dsl.ProGuardAndroidExtension +import proguard.gradle.plugin.android.dsl.UserProGuardConfiguration class ProGuardTransform( private val project: Project, @@ -106,6 +108,14 @@ class ProGuardTransform( override fun applyToVariant(variant: VariantInfo?): Boolean = variant?.let { proguardBlock.configurations.findVariantConfiguration(it) } != null + override fun getSecondaryFiles(): MutableCollection = + proguardBlock + .configurations + .flatMap { it.configurations } + .filterIsInstance() + .map { SecondaryFile(project.file(it.path), false) } + .toMutableSet() + private fun createIOEntries( inputs: Collection, outputProvider: TransformOutputProvider