From c02014a16e8ddb7294eefe39fadb531c901a47b9 Mon Sep 17 00:00:00 2001
From: Johannes Feichtner <Churro@users.noreply.github.com>
Date: Sun, 23 Oct 2022 08:07:49 +0200
Subject: [PATCH] fix(manager/gradle): normalize aliases in versionCatalog
 (#18473)

---
 lib/modules/manager/gradle/parser.spec.ts | 24 +++++++++++------------
 lib/modules/manager/gradle/parser.ts      |  2 +-
 2 files changed, 13 insertions(+), 13 deletions(-)

diff --git a/lib/modules/manager/gradle/parser.spec.ts b/lib/modules/manager/gradle/parser.spec.ts
index d6b4feec6d..896c2dd827 100644
--- a/lib/modules/manager/gradle/parser.spec.ts
+++ b/lib/modules/manager/gradle/parser.spec.ts
@@ -86,18 +86,18 @@ describe('modules/manager/gradle/parser', () => {
 
     describe('variable substitutions', () => {
       test.each`
-        def                                   | str                                                     | output
-        ${'foo = "1.2.3"'}                    | ${'"foo:bar:$foo@@@"'}                                  | ${null}
-        ${'foo = "1"; bar = "2"; baz = "3"'}  | ${'"foo:bar:$foo.$bar.$baz"'}                           | ${{ depName: 'foo:bar', currentValue: '1.2.3', skipReason: 'contains-variable' }}
-        ${'baz = "1.2.3"'}                    | ${'"foo:bar:$baz"'}                                     | ${{ depName: 'foo:bar', currentValue: '1.2.3', groupName: 'baz' }}
-        ${'foo.bar = "1.2.3"'}                | ${'"foo:bar:$foo.bar"'}                                 | ${{ depName: 'foo:bar', currentValue: '1.2.3', groupName: 'foo.bar' }}
-        ${'foo = "1.2.3"'}                    | ${'"foo:bar_$foo:4.5.6"'}                               | ${{ depName: 'foo:bar_1.2.3', managerData: { fileReplacePosition: 28 } }}
-        ${''}                                 | ${'foo.bar = "foo:bar:1.2.3"'}                          | ${{ depName: 'foo:bar', currentValue: '1.2.3' }}
-        ${'baz = "1.2.3"'}                    | ${'foobar = "foo:bar:$baz"'}                            | ${{ depName: 'foo:bar', currentValue: '1.2.3', groupName: 'baz' }}
-        ${'baz = "1.2.3"'}                    | ${'group: "foo", name: "bar", version: baz'}            | ${{ depName: 'foo:bar', currentValue: '1.2.3', groupName: 'baz' }}
-        ${'baz = "1.2.3"'}                    | ${'library("foo.bar", "foo", "bar").versionRef("baz")'} | ${{ depName: 'foo:bar', currentValue: '1.2.3', groupName: 'baz' }}
-        ${''}                                 | ${'library("foo.bar", "foo", "bar").version("1.2.3")'}  | ${{ depName: 'foo:bar', currentValue: '1.2.3' }}
-        ${'library("foo.bar", "foo", "bar")'} | ${'"${foo.bar}:1.2.3"'}                                 | ${{ depName: 'foo:bar', currentValue: '1.2.3' }}
+        def                                           | str                                                     | output
+        ${'foo = "1.2.3"'}                            | ${'"foo:bar:$foo@@@"'}                                  | ${null}
+        ${'foo = "1"; bar = "2"; baz = "3"'}          | ${'"foo:bar:$foo.$bar.$baz"'}                           | ${{ depName: 'foo:bar', currentValue: '1.2.3', skipReason: 'contains-variable' }}
+        ${'baz = "1.2.3"'}                            | ${'"foo:bar:$baz"'}                                     | ${{ depName: 'foo:bar', currentValue: '1.2.3', groupName: 'baz' }}
+        ${'foo.bar = "1.2.3"'}                        | ${'"foo:bar:$foo.bar"'}                                 | ${{ depName: 'foo:bar', currentValue: '1.2.3', groupName: 'foo.bar' }}
+        ${'foo = "1.2.3"'}                            | ${'"foo:bar_$foo:4.5.6"'}                               | ${{ depName: 'foo:bar_1.2.3', managerData: { fileReplacePosition: 28 } }}
+        ${''}                                         | ${'foo.bar = "foo:bar:1.2.3"'}                          | ${{ depName: 'foo:bar', currentValue: '1.2.3' }}
+        ${'baz = "1.2.3"'}                            | ${'foobar = "foo:bar:$baz"'}                            | ${{ depName: 'foo:bar', currentValue: '1.2.3', groupName: 'baz' }}
+        ${'baz = "1.2.3"'}                            | ${'group: "foo", name: "bar", version: baz'}            | ${{ depName: 'foo:bar', currentValue: '1.2.3', groupName: 'baz' }}
+        ${'baz = "1.2.3"'}                            | ${'library("foo.bar", "foo", "bar").versionRef("baz")'} | ${{ depName: 'foo:bar', currentValue: '1.2.3', groupName: 'baz' }}
+        ${''}                                         | ${'library("foo.bar", "foo", "bar").version("1.2.3")'}  | ${{ depName: 'foo:bar', currentValue: '1.2.3' }}
+        ${'library("foo-bar_baz-qux", "foo", "bar")'} | ${'"${foo.bar.baz.qux}:1.2.3"'}                         | ${{ depName: 'foo:bar', currentValue: '1.2.3' }}
       `('$def | $str', async ({ def, str, output }) => {
         const input = [def, str].join('\n');
         const { deps } = await parseGradle(input);
diff --git a/lib/modules/manager/gradle/parser.ts b/lib/modules/manager/gradle/parser.ts
index 48e620a89e..6038b8148f 100644
--- a/lib/modules/manager/gradle/parser.ts
+++ b/lib/modules/manager/gradle/parser.ts
@@ -376,7 +376,7 @@ function processLibraryDep(input: SyntaxHandlerInput): SyntaxHandlerOutput {
   const { tokenMap } = input;
 
   const varNameToken = tokenMap.varName;
-  const key = varNameToken.value;
+  const key = varNameToken.value.replace(regEx(/[-_]/g), '.');
   const fileReplacePosition = varNameToken.offset;
   const packageFile = input.packageFile;
 
-- 
GitLab