From 1a9d1d8d7399711b925897dc3078aad50fbc0259 Mon Sep 17 00:00:00 2001 From: "Andrew J. Thom" Date: Tue, 15 Dec 2020 15:24:24 -0600 Subject: [PATCH 1/2] add support for apple silicon --- .../eirslett/maven/plugins/frontend/lib/Platform.java | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/frontend-plugin-core/src/main/java/com/github/eirslett/maven/plugins/frontend/lib/Platform.java b/frontend-plugin-core/src/main/java/com/github/eirslett/maven/plugins/frontend/lib/Platform.java index da669fd8d..3bdb0296e 100644 --- a/frontend-plugin-core/src/main/java/com/github/eirslett/maven/plugins/frontend/lib/Platform.java +++ b/frontend-plugin-core/src/main/java/com/github/eirslett/maven/plugins/frontend/lib/Platform.java @@ -135,7 +135,12 @@ public String getNodeDownloadFilename(String nodeVersion, boolean archiveOnWindo } public String getNodeClassifier() { - String result = getCodename() + "-" + architecture.name(); + final String result; + if(isMac() && architecture == Architecture.arm64) { // this check is required to download the x64 binary until there is an arm64 version available for macOS (darwin). + result = getCodename() + "-" + Architecture.x64.name(); + } else { + result = getCodename() + "-" + architecture.name(); + } return classifier != null ? result + "-" + classifier : result; } } From b98fda8303142e5799995bf5770fd2e7208414e1 Mon Sep 17 00:00:00 2001 From: "Andrew J. Thom" Date: Tue, 15 Dec 2020 15:35:19 -0600 Subject: [PATCH 2/2] add support for apple silicon... add a test case --- .../maven/plugins/frontend/lib/PlatformTest.java | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/frontend-plugin-core/src/test/java/com/github/eirslett/maven/plugins/frontend/lib/PlatformTest.java b/frontend-plugin-core/src/test/java/com/github/eirslett/maven/plugins/frontend/lib/PlatformTest.java index ca8eefa5f..81b8cb01d 100644 --- a/frontend-plugin-core/src/test/java/com/github/eirslett/maven/plugins/frontend/lib/PlatformTest.java +++ b/frontend-plugin-core/src/test/java/com/github/eirslett/maven/plugins/frontend/lib/PlatformTest.java @@ -31,6 +31,18 @@ public void detect_win_doesntLookForAlpine() { verifyNoMoreInteractions(File.class); // doesn't look for a file path } + @Test + public void detect_arm_mac_download_x64_binary() { + mockStatic(OS.class); + mockStatic(Architecture.class); + + when(OS.guess()).thenReturn(OS.Mac); + when(Architecture.guess()).thenReturn(Architecture.arm64); + + Platform platform = Platform.guess(); + assertEquals("darwin-x64", platform.getNodeClassifier()); + } + @Test public void detect_linux_notAlpine() throws Exception { mockStatic(OS.class);