From 523d80ebb964daf74a57aca62ae3a171b8ccc72b Mon Sep 17 00:00:00 2001
From: Sergei Zharinov <zharinov@users.noreply.github.com>
Date: Wed, 28 Aug 2024 02:22:16 -0300
Subject: [PATCH] fix(maven): Return `isPrivate` flag for default repo (#31061)

---
 .../clojure/__snapshots__/index.spec.ts.snap         |  1 +
 .../maven/__snapshots__/index.spec.ts.snap           |  2 ++
 lib/modules/datasource/maven/index.spec.ts           |  2 ++
 lib/modules/datasource/maven/index.ts                | 12 +++++++++++-
 lib/modules/datasource/maven/s3.spec.ts              |  1 +
 5 files changed, 17 insertions(+), 1 deletion(-)

diff --git a/lib/modules/datasource/clojure/__snapshots__/index.spec.ts.snap b/lib/modules/datasource/clojure/__snapshots__/index.spec.ts.snap
index 483eac0146..19b3e8b369 100644
--- a/lib/modules/datasource/clojure/__snapshots__/index.spec.ts.snap
+++ b/lib/modules/datasource/clojure/__snapshots__/index.spec.ts.snap
@@ -53,6 +53,7 @@ exports[`modules/datasource/clojure/index returns releases from custom repositor
   "display": "org.example:package",
   "group": "org.example",
   "homepage": "https://package.example.org/about",
+  "isPrivate": true,
   "name": "package",
   "packageScope": "org.example",
   "registryUrl": "https://custom.registry.renovatebot.com",
diff --git a/lib/modules/datasource/maven/__snapshots__/index.spec.ts.snap b/lib/modules/datasource/maven/__snapshots__/index.spec.ts.snap
index d6ca5371d2..6e8c05b6e8 100644
--- a/lib/modules/datasource/maven/__snapshots__/index.spec.ts.snap
+++ b/lib/modules/datasource/maven/__snapshots__/index.spec.ts.snap
@@ -53,6 +53,7 @@ exports[`modules/datasource/maven/index removes authentication header after redi
   "display": "org.example:package",
   "group": "org.example",
   "homepage": "https://package.example.org/about",
+  "isPrivate": true,
   "name": "package",
   "packageScope": "org.example",
   "registryUrl": "https://frontend_for_private_s3_repository/maven2",
@@ -118,6 +119,7 @@ exports[`modules/datasource/maven/index returns releases from custom repository
   "display": "org.example:package",
   "group": "org.example",
   "homepage": "https://package.example.org/about",
+  "isPrivate": true,
   "name": "package",
   "packageScope": "org.example",
   "registryUrl": "https://custom.registry.renovatebot.com",
diff --git a/lib/modules/datasource/maven/index.spec.ts b/lib/modules/datasource/maven/index.spec.ts
index 0f818c4fa7..402fa00125 100644
--- a/lib/modules/datasource/maven/index.spec.ts
+++ b/lib/modules/datasource/maven/index.spec.ts
@@ -500,6 +500,7 @@ describe('modules/datasource/maven/index', () => {
         { version: '1.0.5-SNAPSHOT' },
         { version: '2.0.0' },
       ],
+      isPrivate: true,
     });
     expect(googleAuth).toHaveBeenCalledTimes(5);
   });
@@ -552,6 +553,7 @@ describe('modules/datasource/maven/index', () => {
         { version: '1.0.5-SNAPSHOT' },
         { version: '2.0.0' },
       ],
+      isPrivate: true,
     });
     expect(googleAuth).toHaveBeenCalledTimes(5);
   });
diff --git a/lib/modules/datasource/maven/index.ts b/lib/modules/datasource/maven/index.ts
index c40d7b465f..b4c4a4f540 100644
--- a/lib/modules/datasource/maven/index.ts
+++ b/lib/modules/datasource/maven/index.ts
@@ -360,6 +360,16 @@ export class MavenDatasource extends Datasource {
         latestSuitableVersion,
       ));
 
-    return { ...dependency, ...dependencyInfo, releases };
+    const result: ReleaseResult = {
+      ...dependency,
+      ...dependencyInfo,
+      releases,
+    };
+
+    if (!this.defaultRegistryUrls.includes(registryUrl)) {
+      result.isPrivate = true;
+    }
+
+    return result;
   }
 }
diff --git a/lib/modules/datasource/maven/s3.spec.ts b/lib/modules/datasource/maven/s3.spec.ts
index f5c37a9a5b..6aed183e60 100644
--- a/lib/modules/datasource/maven/s3.spec.ts
+++ b/lib/modules/datasource/maven/s3.spec.ts
@@ -91,6 +91,7 @@ describe('modules/datasource/maven/s3', () => {
           { version: '1.0.2' },
           { version: '1.0.3', releaseTimestamp: '2020-01-01T00:00:00.000Z' },
         ],
+        isPrivate: true,
       });
     });
 
-- 
GitLab