Skip to content
Snippets Groups Projects
Unverified Commit feb3f950 authored by Danilo Pianini's avatar Danilo Pianini Committed by GitHub
Browse files

feat(managers/gradle): add support for plugin short syntax in gradle TOML catalogs (#13147)

parent 15ebe5c8
No related branches found
No related tags found
No related merge requests found
...@@ -14,3 +14,4 @@ google-firebase-messaging = "com.google.firebase:firebase-messaging" ...@@ -14,3 +14,4 @@ google-firebase-messaging = "com.google.firebase:firebase-messaging"
[plugins] [plugins]
kotlinJvm = { id = "org.jetbrains.kotlin.jvm", version = "1.5.21" } kotlinJvm = { id = "org.jetbrains.kotlin.jvm", version = "1.5.21" }
kotlinSerialization = { id = "org.jetbrains.kotlin.plugin.serialization", version.ref = "kotlin" } kotlinSerialization = { id = "org.jetbrains.kotlin.plugin.serialization", version.ref = "kotlin" }
multiJvm = "org.danilopianini.multi-jvm-test-plugin:0.3.0"
...@@ -382,6 +382,22 @@ describe('manager/gradle/shallow/extract', () => { ...@@ -382,6 +382,22 @@ describe('manager/gradle/shallow/extract', () => {
'https://plugins.gradle.org/m2/', '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/',
],
},
], ],
}, },
]); ]);
......
...@@ -168,9 +168,12 @@ export function parseCatalog( ...@@ -168,9 +168,12 @@ export function parseCatalog(
const pluginsSubContent = content.slice(pluginsStartIndex); const pluginsSubContent = content.slice(pluginsStartIndex);
for (const pluginName of Object.keys(plugins)) { for (const pluginName of Object.keys(plugins)) {
const pluginDescriptor = plugins[pluginName]; const pluginDescriptor = plugins[pluginName];
const depName = pluginDescriptor.id; const [depName, version] =
typeof pluginDescriptor === 'string'
? pluginDescriptor.split(':')
: [pluginDescriptor.id, pluginDescriptor.version];
const { currentValue, fileReplacePosition } = extractVersion({ const { currentValue, fileReplacePosition } = extractVersion({
version: pluginDescriptor.version, version,
versions, versions,
depStartIndex: pluginsStartIndex, depStartIndex: pluginsStartIndex,
depSubContent: pluginsSubContent, depSubContent: pluginsSubContent,
......
...@@ -68,7 +68,7 @@ export interface GradleCatalog { ...@@ -68,7 +68,7 @@ export interface GradleCatalog {
string, string,
GradleCatalogModuleDescriptor | GradleCatalogArtifactDescriptor | string GradleCatalogModuleDescriptor | GradleCatalogArtifactDescriptor | string
>; >;
plugins?: Record<string, GradleCatalogPluginDescriptor>; plugins?: Record<string, GradleCatalogPluginDescriptor | string>;
} }
export interface GradleCatalogModuleDescriptor { export interface GradleCatalogModuleDescriptor {
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment