Issue warning for proguard configurations pointing to directories

Bug: 245716309
Test: na
Change-Id: I532b9c7eb2f9cab32f405230745762cb723cb1ae
diff --git a/build-system/gradle-core/src/main/java/com/android/build/gradle/internal/tasks/MergeConsumerProguardFilesTask.kt b/build-system/gradle-core/src/main/java/com/android/build/gradle/internal/tasks/MergeConsumerProguardFilesTask.kt
index dc43bdf..49aae84 100644
--- a/build-system/gradle-core/src/main/java/com/android/build/gradle/internal/tasks/MergeConsumerProguardFilesTask.kt
+++ b/build-system/gradle-core/src/main/java/com/android/build/gradle/internal/tasks/MergeConsumerProguardFilesTask.kt
@@ -68,9 +68,14 @@
                     consumerProguardFiles
             ) { errorMessage: String? -> throw EvalIssueException(errorMessage!!) }
         }
+
         consumerProguardFiles.forEach { file: File ->
-            if (!file.isFile) {
-                logger.warn("Supplied consumer proguard configuration file does not exist: ${file.path}")
+            if (file.isFile) {
+                // do nothing
+            } else if (file.isDirectory) {
+                logger.warn("Directories as consumer proguard configuration are not supported: ${file.path}")
+            } else {
+                logger.warn("Supplied consumer proguard configuration does not exist: ${file.path}")
             }
         }
 
diff --git a/build-system/gradle-core/src/main/java/com/android/build/gradle/internal/tasks/ProguardConfigurableTask.kt b/build-system/gradle-core/src/main/java/com/android/build/gradle/internal/tasks/ProguardConfigurableTask.kt
index 6e3784f..2509c7e 100644
--- a/build-system/gradle-core/src/main/java/com/android/build/gradle/internal/tasks/ProguardConfigurableTask.kt
+++ b/build-system/gradle-core/src/main/java/com/android/build/gradle/internal/tasks/ProguardConfigurableTask.kt
@@ -150,12 +150,7 @@
         // return.
         if (!componentType.get().isBaseModule) {
             return proguardFiles.files.mapNotNull { proguardFile ->
-                if (!proguardFile.isFile) {
-                    logger.warn("Supplied proguard configuration file does not exist: ${proguardFile.path}")
-                    null
-                } else {
-                    proguardFile
-                }
+                removeIfAbsent(proguardFile)
             }
         }
 
@@ -173,16 +168,23 @@
             if (defaultFiles.contains(proguardFile)) {
                extractedDefaultProguardFile.get().file(proguardFile.name).asFile
             } else {
-                if(!proguardFile.isFile) {
-                    logger.warn("Supplied proguard configuration file does not exist: ${proguardFile.path}")
-                    null
-                } else {
-                    proguardFile
-                }
+                removeIfAbsent(proguardFile)
             }
         }
     }
 
+    private fun removeIfAbsent(file: File): File? {
+        return if(file.isFile) {
+            file
+        } else if(file.isDirectory) {
+            logger.warn("Directories as proguard configuration are not supported: ${file.path}")
+            null
+        } else {
+            logger.warn("Supplied proguard configuration does not exist: ${file.path}")
+            null
+        }
+    }
+
     abstract class CreationAction<TaskT : ProguardConfigurableTask, CreationConfigT: ConsumableCreationConfig>
     @JvmOverloads
     internal constructor(