From 1b36708c640da6e4648cc6142f8f6f3fefdc834b Mon Sep 17 00:00:00 2001 From: Johannes Feichtner <Churro@users.noreply.github.com> Date: Sun, 24 Jul 2022 08:14:29 +0200 Subject: [PATCH] feat(gradle): always add depType to extracted dependencies (#16725) --- .../gradle/__snapshots__/extract.spec.ts.snap | 1 + lib/modules/manager/gradle/extract.spec.ts | 29 +++++++++++++++++++ lib/modules/manager/gradle/extract.ts | 6 ++++ 3 files changed, 36 insertions(+) diff --git a/lib/modules/manager/gradle/__snapshots__/extract.spec.ts.snap b/lib/modules/manager/gradle/__snapshots__/extract.spec.ts.snap index 374573315d..eb3d4fa435 100644 --- a/lib/modules/manager/gradle/__snapshots__/extract.spec.ts.snap +++ b/lib/modules/manager/gradle/__snapshots__/extract.spec.ts.snap @@ -8,6 +8,7 @@ Array [ Object { "currentValue": "1.2.3", "depName": "foo:bar", + "depType": "dependencies", "fileReplacePosition": 4, "groupName": "baz", "managerData": Object { diff --git a/lib/modules/manager/gradle/extract.spec.ts b/lib/modules/manager/gradle/extract.spec.ts index c855e148d0..f07d0a6478 100644 --- a/lib/modules/manager/gradle/extract.spec.ts +++ b/lib/modules/manager/gradle/extract.spec.ts @@ -802,4 +802,33 @@ describe('modules/manager/gradle/extract', () => { { packageFile: 'build.gradle' }, ]); }); + + it('ensures depType is assigned', async () => { + const fsMock = { + 'build.gradle': + "id 'org.sonarqube' version '3.1.1'\n\"io.jsonwebtoken:jjwt-api:0.11.2\"", + 'buildSrc/build.gradle': '"com.google.protobuf:protobuf-java:3.18.2"', + }; + + mockFs(fsMock); + + const res = await extractAllPackageFiles( + {} as ExtractConfig, + Object.keys(fsMock) + ); + + expect(res).toMatchObject([ + { + packageFile: 'build.gradle', + deps: [ + { depName: 'org.sonarqube', depType: 'plugin' }, + { depName: 'io.jsonwebtoken:jjwt-api', depType: 'dependencies' }, + ], + }, + { + packageFile: 'buildSrc/build.gradle', + deps: [{ depType: 'devDependencies' }], + }, + ]); + }); }); diff --git a/lib/modules/manager/gradle/extract.ts b/lib/modules/manager/gradle/extract.ts index bb31acf21f..bdd055a051 100644 --- a/lib/modules/manager/gradle/extract.ts +++ b/lib/modules/manager/gradle/extract.ts @@ -113,6 +113,12 @@ export async function extractAllPackageFiles( ...new Set([...registryUrls, ...(dep.registryUrls ?? [])]), ]; + if (!dep.depType) { + dep.depType = key.startsWith('buildSrc') + ? 'devDependencies' + : 'dependencies'; + } + const depAlreadyInPkgFile = pkgFile.deps.some( (item) => item.depName === dep.depName && -- GitLab