From 682312ab9a16279db0b078b9ff5802adbb02c23f Mon Sep 17 00:00:00 2001 From: Jonathan Cobb Date: Tue, 10 Nov 2020 09:08:40 -0500 Subject: [PATCH] upgrade oshi, remove jna dependency, fix mac support for shautil --- pom.xml | 8 +------- .../java/org/cobbzilla/util/daemon/ZillaRuntime.java | 5 +++-- .../java/org/cobbzilla/util/security/ShaUtil.java | 11 ++++++++++- .../java/org/cobbzilla/util/system/CommandShell.java | 2 +- 4 files changed, 15 insertions(+), 11 deletions(-) diff --git a/pom.xml b/pom.xml index 95ba091..edd353f 100644 --- a/pom.xml +++ b/pom.xml @@ -297,12 +297,6 @@ cobbzilla-utils is available under the Apache License, version 2: http://www.apa ${args4j.version} - - net.java.dev.jna - jna - 4.1.0 - - com.codeborne @@ -377,7 +371,7 @@ cobbzilla-utils is available under the Apache License, version 2: http://www.apa com.github.oshi oshi-core - 5.2.4 + 5.3.4 diff --git a/src/main/java/org/cobbzilla/util/daemon/ZillaRuntime.java b/src/main/java/org/cobbzilla/util/daemon/ZillaRuntime.java index cb969b2..97bd59a 100644 --- a/src/main/java/org/cobbzilla/util/daemon/ZillaRuntime.java +++ b/src/main/java/org/cobbzilla/util/daemon/ZillaRuntime.java @@ -35,6 +35,7 @@ import static java.util.concurrent.TimeUnit.SECONDS; import static java.util.stream.LongStream.range; import static org.apache.commons.collections.CollectionUtils.collect; import static org.apache.commons.lang3.RandomStringUtils.randomAlphanumeric; +import static org.apache.commons.lang3.SystemUtils.IS_OS_MAC; import static org.apache.commons.lang3.exception.ExceptionUtils.getStackTrace; import static org.cobbzilla.util.error.ExceptionHandler.DEFAULT_EX_RUNNABLE; import static org.cobbzilla.util.io.FileUtil.abs; @@ -443,8 +444,8 @@ public class ZillaRuntime { return collect(range(start.longValue(), end.longValue()).boxed().iterator(), ToStringTransformer.instance); } - public static String zcat() { return SystemUtils.IS_OS_MAC ? "gzcat" : "zcat"; } - public static String zcat(File f) { return (SystemUtils.IS_OS_MAC ? "gzcat" : "zcat") + " " + abs(f); } + public static String zcat() { return IS_OS_MAC ? "gzcat" : "zcat"; } + public static String zcat(File f) { return (IS_OS_MAC ? "gzcat" : "zcat") + " " + abs(f); } public static final String[] JAVA_DEBUG_OPTIONS = {"-Xdebug", "-agentlib", "-Xrunjdwp"}; diff --git a/src/main/java/org/cobbzilla/util/security/ShaUtil.java b/src/main/java/org/cobbzilla/util/security/ShaUtil.java index 2f7b3be..fe298e0 100644 --- a/src/main/java/org/cobbzilla/util/security/ShaUtil.java +++ b/src/main/java/org/cobbzilla/util/security/ShaUtil.java @@ -17,6 +17,7 @@ import java.security.DigestException; import java.security.MessageDigest; import java.security.NoSuchAlgorithmException; +import static org.apache.commons.lang3.SystemUtils.IS_OS_MAC; import static org.cobbzilla.util.daemon.ZillaRuntime.die; import static org.cobbzilla.util.io.FileUtil.abs; import static org.cobbzilla.util.string.StringUtil.UTF8cs; @@ -69,7 +70,7 @@ public class ShaUtil { final CommandResult result; try { if (file.length() < SHA256_FILE_USE_SHELL_THRESHHOLD) return sha256_file_java(file); - result = exec(new CommandLine("sha256sum").addArgument(abs(file), false)); + result = exec(shaCommand().addArgument(abs(file), false)); if (result.isZeroExitStatus()) return split(result.getStdout(), " ").get(0); } catch (Exception e) { @@ -80,6 +81,14 @@ public class ShaUtil { return die("sha256sum_file: sha256sum "+abs(file)+" exited with status "+result.getExitStatus()+", stderr="+result.getStderr()+", exception="+result.getExceptionString()); } + private static CommandLine shaCommand() { + if (IS_OS_MAC) { + return new CommandLine("shasum").addArgument("-a").addArgument("256"); + } else { + return new CommandLine("sha256sum"); + } + } + public static String sha256_file_java(File file) { try { @Cleanup final InputStream input = new FileInputStream(file); diff --git a/src/main/java/org/cobbzilla/util/system/CommandShell.java b/src/main/java/org/cobbzilla/util/system/CommandShell.java index 4a0ec8e..fedb124 100644 --- a/src/main/java/org/cobbzilla/util/system/CommandShell.java +++ b/src/main/java/org/cobbzilla/util/system/CommandShell.java @@ -258,7 +258,7 @@ public class CommandShell { } } - public static final long totalSystemMemory() { return HARDWARE.getMemory().getTotal(); } + public static long totalSystemMemory() { return HARDWARE.getMemory().getTotal(); } public static String hostname () { return toString("hostname"); } public static String domainname() { return toString("hostname -d"); }