From dbc06faed8225f5646868fbbd9bbfac8e84c546b Mon Sep 17 00:00:00 2001 From: Andy Wilkinson Date: Fri, 13 Oct 2023 20:12:47 +0100 Subject: [PATCH] Polish See gh-37878 --- .../tasks/bundling/BootArchiveSupport.java | 20 ++----------------- .../tasks/bundling/BootZipCopyAction.java | 2 +- 2 files changed, 3 insertions(+), 19 deletions(-) diff --git a/spring-boot-project/spring-boot-tools/spring-boot-gradle-plugin/src/main/java/org/springframework/boot/gradle/tasks/bundling/BootArchiveSupport.java b/spring-boot-project/spring-boot-tools/spring-boot-gradle-plugin/src/main/java/org/springframework/boot/gradle/tasks/bundling/BootArchiveSupport.java index 57e9eac49f5..2f4ae338a58 100644 --- a/spring-boot-project/spring-boot-tools/spring-boot-gradle-plugin/src/main/java/org/springframework/boot/gradle/tasks/bundling/BootArchiveSupport.java +++ b/spring-boot-project/spring-boot-tools/spring-boot-gradle-plugin/src/main/java/org/springframework/boot/gradle/tasks/bundling/BootArchiveSupport.java @@ -147,7 +147,8 @@ class BootArchiveSupport { try { Object filePermissions = ((Property) copySpec.getClass().getMethod(methodName).invoke(copySpec)) .getOrNull(); - return getMode(filePermissions); + return (filePermissions != null) + ? (int) filePermissions.getClass().getMethod("toUnixNumeric").invoke(filePermissions) : null; } catch (Exception ex) { throw new GradleException("Failed to get permissions", ex); @@ -156,23 +157,6 @@ class BootArchiveSupport { return fallback.get(); } - private Integer getMode(Object permissions) throws Exception { - if (permissions == null) { - return null; - } - String user = asIntegerString(permissions.getClass().getMethod("getUser").invoke(permissions)); - String group = asIntegerString(permissions.getClass().getMethod("getGroup").invoke(permissions)); - String other = asIntegerString(permissions.getClass().getMethod("getOther").invoke(permissions)); - return Integer.parseInt("0" + user + group + other, 8); - } - - private String asIntegerString(Object permissions) throws Exception { - boolean read = (boolean) permissions.getClass().getMethod("getRead").invoke(permissions); - boolean write = (boolean) permissions.getClass().getMethod("getWrite").invoke(permissions); - boolean execute = (boolean) permissions.getClass().getMethod("getExecute").invoke(permissions); - return Integer.toString(((read) ? 4 : 0) + ((write) ? 2 : 0) + ((execute) ? 1 : 0)); - } - private boolean isUsingDefaultLoader(Jar jar) { return DEFAULT_LAUNCHER_CLASSES.contains(jar.getManifest().getAttributes().get("Main-Class")); } diff --git a/spring-boot-project/spring-boot-tools/spring-boot-gradle-plugin/src/main/java/org/springframework/boot/gradle/tasks/bundling/BootZipCopyAction.java b/spring-boot-project/spring-boot-tools/spring-boot-gradle-plugin/src/main/java/org/springframework/boot/gradle/tasks/bundling/BootZipCopyAction.java index ae8d6f14a4e..ff3b0b77a80 100644 --- a/spring-boot-project/spring-boot-tools/spring-boot-gradle-plugin/src/main/java/org/springframework/boot/gradle/tasks/bundling/BootZipCopyAction.java +++ b/spring-boot-project/spring-boot-tools/spring-boot-gradle-plugin/src/main/java/org/springframework/boot/gradle/tasks/bundling/BootZipCopyAction.java @@ -422,7 +422,7 @@ class BootZipCopyAction implements CopyAction { if (GradleVersion.current().compareTo(GradleVersion.version("8.3")) >= 0) { try { Object permissions = ((Provider) details.getClass() - .getMethod("getImmutablePermissions") + .getMethod("getPermissions") .invoke(details)).get(); return ((Provider) permissions.getClass().getMethod("toUnixNumeric").invoke(permissions)) .get();