From f0677086141e4e69a093598fa04fd82a16f9b903 Mon Sep 17 00:00:00 2001 From: Ziver Koc Date: Fri, 20 May 2022 12:03:27 +0200 Subject: [PATCH] Added fallback method to use only OS path instead of OS+platform --- ...aryManager.java => OSALBinaryManager.java} | 23 +++++++++++++++---- 1 file changed, 19 insertions(+), 4 deletions(-) rename src/zutil/osal/{MultiPlatformBinaryManager.java => OSALBinaryManager.java} (81%) diff --git a/src/zutil/osal/MultiPlatformBinaryManager.java b/src/zutil/osal/OSALBinaryManager.java similarity index 81% rename from src/zutil/osal/MultiPlatformBinaryManager.java rename to src/zutil/osal/OSALBinaryManager.java index 1b3397b..6deec33 100644 --- a/src/zutil/osal/MultiPlatformBinaryManager.java +++ b/src/zutil/osal/OSALBinaryManager.java @@ -24,7 +24,10 @@ package zutil.osal; +import zutil.log.LogUtil; + import java.io.File; +import java.util.logging.Logger; /** @@ -46,7 +49,12 @@ import java.io.File; * - win-x86/ * */ -public class MultiPlatformBinaryManager { +public class OSALBinaryManager { + private static final Logger logger = LogUtil.getLogger(); + + + private OSALBinaryManager() {} + /** * @@ -87,8 +95,15 @@ public class MultiPlatformBinaryManager { case Windows: binary += ".exe"; break; } - String platform = os + "-" + arch; - File platformPath = new File(root, platform); - return new File(platformPath, binary); + File platformPath = new File(root, os + "-" + arch); + if (!platformPath.exists()) + platformPath = new File(root, os); // if platform is not available, try the generic OS path + + if (platformPath.exists()) + return new File(platformPath, binary); + else { + logger.fine("Unable to find platform(" + os + " or " + os + "-" + arch + ") specific path under: " + root); + return null; + } } }