mirror of
https://github.com/spring-projects/spring-boot.git
synced 2024-08-29 03:06:45 +08:00
Merge branch '3.1.x'
This commit is contained in:
commit
2231244d2c
@ -161,7 +161,8 @@ class BootArchiveSupport {
|
|||||||
try {
|
try {
|
||||||
Object filePermissions = ((Property<Object>) copySpec.getClass().getMethod(methodName).invoke(copySpec))
|
Object filePermissions = ((Property<Object>) copySpec.getClass().getMethod(methodName).invoke(copySpec))
|
||||||
.getOrNull();
|
.getOrNull();
|
||||||
return getMode(filePermissions);
|
return (filePermissions != null)
|
||||||
|
? (int) filePermissions.getClass().getMethod("toUnixNumeric").invoke(filePermissions) : null;
|
||||||
}
|
}
|
||||||
catch (Exception ex) {
|
catch (Exception ex) {
|
||||||
throw new GradleException("Failed to get permissions", ex);
|
throw new GradleException("Failed to get permissions", ex);
|
||||||
@ -170,23 +171,6 @@ class BootArchiveSupport {
|
|||||||
return fallback.get();
|
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) {
|
private boolean isUsingDefaultLoader(Jar jar) {
|
||||||
return DEFAULT_LAUNCHER_CLASSES.contains(jar.getManifest().getAttributes().get("Main-Class"));
|
return DEFAULT_LAUNCHER_CLASSES.contains(jar.getManifest().getAttributes().get("Main-Class"));
|
||||||
}
|
}
|
||||||
|
@ -471,7 +471,7 @@ class BootZipCopyAction implements CopyAction {
|
|||||||
if (GradleVersion.current().compareTo(GradleVersion.version("8.3")) >= 0) {
|
if (GradleVersion.current().compareTo(GradleVersion.version("8.3")) >= 0) {
|
||||||
try {
|
try {
|
||||||
Object permissions = ((Provider<Object>) details.getClass()
|
Object permissions = ((Provider<Object>) details.getClass()
|
||||||
.getMethod("getImmutablePermissions")
|
.getMethod("getPermissions")
|
||||||
.invoke(details)).get();
|
.invoke(details)).get();
|
||||||
return ((Provider<Integer>) permissions.getClass().getMethod("toUnixNumeric").invoke(permissions))
|
return ((Provider<Integer>) permissions.getClass().getMethod("toUnixNumeric").invoke(permissions))
|
||||||
.get();
|
.get();
|
||||||
|
Loading…
Reference in New Issue
Block a user