diff --git a/lib/modules/manager/sbt/extract.spec.ts b/lib/modules/manager/sbt/extract.spec.ts index fe4a05bf149db631b5635341418bbbf38deecb02..0d6e51afd3f7adcb390d9d30d77f07712f47ca44 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 4933298b48ac923d644548dedeff04abb179f22d..79808a867525b7b8245267b29cbd70c6f12b18ce 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); } } }