From a28f688b7732596601e8596765ca64be8abf5f70 Mon Sep 17 00:00:00 2001
From: Olexiy Myronenko <a-27m@users.noreply.github.com>
Date: Tue, 27 Aug 2019 06:10:33 +0200
Subject: [PATCH] =?UTF-8?q?fix(gradle):=20allow=20use=20of=20variables=20w?=
 =?UTF-8?q?ith=20platform=20keyword=20and=E2=80=A6=20(#4378)?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

---
 lib/manager/gradle/build-gradle.ts       |  2 +-
 test/manager/gradle/build-gradle.spec.ts | 20 ++++++++++++++++++++
 2 files changed, 21 insertions(+), 1 deletion(-)

diff --git a/lib/manager/gradle/build-gradle.ts b/lib/manager/gradle/build-gradle.ts
index 5c7c03441e..d3e48abf34 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 ae058cde60..4dd451f6c1 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',
-- 
GitLab