diff --git a/lib/modules/manager/gradle/parser.spec.ts b/lib/modules/manager/gradle/parser.spec.ts index be59d51b673507..3d45f553b8b405 100644 --- a/lib/modules/manager/gradle/parser.spec.ts +++ b/lib/modules/manager/gradle/parser.spec.ts @@ -157,6 +157,7 @@ describe('modules/manager/gradle/parser', () => { releaseCoroutines: "org.jetbrains.kotlinx:kotlinx-coroutines-core:0.26.1-eap13" api: "org.slf4j:slf4j-api:$slfj4Version", ] + foo = [ group: "org.slf4j", name: "slf4j-ext", version: slfj4Version ] `; const { deps } = parseGradle(input); @@ -176,6 +177,11 @@ describe('modules/manager/gradle/parser', () => { groupName: 'slfj4Version', currentValue: '2.0.0', }, + { + depName: 'org.slf4j:slf4j-ext', + groupName: 'slfj4Version', + currentValue: '2.0.0', + }, ]); }); }); diff --git a/lib/modules/manager/gradle/parser/assignments.ts b/lib/modules/manager/gradle/parser/assignments.ts index 9b5ccbd49ba461..a05802061829dc 100644 --- a/lib/modules/manager/gradle/parser/assignments.ts +++ b/lib/modules/manager/gradle/parser/assignments.ts @@ -13,6 +13,7 @@ import { storeInTokenMap, storeVarToken, } from './common'; +import { qGroovyMapNotationDependencies } from './dependencies'; import { handleAssignment } from './handlers'; // foo = "1.2.3" @@ -65,16 +66,20 @@ const qKotlinSingleExtraVarAssignment = q }) .handler(cleanupTempVars); -// foo: "1.2.3" -const qGroovySingleMapOfVarAssignment = q - .sym(storeVarToken) - .handler(prependNestingDepth) - .handler(coalesceVariable) - .handler((ctx) => storeInTokenMap(ctx, 'keyToken')) - .op(':') - .join(qTemplateString) - .handler((ctx) => storeInTokenMap(ctx, 'valToken')) - .handler(handleAssignment); +const qGroovySingleMapOfVarAssignment = q.alt( + // foo: [group: "foo", name: "bar", version: "1.2.3"] + q.begin().join(qGroovyMapNotationDependencies).end(), + // foo: "1.2.3" + q + .sym(storeVarToken) + .handler(prependNestingDepth) + .handler(coalesceVariable) + .handler((ctx) => storeInTokenMap(ctx, 'keyToken')) + .op(':') + .join(qTemplateString) + .handler((ctx) => storeInTokenMap(ctx, 'valToken')) + .handler(handleAssignment) +); const qGroovyMapOfExpr = ( search: q.QueryBuilder diff --git a/lib/modules/manager/gradle/parser/dependencies.ts b/lib/modules/manager/gradle/parser/dependencies.ts index 633633790273f9..0ec2b03129a7c5 100644 --- a/lib/modules/manager/gradle/parser/dependencies.ts +++ b/lib/modules/manager/gradle/parser/dependencies.ts @@ -79,7 +79,7 @@ const qDependencySet = q .handler(cleanupTempVars); // group: "foo", name: "bar", version: "1.2.3" -const qGroovyMapNotationDependencies = q +export const qGroovyMapNotationDependencies = q .sym('group') .op(':') .join(qGroupId)