diff --git a/lib/manager/gradle/build-gradle.ts b/lib/manager/gradle/build-gradle.ts index 5c7c03441e224c1af3fcb26fbb124a324bb2cdf1..d3e48abf34db0a78db73ea05fdbc8c48fa192320 100644 --- a/lib/manager/gradle/build-gradle.ts +++ b/lib/manager/gradle/build-gradle.ts @@ -208,7 +208,7 @@ function moduleMapVariableVersionFormatMatch( return new RegExp( `group\\s*:\\s*["']${dependency.group}["']\\s*,\\s*` + `name\\s*:\\s*["']${dependency.name}["']\\s*,\\s*` + - `version\\s*:\\s*([^\\s"']+?)\\s` + `version\\s*:\\s*([^\\s"')]+)\\s*` ); } diff --git a/test/manager/gradle/build-gradle.spec.ts b/test/manager/gradle/build-gradle.spec.ts index ae058cde606ffb6e474384c61a38e827663d1d5a..4dd451f6c15d9023c1b75709e2c6912a0ffdcc7e 100644 --- a/test/manager/gradle/build-gradle.spec.ts +++ b/test/manager/gradle/build-gradle.spec.ts @@ -206,6 +206,26 @@ describe('lib/manager/gradle/updateGradleVersion', () => { expect(updatedGradleFile).toEqual('mysqlVersion=7.0.0'); }); + it('should replace a external property variable assigned to a specific dependency parenthesis syntax', () => { + const gradleFile = + "implementation platform(group: 'mysql', name: 'mysql-connector-java', version: mysqlVersion)"; // eslint-disable-line no-template-curly-in-string + const mysqlDependency = { + group: 'mysql', + depGroup: 'mysql', + name: 'mysql-connector-java', + version: '6.0.5', + }; + collectVersionVariables([mysqlDependency], gradleFile); + + const propertyFile = 'mysqlVersion=6.0.5'; + const updatedGradleFile = updateGradleVersion( + propertyFile, + mysqlDependency, + '7.0.0' + ); + expect(updatedGradleFile).toEqual('mysqlVersion=7.0.0'); + }); + it('should replace a external variable assigned to a map dependency', () => { const gradleFile = `compile group : 'mysql' , name : 'mysql-connector-java',