Skip to content

Commit 378841b

Browse files
DSheirerDennis Sheirer
andauthored
#2028 Adds support for Windows ARM/aarch64 Operating System (#2029)
Co-authored-by: Dennis Sheirer <[email protected]>
1 parent e28d726 commit 378841b

File tree

1 file changed

+20
-2
lines changed

1 file changed

+20
-2
lines changed

build.gradle

Lines changed: 20 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -192,6 +192,7 @@ String targetLinuxX86_64 = 'linux-x86_64-v' + version
192192
String targetOsxAarch64 = 'osx-aarch64-v' + version
193193
String targetOsxX86_64 = 'osx-x86_64-v' + version
194194
String targetWindowsX86_64 = 'windows-x86_64-v' + version
195+
String targetWindowsAarch64 = 'windows-aarch64-v' + version
195196

196197
/**
197198
* Optional pre-downloaded Java Development Kit (JDK) for each target OS and CPU. These locations are hard-coded to the
@@ -203,17 +204,19 @@ String jdk_linux_x86_64 = jdk_base + 'linux-x64/jdk-22.0.2-full'
203204
String jdk_osx_x86_64 = jdk_base + 'osx-x64/jdk-22.0.2-full.jdk'
204205
String jdk_osx_aarch64 = jdk_base + 'osx-arm64/jdk-22.0.2-full.jdk'
205206
String jdk_windows_x86_64 = jdk_base + 'windows-x64/jdk-22.0.2-full'
207+
String jdk_windows_aarch64 = jdk_base + 'windows-arm64/jdk-22.0.2-full'
206208

207209
/**
208210
* Download URLs to download the JDK as part of the gradle build packaging process
209211
*/
210-
def jdk_download_base = "https://download.bell-sw.com/java/23+38/bellsoft-jdk23+38-"
212+
def jdk_download_base = "https://download.bell-sw.com/java/23.0.1+13/bellsoft-jdk23.0.1+13-"
211213
def jdk_download_suffix = "-full.tar.gz"
212214
def jdk_download_linux_aarch64 = jdk_download_base + "linux-aarch64" + jdk_download_suffix
213215
def jdk_download_linux_x86_64 = jdk_download_base + "linux-amd64" + jdk_download_suffix
214216
def jdk_download_osx_x86_64 = jdk_download_base + "macos-amd64" + jdk_download_suffix
215217
def jdk_download_osx_aarch64 = jdk_download_base + "macos-aarch64" + jdk_download_suffix
216218
def jdk_download_windows_x86_64 = jdk_download_base + "windows-amd64-full.zip"
219+
def jdk_download_windows_aarch64 = jdk_download_base + "windows-aarch64-full.zip"
217220

218221
/**
219222
* Configures the runtime zip task with additional options/settings.
@@ -256,7 +259,12 @@ tasks.register('runtimeZipCurrent', org.beryx.runtime.RuntimeZipTask) {rt ->
256259
def javaHome = org.gradle.internal.jvm.Jvm.current().getJavaHome().toString()
257260

258261
if(os.isWindows()) {
259-
rt.extension.targetPlatform(targetWindowsX86_64, javaHome)
262+
if(arch.equals("amd64")) {
263+
rt.extension.targetPlatform(targetWindowsX86_64, javaHome)
264+
}
265+
else if(arch.equals("aarch64")) {
266+
rt.extension.targetPlatform(targetWindowsAarch64, javaHome)
267+
}
260268
configure(rt, jvmArgsWindows)
261269
}
262270
else if(os.isLinux())
@@ -292,6 +300,16 @@ tasks.register('runtimeZipCurrent', org.beryx.runtime.RuntimeZipTask) {rt ->
292300
* Usage: ./gradlew runtimeZipWindows (linux - using gradlew)
293301
*/
294302
tasks.register('runtimeZipWindows', org.beryx.runtime.RuntimeZipTask) {rt ->
303+
//Windows aarch64
304+
if(file(jdk_windows_aarch64).exists()) {
305+
rt.extension.targetPlatform(targetWindowsAarch64, jdk_windows_aarch64, [])
306+
}
307+
else {
308+
rt.extension.targetPlatform(targetWindowsAarch64) {
309+
jdkHome = jdkDownload(jdk_download_windows_aarch64)
310+
}
311+
}
312+
//Windows x86-64
295313
if(file(jdk_windows_x86_64).exists()) {
296314
rt.extension.targetPlatform(targetWindowsX86_64, jdk_windows_x86_64, [])
297315
}

0 commit comments

Comments
 (0)