From cdcb455dd9b8606485d26c79047e83ecd2a5f80d Mon Sep 17 00:00:00 2001
From: Johannes Feichtner <Churro@users.noreply.github.com>
Date: Sat, 15 Oct 2022 18:55:12 +0200
Subject: [PATCH] fix(manager/gradle-wrapper): issue a warning in case gradlew
 isn't executable (#18349)

---
 lib/modules/manager/gradle-wrapper/util.spec.ts | 2 +-
 lib/modules/manager/gradle-wrapper/utils.ts     | 3 ++-
 2 files changed, 3 insertions(+), 2 deletions(-)

diff --git a/lib/modules/manager/gradle-wrapper/util.spec.ts b/lib/modules/manager/gradle-wrapper/util.spec.ts
index 1feed75ae9..e5e3ba7bb2 100644
--- a/lib/modules/manager/gradle-wrapper/util.spec.ts
+++ b/lib/modules/manager/gradle-wrapper/util.spec.ts
@@ -62,7 +62,7 @@ describe('modules/manager/gradle-wrapper/util', () => {
 
   describe('prepareGradleCommand', () => {
     it('works', async () => {
-      platform.mockReturnValueOnce('linux');
+      platform.mockReturnValue('linux');
       fs.statLocalFile.mockResolvedValue(
         partial<Stats>({
           isFile: () => true,
diff --git a/lib/modules/manager/gradle-wrapper/utils.ts b/lib/modules/manager/gradle-wrapper/utils.ts
index 430b0d4a22..cbd7a0f962 100644
--- a/lib/modules/manager/gradle-wrapper/utils.ts
+++ b/lib/modules/manager/gradle-wrapper/utils.ts
@@ -27,7 +27,8 @@ export async function prepareGradleCommand(
   const gradlewStat = await statLocalFile(gradlewFile);
   if (gradlewStat?.isFile() === true) {
     // if the file is not executable by others
-    if ((gradlewStat.mode & 0o1) === 0) {
+    if (os.platform() !== 'win32' && (gradlewStat.mode & 0o1) === 0) {
+      logger.warn('Gradle wrapper is missing the executable bit');
       // add the execution permission to the owner, group and others
       await chmodLocalFile(gradlewFile, gradlewStat.mode | 0o111);
     }
-- 
GitLab