diff --git a/lib/modules/manager/gradle/parser.spec.ts b/lib/modules/manager/gradle/parser.spec.ts index 668c6b3ff188cb35c38d9a8a3280ad36791556a7..d234b041ed75045bd4f52a9f61db18bdcf6b710b 100644 --- a/lib/modules/manager/gradle/parser.spec.ts +++ b/lib/modules/manager/gradle/parser.spec.ts @@ -759,12 +759,13 @@ describe('modules/manager/gradle/parser', () => { describe('heuristic dependency matching', () => { it.each` - input | output - ${'("foo", "bar", "1.2.3")'} | ${{ depName: 'foo:bar', currentValue: '1.2.3' }} - ${'("foo", "bar", "1.2.3", "4.5.6")'} | ${null} - ${'(["foo", "bar", "1.2.3"])'} | ${null} - ${'someMethod("foo", "bar", "1.2.3")'} | ${{ depName: 'foo:bar', currentValue: '1.2.3' }} - ${'listOf("foo", "bar", "baz")'} | ${null} + input | output + ${'("foo", "bar", "1.2.3")'} | ${{ depName: 'foo:bar', currentValue: '1.2.3' }} + ${'("foo", "bar", "1.2.3", "4.5.6")'} | ${null} + ${'(["foo", "bar", "1.2.3"])'} | ${null} + ${'someMethod("foo", "bar", "1.2.3")'} | ${{ depName: 'foo:bar', currentValue: '1.2.3' }} + ${'listOf("foo", "bar", "baz")'} | ${null} + ${'java { registerFeature(foo) { capability("foo", "bar", "1.2.3") } }'} | ${null} `('$input', ({ input, output }) => { const { deps } = parseGradle(input); expect(deps).toMatchObject([output].filter(is.truthy)); diff --git a/lib/modules/manager/gradle/parser/dependencies.ts b/lib/modules/manager/gradle/parser/dependencies.ts index d8778737edaaf80be080e01c0a09004efae21e24..93e029da4037bf8e8a39332959ce32072d236e4b 100644 --- a/lib/modules/manager/gradle/parser/dependencies.ts +++ b/lib/modules/manager/gradle/parser/dependencies.ts @@ -4,6 +4,7 @@ import type { Ctx } from '../types'; import { GRADLE_PLUGINS, cleanupTempVars, + qDotOrBraceExpr, qTemplateString, qValueMatcher, storeInTokenMap, @@ -204,4 +205,6 @@ export const qDependencies = q.alt( qKotlinShortNotationDependencies, qKotlinMapNotationDependencies, qImplicitGradlePlugin, + // avoid heuristic matching of gradle feature variant capabilities + qDotOrBraceExpr('java', q.sym<Ctx>('registerFeature').tree()), );