From 4b8af118dd33343d1d6c137f4b27ce7142eecfbd Mon Sep 17 00:00:00 2001
From: Michael Kriese <michael.kriese@visualon.de>
Date: Thu, 9 Apr 2020 12:48:44 +0200
Subject: [PATCH] fix(gradle-wrapper): extract version from content (#5930)

---
 lib/manager/gradle-wrapper/artifacts.spec.ts | 2 +-
 lib/manager/gradle-wrapper/artifacts.ts      | 5 ++++-
 2 files changed, 5 insertions(+), 2 deletions(-)

diff --git a/lib/manager/gradle-wrapper/artifacts.spec.ts b/lib/manager/gradle-wrapper/artifacts.spec.ts
index 0d104fc2bf..6521bc05a7 100644
--- a/lib/manager/gradle-wrapper/artifacts.spec.ts
+++ b/lib/manager/gradle-wrapper/artifacts.spec.ts
@@ -55,7 +55,7 @@ describe(getName(__filename), () => {
             ),
             'utf8'
           ),
-          config: { ...config, toVersion: '6.3' },
+          config: { ...config, toVersion: '6.3.0' },
         });
 
         expect(res).toEqual(
diff --git a/lib/manager/gradle-wrapper/artifacts.ts b/lib/manager/gradle-wrapper/artifacts.ts
index b1291a1ede..aa2d8911b1 100644
--- a/lib/manager/gradle-wrapper/artifacts.ts
+++ b/lib/manager/gradle-wrapper/artifacts.ts
@@ -7,6 +7,7 @@ import { UpdateArtifact, UpdateArtifactsResult } from '../common';
 import { exec, ExecOptions } from '../../util/exec';
 import { readLocalFile } from '../../util/fs';
 import { platform } from '../../platform';
+import { VERSION_REGEX } from './search';
 import { gradleWrapperFileName, prepareGradleCommand } from '../gradle/index';
 
 async function addIfUpdated(
@@ -27,18 +28,20 @@ async function addIfUpdated(
 export async function updateArtifacts({
   packageFileName,
   updatedDeps,
+  newPackageFileContent,
   config,
 }: UpdateArtifact): Promise<UpdateArtifactsResult[] | null> {
   try {
     const projectDir = config.localDir;
     logger.debug({ updatedDeps }, 'gradle-wrapper.updateArtifacts()');
+    const version = VERSION_REGEX.exec(newPackageFileContent).groups.version;
     const gradlew = gradleWrapperFileName(config);
     const gradlewPath = resolve(projectDir, `./${gradlew}`);
     const cmd = await prepareGradleCommand(
       gradlew,
       projectDir,
       await fs.stat(gradlewPath).catch(() => null),
-      `wrapper --gradle-version ${config.toVersion}`
+      `wrapper --gradle-version ${version}`
     );
     logger.debug(`Updating gradle wrapper: "${cmd}"`);
     const execOptions: ExecOptions = {
-- 
GitLab