From ed381886b4d67db9e568b3e2f179b22648d75c88 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=81=AB=E4=BA=91=E9=82=AA=E7=A5=9E?= <497010477@qq.com> Date: Wed, 19 Apr 2023 17:08:50 +0800 Subject: [PATCH] add linux-other-arch complie/build support (#2443) --- arthas-vmtool/pom.xml | 15 +++++++++++++++ .../java/com/taobao/arthas/common/OSUtils.java | 7 +++++-- .../com/taobao/arthas/common/VmToolUtils.java | 5 ++++- packaging/src/main/assembly/assembly.xml | 8 ++++++++ 4 files changed, 32 insertions(+), 3 deletions(-) diff --git a/arthas-vmtool/pom.xml b/arthas-vmtool/pom.xml index 1d1c95008..b317e18bc 100644 --- a/arthas-vmtool/pom.xml +++ b/arthas-vmtool/pom.xml @@ -161,6 +161,21 @@ + + + + linux-${os.arch} + + + linux + !amd64 + + + + linux + libArthasJniLibrary-${os.arch}.so + + diff --git a/common/src/main/java/com/taobao/arthas/common/OSUtils.java b/common/src/main/java/com/taobao/arthas/common/OSUtils.java index 13189615e..81bb020a3 100644 --- a/common/src/main/java/com/taobao/arthas/common/OSUtils.java +++ b/common/src/main/java/com/taobao/arthas/common/OSUtils.java @@ -71,6 +71,10 @@ public class OSUtils { return "x86_32".equals(arch); } + public static boolean isX86_64() { + return "x86_64".equals(arch); + } + private static String normalizeArch(String value) { value = normalize(value); if (value.matches("^(x8664|amd64|ia32e|em64t|x64)$")) { @@ -127,8 +131,7 @@ public class OSUtils { if ("s390x".equals(value)) { return "s390_64"; } - - return UNKNOWN; + return value; } private static String normalize(String value) { diff --git a/common/src/main/java/com/taobao/arthas/common/VmToolUtils.java b/common/src/main/java/com/taobao/arthas/common/VmToolUtils.java index ff135adfb..f4c4c0748 100644 --- a/common/src/main/java/com/taobao/arthas/common/VmToolUtils.java +++ b/common/src/main/java/com/taobao/arthas/common/VmToolUtils.java @@ -12,11 +12,14 @@ public class VmToolUtils { libName = "libArthasJniLibrary.dylib"; } if (OSUtils.isLinux()) { - libName = "libArthasJniLibrary-x64.so"; if (OSUtils.isArm32()) { libName = "libArthasJniLibrary-arm.so"; } else if (OSUtils.isArm64()) { libName = "libArthasJniLibrary-aarch64.so"; + } else if (OSUtils.isX86_64()) { + libName = "libArthasJniLibrary-x64.so"; + }else { + libName = "libArthasJniLibrary-" + OSUtils.arch() + ".so"; } } if (OSUtils.isWindows()) { diff --git a/packaging/src/main/assembly/assembly.xml b/packaging/src/main/assembly/assembly.xml index 121523e78..00b823d40 100644 --- a/packaging/src/main/assembly/assembly.xml +++ b/packaging/src/main/assembly/assembly.xml @@ -57,6 +57,7 @@ ../bin/as-service.bat + @@ -66,5 +67,12 @@ ../lib + + ../arthas-vmtool/target + lib + + libArthasJniLibrary* + +