From ea2cc671b927d30586a29d4dbdcbfd56a78eb5ed Mon Sep 17 00:00:00 2001 From: Charuka Tharindu Date: Mon, 8 Jan 2024 08:18:58 +0530 Subject: [PATCH 1/3] Add architecture identification for mac to shell level --- resources/bin/bal | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/resources/bin/bal b/resources/bin/bal index da1531f1..a96580e2 100755 --- a/resources/bin/bal +++ b/resources/bin/bal @@ -83,6 +83,11 @@ then $JAVA_COMMAND -jar $CURRENT_PATH/../lib/ballerina-command-@version@.jar build else + if [ "$(uname)" == "Darwin" ] + then + # If it's macOS, set an environmental variable for architecture + export MAC_ARCHITECTURE=$(uname -m) + fi $JAVA_COMMAND -jar $CURRENT_PATH/../lib/ballerina-command-@version@.jar "$@" EXIT_CODE=$? fi From 6cc67b851e1232e0028c12651ca1c557e3f08004 Mon Sep 17 00:00:00 2001 From: Charuka Tharindu Date: Mon, 8 Jan 2024 08:20:52 +0530 Subject: [PATCH 2/3] Update platform inclusion for mac in user-agent --- .../java/org/ballerinalang/command/util/OSUtils.java | 11 +++++------ 1 file changed, 5 insertions(+), 6 deletions(-) diff --git a/src/main/java/org/ballerinalang/command/util/OSUtils.java b/src/main/java/org/ballerinalang/command/util/OSUtils.java index 89e4c9ff..c30af68d 100644 --- a/src/main/java/org/ballerinalang/command/util/OSUtils.java +++ b/src/main/java/org/ballerinalang/command/util/OSUtils.java @@ -287,13 +287,12 @@ private static boolean isSolaris() { return OS.contains("sunos"); } - private static boolean isArmArchitecture() { + private static boolean isArmArchitecture() { try { - Process process = Runtime.getRuntime().exec("uname -m"); - BufferedReader reader = new BufferedReader(new InputStreamReader(process.getInputStream())); - String architecture = reader.readLine(); - return architecture.contains("arm"); - } catch (IOException e) { + String macArchitecture = System.getenv("MAC_ARCHITECTURE"); + + return macArchitecture != null && macArchitecture.equals("arm64"); + } catch (SecurityException e) { return false; } } From 297798be410134d690f7da70a2b0ec914007f5a0 Mon Sep 17 00:00:00 2001 From: Charuka Tharindu Date: Wed, 10 Jan 2024 10:30:10 +0530 Subject: [PATCH 3/3] Address review suggestions --- resources/bin/bal | 2 +- src/main/java/org/ballerinalang/command/util/OSUtils.java | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/resources/bin/bal b/resources/bin/bal index a96580e2..2461d8b9 100755 --- a/resources/bin/bal +++ b/resources/bin/bal @@ -86,7 +86,7 @@ if [ "$(uname)" == "Darwin" ] then # If it's macOS, set an environmental variable for architecture - export MAC_ARCHITECTURE=$(uname -m) + export BALLERINA_MAC_ARCHITECTURE=$(uname -m) fi $JAVA_COMMAND -jar $CURRENT_PATH/../lib/ballerina-command-@version@.jar "$@" EXIT_CODE=$? diff --git a/src/main/java/org/ballerinalang/command/util/OSUtils.java b/src/main/java/org/ballerinalang/command/util/OSUtils.java index c30af68d..380b28f9 100644 --- a/src/main/java/org/ballerinalang/command/util/OSUtils.java +++ b/src/main/java/org/ballerinalang/command/util/OSUtils.java @@ -289,7 +289,7 @@ private static boolean isSolaris() { private static boolean isArmArchitecture() { try { - String macArchitecture = System.getenv("MAC_ARCHITECTURE"); + String macArchitecture = System.getenv("BALLERINA_MAC_ARCHITECTURE"); return macArchitecture != null && macArchitecture.equals("arm64"); } catch (SecurityException e) {