mirror of
https://github.com/renovatebot/renovate.git
synced 2025-01-14 08:36:26 +00:00
fix(gradle): Additional matches for dependency versions (#6477)
Co-authored-by: Michael Kriese <michael.kriese@visualon.de>
This commit is contained in:
parent
aed8d75c73
commit
d320573e3d
4 changed files with 129 additions and 2 deletions
|
@ -30,6 +30,16 @@
|
||||||
"name": "scala-logging_%%",
|
"name": "scala-logging_%%",
|
||||||
"group": "com.typesafe.scala-logging",
|
"group": "com.typesafe.scala-logging",
|
||||||
"version": "3.9.0"
|
"version": "3.9.0"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "foo",
|
||||||
|
"group": "foo",
|
||||||
|
"version": null
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "bar",
|
||||||
|
"group": "bar",
|
||||||
|
"version": null
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
|
|
|
@ -211,6 +211,26 @@ Array [
|
||||||
"https://jitpack.io",
|
"https://jitpack.io",
|
||||||
],
|
],
|
||||||
},
|
},
|
||||||
|
Object {
|
||||||
|
"currentValue": "1.2.3",
|
||||||
|
"depGroup": "foo",
|
||||||
|
"depName": "foo:foo",
|
||||||
|
"name": "foo",
|
||||||
|
"registryUrls": Array [
|
||||||
|
"https://repo.maven.apache.org/maven2/",
|
||||||
|
"https://jitpack.io",
|
||||||
|
],
|
||||||
|
},
|
||||||
|
Object {
|
||||||
|
"currentValue": "3.4.5",
|
||||||
|
"depGroup": "bar",
|
||||||
|
"depName": "bar:bar",
|
||||||
|
"name": "bar",
|
||||||
|
"registryUrls": Array [
|
||||||
|
"https://repo.maven.apache.org/maven2/",
|
||||||
|
"https://jitpack.io",
|
||||||
|
],
|
||||||
|
},
|
||||||
],
|
],
|
||||||
"packageFile": "build.gradle",
|
"packageFile": "build.gradle",
|
||||||
},
|
},
|
||||||
|
@ -269,6 +289,26 @@ Array [
|
||||||
"https://jitpack.io",
|
"https://jitpack.io",
|
||||||
],
|
],
|
||||||
},
|
},
|
||||||
|
Object {
|
||||||
|
"currentValue": "1.2.3",
|
||||||
|
"depGroup": "foo",
|
||||||
|
"depName": "foo:foo",
|
||||||
|
"name": "foo",
|
||||||
|
"registryUrls": Array [
|
||||||
|
"https://repo.maven.apache.org/maven2/",
|
||||||
|
"https://jitpack.io",
|
||||||
|
],
|
||||||
|
},
|
||||||
|
Object {
|
||||||
|
"currentValue": "3.4.5",
|
||||||
|
"depGroup": "bar",
|
||||||
|
"depName": "bar:bar",
|
||||||
|
"name": "bar",
|
||||||
|
"registryUrls": Array [
|
||||||
|
"https://repo.maven.apache.org/maven2/",
|
||||||
|
"https://jitpack.io",
|
||||||
|
],
|
||||||
|
},
|
||||||
],
|
],
|
||||||
"packageFile": "subproject/build.gradle",
|
"packageFile": "subproject/build.gradle",
|
||||||
},
|
},
|
||||||
|
@ -354,6 +394,26 @@ Array [
|
||||||
"https://jitpack.io",
|
"https://jitpack.io",
|
||||||
],
|
],
|
||||||
},
|
},
|
||||||
|
Object {
|
||||||
|
"currentValue": "1.2.3",
|
||||||
|
"depGroup": "foo",
|
||||||
|
"depName": "foo:foo",
|
||||||
|
"name": "foo",
|
||||||
|
"registryUrls": Array [
|
||||||
|
"https://repo.maven.apache.org/maven2/",
|
||||||
|
"https://jitpack.io",
|
||||||
|
],
|
||||||
|
},
|
||||||
|
Object {
|
||||||
|
"currentValue": "3.4.5",
|
||||||
|
"depGroup": "bar",
|
||||||
|
"depName": "bar:bar",
|
||||||
|
"name": "bar",
|
||||||
|
"registryUrls": Array [
|
||||||
|
"https://repo.maven.apache.org/maven2/",
|
||||||
|
"https://jitpack.io",
|
||||||
|
],
|
||||||
|
},
|
||||||
],
|
],
|
||||||
"packageFile": "foo/build.gradle",
|
"packageFile": "foo/build.gradle",
|
||||||
},
|
},
|
||||||
|
@ -439,6 +499,26 @@ Array [
|
||||||
"https://jitpack.io",
|
"https://jitpack.io",
|
||||||
],
|
],
|
||||||
},
|
},
|
||||||
|
Object {
|
||||||
|
"currentValue": "1.2.3",
|
||||||
|
"depGroup": "foo",
|
||||||
|
"depName": "foo:foo",
|
||||||
|
"name": "foo",
|
||||||
|
"registryUrls": Array [
|
||||||
|
"https://repo.maven.apache.org/maven2/",
|
||||||
|
"https://jitpack.io",
|
||||||
|
],
|
||||||
|
},
|
||||||
|
Object {
|
||||||
|
"currentValue": "3.4.5",
|
||||||
|
"depGroup": "bar",
|
||||||
|
"depName": "bar:bar",
|
||||||
|
"name": "bar",
|
||||||
|
"registryUrls": Array [
|
||||||
|
"https://repo.maven.apache.org/maven2/",
|
||||||
|
"https://jitpack.io",
|
||||||
|
],
|
||||||
|
},
|
||||||
],
|
],
|
||||||
"packageFile": "build.gradle.kts",
|
"packageFile": "build.gradle.kts",
|
||||||
},
|
},
|
||||||
|
@ -497,6 +577,26 @@ Array [
|
||||||
"https://jitpack.io",
|
"https://jitpack.io",
|
||||||
],
|
],
|
||||||
},
|
},
|
||||||
|
Object {
|
||||||
|
"currentValue": "1.2.3",
|
||||||
|
"depGroup": "foo",
|
||||||
|
"depName": "foo:foo",
|
||||||
|
"name": "foo",
|
||||||
|
"registryUrls": Array [
|
||||||
|
"https://repo.maven.apache.org/maven2/",
|
||||||
|
"https://jitpack.io",
|
||||||
|
],
|
||||||
|
},
|
||||||
|
Object {
|
||||||
|
"currentValue": "3.4.5",
|
||||||
|
"depGroup": "bar",
|
||||||
|
"depName": "bar:bar",
|
||||||
|
"name": "bar",
|
||||||
|
"registryUrls": Array [
|
||||||
|
"https://repo.maven.apache.org/maven2/",
|
||||||
|
"https://jitpack.io",
|
||||||
|
],
|
||||||
|
},
|
||||||
],
|
],
|
||||||
"packageFile": "subproject/build.gradle.kts",
|
"packageFile": "subproject/build.gradle.kts",
|
||||||
},
|
},
|
||||||
|
|
|
@ -137,6 +137,14 @@ function kotlinPluginVariableVersionFormatMatch(
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
function dependencyStringVariableExpressionFormatMatch(
|
||||||
|
dependency: GradleDependency
|
||||||
|
): RegExp {
|
||||||
|
return regEx(
|
||||||
|
`\\s*dependency\\s+['"]${dependency.group}:${dependency.name}:([^'"]+)['"](?:\\s|;|})`
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
function variableDefinitionFormatMatch(variable: string): RegExp {
|
function variableDefinitionFormatMatch(variable: string): RegExp {
|
||||||
return regEx(`(${variable}\\s*=\\s*?["'])(.*)(["'])`);
|
return regEx(`(${variable}\\s*=\\s*?["'])(.*)(["'])`);
|
||||||
}
|
}
|
||||||
|
@ -162,16 +170,22 @@ export function collectVersionVariables(
|
||||||
moduleStringVariableInterpolationVersionFormatMatch(dependency),
|
moduleStringVariableInterpolationVersionFormatMatch(dependency),
|
||||||
groovyPluginVariableVersionFormatMatch(dependency),
|
groovyPluginVariableVersionFormatMatch(dependency),
|
||||||
kotlinPluginVariableVersionFormatMatch(dependency),
|
kotlinPluginVariableVersionFormatMatch(dependency),
|
||||||
|
dependencyStringVariableExpressionFormatMatch(dependency),
|
||||||
...moduleMapVariableVersionFormatMatch(dependency),
|
...moduleMapVariableVersionFormatMatch(dependency),
|
||||||
...moduleKotlinNamedArgumentVariableVersionFormatMatch(dependency),
|
...moduleKotlinNamedArgumentVariableVersionFormatMatch(dependency),
|
||||||
];
|
];
|
||||||
|
|
||||||
|
const depName = `${dependency.group}:${dependency.name}`;
|
||||||
for (const regex of regexes) {
|
for (const regex of regexes) {
|
||||||
const match = regex.exec(buildGradleContent);
|
const match = regex.exec(buildGradleContent);
|
||||||
if (match) {
|
if (match) {
|
||||||
variables[`${dependency.group}:${dependency.name}`] = match[1];
|
variables[depName] = match[1];
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (!dep.currentValue && variables[depName]) {
|
||||||
|
dep.currentValue = variables[depName];
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -53,7 +53,10 @@ async function setupMocks() {
|
||||||
const exec: jest.Mock<typeof _exec> = require('child_process').exec;
|
const exec: jest.Mock<typeof _exec> = require('child_process').exec;
|
||||||
const util: jest.Mocked<typeof _util> = require('../../util');
|
const util: jest.Mocked<typeof _util> = require('../../util');
|
||||||
|
|
||||||
utilfs.readLocalFile.mockResolvedValue('some content');
|
utilfs.readLocalFile.mockResolvedValue(`
|
||||||
|
dependency 'foo:foo:1.2.3'
|
||||||
|
dependency "bar:bar:3.4.5"
|
||||||
|
`);
|
||||||
env.getChildProcessEnv.mockReturnValue(envMock.basic);
|
env.getChildProcessEnv.mockReturnValue(envMock.basic);
|
||||||
await util.setUtilConfig(baseConfig);
|
await util.setUtilConfig(baseConfig);
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue