Merge branch '3.1.x'

This commit is contained in:
Andy Wilkinson 2023-10-13 21:38:06 +01:00
commit 084bd3a420
1 changed files with 2 additions and 7 deletions

View File

@ -46,7 +46,6 @@ import org.gradle.api.internal.file.copy.CopyAction;
import org.gradle.api.internal.file.copy.CopyActionProcessingStream;
import org.gradle.api.java.archives.Attributes;
import org.gradle.api.java.archives.Manifest;
import org.gradle.api.provider.Provider;
import org.gradle.api.specs.Spec;
import org.gradle.api.tasks.WorkResult;
import org.gradle.api.tasks.WorkResults;
@ -466,15 +465,11 @@ class BootZipCopyAction implements CopyAction {
: UnixStat.FILE_FLAG | getPermissions(details);
}
@SuppressWarnings("unchecked")
private int getPermissions(FileCopyDetails details) {
if (GradleVersion.current().compareTo(GradleVersion.version("8.3")) >= 0) {
try {
Object permissions = ((Provider<Object>) details.getClass()
.getMethod("getPermissions")
.invoke(details)).get();
return ((Provider<Integer>) permissions.getClass().getMethod("toUnixNumeric").invoke(permissions))
.get();
Object permissions = details.getClass().getMethod("getPermissions").invoke(details);
return (int) permissions.getClass().getMethod("toUnixNumeric").invoke(permissions);
}
catch (Exception ex) {
throw new GradleException("Failed to get permissions", ex);