From 6da8fdc208b3390246cfd6e9b35699ba8319c1a3 Mon Sep 17 00:00:00 2001 From: Lakshmipriya Sivakumar <priya.sivakumar@target.com> Date: Fri, 1 Mar 2024 11:14:44 -0500 Subject: [PATCH] fix(sbt): initialize registry urls for sbt version (#27667) --- lib/modules/manager/sbt/extract.spec.ts | 26 +++++++++++++++++++++++++ lib/modules/manager/sbt/extract.ts | 8 ++++---- 2 files changed, 30 insertions(+), 4 deletions(-) diff --git a/lib/modules/manager/sbt/extract.spec.ts b/lib/modules/manager/sbt/extract.spec.ts index fe4a05bf14..0d6e51afd3 100644 --- a/lib/modules/manager/sbt/extract.spec.ts +++ b/lib/modules/manager/sbt/extract.spec.ts @@ -556,5 +556,31 @@ describe('modules/manager/sbt/extract', () => { const packages = await extractAllPackageFiles({}, ['build.sbt']); expect(packages).toBeEmpty(); }); + + it('extracts build properties correctly', async () => { + const buildProps = codeBlock` + sbt.version=1.6.0 + `; + fs.readLocalFile.mockResolvedValueOnce(buildProps); + const packages = await extractAllPackageFiles({}, [ + 'project/build.properties', + ]); + expect(packages).toMatchObject([ + { + deps: [ + { + datasource: 'github-releases', + packageName: 'sbt/sbt', + depName: 'sbt/sbt', + currentValue: '1.6.0', + replaceString: 'sbt.version=1.6.0', + versioning: 'semver', + extractVersion: '^v(?<version>\\S+)', + registryUrls: ['https://repo1.maven.org/maven2'], + }, + ], + }, + ]); + }); }); }); diff --git a/lib/modules/manager/sbt/extract.ts b/lib/modules/manager/sbt/extract.ts index 4933298b48..79808a8675 100644 --- a/lib/modules/manager/sbt/extract.ts +++ b/lib/modules/manager/sbt/extract.ts @@ -334,6 +334,7 @@ export function extractPackageFile( currentValue: sbtVersion, replaceString: matchString, extractVersion: '^v(?<version>\\S+)', + registryUrls: [], }; return { @@ -394,13 +395,12 @@ export async function extractAllPackageFiles( } for (const pkg of packages) { for (const dep of pkg.deps) { - dep.registryUrls ??= []; if (proxyUrls.length > 0) { - dep.registryUrls.unshift(...proxyUrls); + dep.registryUrls!.unshift(...proxyUrls); } else if (dep.depType === 'plugin') { - dep.registryUrls.unshift(SBT_PLUGINS_REPO, SBT_MVN_REPO); + dep.registryUrls!.unshift(SBT_PLUGINS_REPO, SBT_MVN_REPO); } else { - dep.registryUrls.unshift(SBT_MVN_REPO); + dep.registryUrls!.unshift(SBT_MVN_REPO); } } } -- GitLab