diff --git a/lib/manager/gradle/shallow/__fixtures__/2/libs.versions.toml b/lib/manager/gradle/shallow/__fixtures__/2/libs.versions.toml index 85bad73700c60adeb0359743d00bffde04d6b219..e68088f183607a426f6b053215473803a122e00d 100644 --- a/lib/manager/gradle/shallow/__fixtures__/2/libs.versions.toml +++ b/lib/manager/gradle/shallow/__fixtures__/2/libs.versions.toml @@ -14,3 +14,4 @@ google-firebase-messaging = "com.google.firebase:firebase-messaging" [plugins] kotlinJvm = { id = "org.jetbrains.kotlin.jvm", version = "1.5.21" } kotlinSerialization = { id = "org.jetbrains.kotlin.plugin.serialization", version.ref = "kotlin" } +multiJvm = "org.danilopianini.multi-jvm-test-plugin:0.3.0" diff --git a/lib/manager/gradle/shallow/extract.spec.ts b/lib/manager/gradle/shallow/extract.spec.ts index 2b4f4751eaeb5423cf320e8e59b5ed61fce5e047..8347126e5610383c27be584fa7d1162e4d0e6e20 100644 --- a/lib/manager/gradle/shallow/extract.spec.ts +++ b/lib/manager/gradle/shallow/extract.spec.ts @@ -382,6 +382,22 @@ describe('manager/gradle/shallow/extract', () => { 'https://plugins.gradle.org/m2/', ], }, + { + depName: 'org.danilopianini.multi-jvm-test-plugin', + depType: 'plugin', + currentValue: '0.3.0', + commitMessageTopic: 'plugin multiJvm', + lookupName: + 'org.danilopianini.multi-jvm-test-plugin:org.danilopianini.multi-jvm-test-plugin.gradle.plugin', + managerData: { + fileReplacePosition: 822, + packageFile: 'gradle/libs.versions.toml', + }, + registryUrls: [ + 'https://repo.maven.apache.org/maven2', + 'https://plugins.gradle.org/m2/', + ], + }, ], }, ]); diff --git a/lib/manager/gradle/shallow/extract/catalog.ts b/lib/manager/gradle/shallow/extract/catalog.ts index 89200c8f829acf55d9235ded996fdeebcf89dd88..95d80049fd9b17f980411a37e1af5890b08d31fc 100644 --- a/lib/manager/gradle/shallow/extract/catalog.ts +++ b/lib/manager/gradle/shallow/extract/catalog.ts @@ -168,9 +168,12 @@ export function parseCatalog( const pluginsSubContent = content.slice(pluginsStartIndex); for (const pluginName of Object.keys(plugins)) { const pluginDescriptor = plugins[pluginName]; - const depName = pluginDescriptor.id; + const [depName, version] = + typeof pluginDescriptor === 'string' + ? pluginDescriptor.split(':') + : [pluginDescriptor.id, pluginDescriptor.version]; const { currentValue, fileReplacePosition } = extractVersion({ - version: pluginDescriptor.version, + version, versions, depStartIndex: pluginsStartIndex, depSubContent: pluginsSubContent, diff --git a/lib/manager/gradle/shallow/types.ts b/lib/manager/gradle/shallow/types.ts index 384f14a08d28a2d50f565bbfc1fba8cb064f8316..f9eeeed2511ad6d7ffd622d4e623f760559c0fe1 100644 --- a/lib/manager/gradle/shallow/types.ts +++ b/lib/manager/gradle/shallow/types.ts @@ -68,7 +68,7 @@ export interface GradleCatalog { string, GradleCatalogModuleDescriptor | GradleCatalogArtifactDescriptor | string >; - plugins?: Record<string, GradleCatalogPluginDescriptor>; + plugins?: Record<string, GradleCatalogPluginDescriptor | string>; } export interface GradleCatalogModuleDescriptor {