From 07bb701ada8b52e69d4283c0da91bb47e65f7aef Mon Sep 17 00:00:00 2001
From: Johannes Feichtner <Churro@users.noreply.github.com>
Date: Sat, 3 Dec 2022 20:05:28 +0100
Subject: [PATCH] refactor(manager/gradle): ensure gradle parser is only
 invoked for gradle script files (#19232)

---
 lib/modules/manager/gradle/extract.ts | 3 ++-
 lib/modules/manager/gradle/utils.ts   | 5 +++++
 2 files changed, 7 insertions(+), 1 deletion(-)

diff --git a/lib/modules/manager/gradle/extract.ts b/lib/modules/manager/gradle/extract.ts
index 6ac9a4b6c9..4f06d3cba4 100644
--- a/lib/modules/manager/gradle/extract.ts
+++ b/lib/modules/manager/gradle/extract.ts
@@ -12,6 +12,7 @@ import type {
 } from './types';
 import {
   getVars,
+  isGradleScriptFile,
   isPropsFile,
   isTOMLFile,
   reorderFiles,
@@ -70,7 +71,7 @@ export async function extractAllPackageFiles(
       } else if (isTOMLFile(packageFile)) {
         const updatesFromCatalog = parseCatalog(packageFile, content);
         extractedDeps.push(...updatesFromCatalog);
-      } else {
+      } else if (isGradleScriptFile(packageFile)) {
         const vars = getVars(registry, dir);
         const {
           deps,
diff --git a/lib/modules/manager/gradle/utils.ts b/lib/modules/manager/gradle/utils.ts
index 8fe72d9e08..13f9a3557b 100644
--- a/lib/modules/manager/gradle/utils.ts
+++ b/lib/modules/manager/gradle/utils.ts
@@ -84,6 +84,11 @@ export function parseDependencyString(
 const gradleVersionsFileRegex = regEx('^versions\\.gradle(?:\\.kts)?$', 'i');
 const gradleBuildFileRegex = regEx('^build\\.gradle(?:\\.kts)?$', 'i');
 
+export function isGradleScriptFile(path: string): boolean {
+  const filename = upath.basename(path).toLowerCase();
+  return filename.endsWith('.gradle.kts') || filename.endsWith('.gradle');
+}
+
 export function isGradleVersionsFile(path: string): boolean {
   const filename = upath.basename(path);
   return gradleVersionsFileRegex.test(filename);
-- 
GitLab