From 7637761fbb3d76d521e0ea404bb0cfcc5e6238b3 Mon Sep 17 00:00:00 2001
From: pandaapo <35672972+pandaapo@users.noreply.github.com>
Date: Wed, 19 Oct 2022 16:00:07 +0800
Subject: [PATCH] support packaging arthas-vmtool in 32-bit windows. (#2316)
---
arthas-vmtool/pom.xml | 25 ++++++++++++++++++-
.../com/taobao/arthas/common/OSUtils.java | 4 +++
.../com/taobao/arthas/common/VmToolUtils.java | 3 +++
3 files changed, 31 insertions(+), 1 deletion(-)
diff --git a/arthas-vmtool/pom.xml b/arthas-vmtool/pom.xml
index 824bf12af..83b41b1b2 100644
--- a/arthas-vmtool/pom.xml
+++ b/arthas-vmtool/pom.xml
@@ -46,6 +46,30 @@
+
+ windows
+
+
+ windows
+
+
+
+ windows
+
+
+
+ windows-32
+
+
+ windows
+ x86
+
+
+
+ -m32
+ libArthasJniLibrary-x86.dll
+
+
windows-amd64
@@ -55,7 +79,6 @@
- windows
-m64
libArthasJniLibrary-x64.dll
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 d167377a4..13189615e 100644
--- a/common/src/main/java/com/taobao/arthas/common/OSUtils.java
+++ b/common/src/main/java/com/taobao/arthas/common/OSUtils.java
@@ -67,6 +67,10 @@ public class OSUtils {
return "aarch_64".equals(arch);
}
+ public static boolean isX86() {
+ return "x86_32".equals(arch);
+ }
+
private static String normalizeArch(String value) {
value = normalize(value);
if (value.matches("^(x8664|amd64|ia32e|em64t|x64)$")) {
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 179de0836..ff135adfb 100644
--- a/common/src/main/java/com/taobao/arthas/common/VmToolUtils.java
+++ b/common/src/main/java/com/taobao/arthas/common/VmToolUtils.java
@@ -21,6 +21,9 @@ public class VmToolUtils {
}
if (OSUtils.isWindows()) {
libName = "libArthasJniLibrary-x64.dll";
+ if (OSUtils.isX86()) {
+ libName = "libArthasJniLibrary-x86.dll";
+ }
}
}