See gh-37878
This commit is contained in:
Andy Wilkinson 2023-10-13 21:17:12 +01:00
parent dbc06faed8
commit 3dba0d76d2
1 changed files with 2 additions and 7 deletions

View File

@ -44,7 +44,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;
@ -417,15 +416,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);