diff --git a/lib/modules/manager/gradle/parser.spec.ts b/lib/modules/manager/gradle/parser.spec.ts index 4d1ae35d48df80edc46a028b0baf566a32f8b2bb..156b5f8de93ac983868747015f35d9cce7cb8f28 100644 --- a/lib/modules/manager/gradle/parser.spec.ts +++ b/lib/modules/manager/gradle/parser.spec.ts @@ -73,6 +73,7 @@ describe('modules/manager/gradle/parser', () => { ${'baz = "1.2.3"'} | ${'foobar = "foo:bar:$baz"'} | ${{ depName: 'foo:bar', currentValue: '1.2.3', groupName: 'baz' }} ${'baz = "1.2.3"'} | ${'group: "foo", name: "bar", version: baz'} | ${{ depName: 'foo:bar', currentValue: '1.2.3', groupName: 'baz' }} ${'baz = "1.2.3"'} | ${'library("foo.bar", "foo", "bar").versionRef("baz")'} | ${{ depName: 'foo:bar', currentValue: '1.2.3', groupName: 'baz' }} + ${''} | ${'library("foo.bar", "foo", "bar").version("1.2.3")'} | ${{ depName: 'foo:bar', currentValue: '1.2.3' }} ${'library("foo.bar", "foo", "bar")'} | ${'"${foo.bar}:1.2.3"'} | ${{ depName: 'foo:bar', currentValue: '1.2.3' }} `('$def | $str', ({ def, str, output }) => { const input = [def, str].join('\n'); diff --git a/lib/modules/manager/gradle/parser.ts b/lib/modules/manager/gradle/parser.ts index 3c266264f9151ab1eafef5c82c523b0164764b35..dd4203223aa96b6a4b30648ea2311317aaf6a826 100644 --- a/lib/modules/manager/gradle/parser.ts +++ b/lib/modules/manager/gradle/parser.ts @@ -373,9 +373,11 @@ function processLibraryDep(input: SyntaxHandlerInput): SyntaxHandlerOutput { if (groupId && artifactId) { res.vars = { [key]: { key, value, fileReplacePosition, packageFile } }; - const versionRefToken = tokenMap.version; - if (versionRefToken) { - const version: Token = { ...versionRefToken, type: TokenType.Word }; + const version = tokenMap.version; + if (version) { + if (tokenMap.versionType?.value === 'versionRef') { + version.type = TokenType.Word; + } const depRes = processLongFormDep({ ...input, tokenMap: { ...input.tokenMap, version }, @@ -653,6 +655,7 @@ const matcherConfigs: SyntaxMatchConfig[] = [ }, { // library("foobar", "foo", "bar").versionRef("foo.bar") + // library("foobar", "foo", "bar").version("1.2.3") matchers: [ { matchType: TokenType.Word, matchValue: 'library' }, { matchType: TokenType.LeftParen }, @@ -663,7 +666,11 @@ const matcherConfigs: SyntaxMatchConfig[] = [ { matchType: potentialStringTypes, tokenMapKey: 'artifactId' }, { matchType: TokenType.RightParen }, { matchType: TokenType.Dot }, - { matchType: TokenType.Word, matchValue: 'versionRef' }, + { + matchType: TokenType.Word, + matchValue: ['versionRef', 'version'], + tokenMapKey: 'versionType', + }, { matchType: TokenType.LeftParen }, { matchType: TokenType.String, tokenMapKey: 'version' }, { matchType: TokenType.RightParen },