Skip to content

Commit 39bc7c8

Browse files
committed
Support getPermissions() call on Gradle 8.6-milestone-1
The `getPermissions` method is now part of the private `ParentDirectoryStub` class so we now need to call `setAccessible(true)`. Fixes gh-38718
1 parent 52baf00 commit 39bc7c8

File tree

1 file changed

+4
-1
lines changed
  • spring-boot-project/spring-boot-tools/spring-boot-gradle-plugin/src/main/java/org/springframework/boot/gradle/tasks/bundling

1 file changed

+4
-1
lines changed

spring-boot-project/spring-boot-tools/spring-boot-gradle-plugin/src/main/java/org/springframework/boot/gradle/tasks/bundling/BootZipCopyAction.java

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,7 @@
2222
import java.io.InputStream;
2323
import java.io.OutputStream;
2424
import java.io.OutputStreamWriter;
25+
import java.lang.reflect.Method;
2526
import java.time.OffsetDateTime;
2627
import java.time.ZoneOffset;
2728
import java.util.Collection;
@@ -462,7 +463,9 @@ private int getFileMode(FileCopyDetails details) {
462463
private int getPermissions(FileCopyDetails details) {
463464
if (GradleVersion.current().compareTo(GradleVersion.version("8.3")) >= 0) {
464465
try {
465-
Object permissions = details.getClass().getMethod("getPermissions").invoke(details);
466+
Method getPermissionsMethod = details.getClass().getMethod("getPermissions");
467+
getPermissionsMethod.setAccessible(true);
468+
Object permissions = getPermissionsMethod.invoke(details);
466469
return (int) permissions.getClass().getMethod("toUnixNumeric").invoke(permissions);
467470
}
468471
catch (Exception ex) {

0 commit comments

Comments
 (0)