diff --git a/Jenkinsfile b/Jenkinsfile index 733fc200ae2..2e535005394 100644 --- a/Jenkinsfile +++ b/Jenkinsfile @@ -59,6 +59,18 @@ def getNativeJdkUrl(String os, String arch) { // To update the used JDK version """ } return "file://${WORKSPACE}/repackage-win32.aarch64-jdk/jdk.tar.gz" + } else if ('linux'.equals(os) && 'riscv64'.equals(arch)) { + // Downloading jdk and renew it for riscv64 architecture on Linux + dir("${WORKSPACE}/repackage-linux.riscv64-jdk") { + sh """ + curl -L 'https://github.com/adoptium/temurin17-binaries/releases/download/jdk-17.0.12%2B7/OpenJDK17U-jdk_riscv64_linux_hotspot_17.0.12_7.tar.gz' > jdk.tar.gz + tar -xzf jdk.tar.gz jdk-17.0.12+7/include/ jdk-17.0.12+7/lib/ + rm jdk.tar.gz + cd jdk-17.0.12+7 + tar -czf ../jdk.tar.gz include/ lib/ + """ + } + return "file://${WORKSPACE}/repackage-linux.riscv64-jdk/jdk.tar.gz" } return "https://download.eclipse.org/justj/jres/17/downloads/20230428_1804/org.eclipse.justj.openjdk.hotspot.jre.minimal.stripped-17.0.7-${os}-${arch}.tar.gz" } @@ -181,7 +193,7 @@ pipeline { axes { axis { name 'PLATFORM' - values 'cocoa.macosx.aarch64' , 'cocoa.macosx.x86_64', 'gtk.linux.aarch64', 'gtk.linux.ppc64le', 'gtk.linux.x86_64', 'win32.win32.aarch64', 'win32.win32.x86_64' + values 'cocoa.macosx.aarch64' , 'cocoa.macosx.x86_64', 'gtk.linux.aarch64', 'gtk.linux.ppc64le', 'gtk.linux.x86_64', 'win32.win32.aarch64', 'win32.win32.x86_64', 'gtk.linux.riscv64' } } stages { diff --git a/bundles/org.eclipse.equinox.launcher.gtk.linux.riscv64/.project b/bundles/org.eclipse.equinox.launcher.gtk.linux.riscv64/.project new file mode 100644 index 00000000000..a919234491b --- /dev/null +++ b/bundles/org.eclipse.equinox.launcher.gtk.linux.riscv64/.project @@ -0,0 +1,22 @@ + + + org.eclipse.equinox.launcher.gtk.linux.riscv64 + + + + + + org.eclipse.pde.ManifestBuilder + + + + + org.eclipse.pde.SchemaBuilder + + + + + + org.eclipse.pde.PluginNature + + diff --git a/bundles/org.eclipse.equinox.launcher.gtk.linux.riscv64/META-INF/MANIFEST.MF b/bundles/org.eclipse.equinox.launcher.gtk.linux.riscv64/META-INF/MANIFEST.MF new file mode 100644 index 00000000000..459649a7e04 --- /dev/null +++ b/bundles/org.eclipse.equinox.launcher.gtk.linux.riscv64/META-INF/MANIFEST.MF @@ -0,0 +1,10 @@ +Manifest-Version: 1.0 +Bundle-ManifestVersion: 2 +Bundle-Name: %pluginName +Bundle-Vendor: %providerName +Bundle-SymbolicName: org.eclipse.equinox.launcher.gtk.linux.riscv64;singleton:=true +Bundle-Version: 1.2.1100.qualifier +Fragment-Host: org.eclipse.equinox.launcher;bundle-version="[1.6.0,1.7.0)" +Eclipse-PlatformFilter: (& (osgi.ws=gtk) (osgi.os=linux) (osgi.arch=riscv64)) +Bundle-Localization: launcher.gtk.linux.riscv64 +Eclipse-BundleShape: dir diff --git a/bundles/org.eclipse.equinox.launcher.gtk.linux.riscv64/about.html b/bundles/org.eclipse.equinox.launcher.gtk.linux.riscv64/about.html new file mode 100644 index 00000000000..164f781a8fd --- /dev/null +++ b/bundles/org.eclipse.equinox.launcher.gtk.linux.riscv64/about.html @@ -0,0 +1,36 @@ + + + + +About + + +

About This Content

+ +

November 30, 2017

+

License

+ +

+ The Eclipse Foundation makes available all content in this plug-in + ("Content"). Unless otherwise indicated below, the Content + is provided to you under the terms and conditions of the Eclipse + Public License Version 2.0 ("EPL"). A copy of the EPL is + available at http://www.eclipse.org/legal/epl-2.0. + For purposes of the EPL, "Program" will mean the Content. +

+ +

+ If you did not receive this Content directly from the Eclipse + Foundation, the Content is being redistributed by another party + ("Redistributor") and different terms and conditions may + apply to your use of any object code in the Content. Check the + Redistributor's license that was provided with the Content. If no such + license exists, contact the Redistributor. Unless otherwise indicated + below, the terms and conditions of the EPL still apply to any source + code in the Content and such source code may be obtained at http://www.eclipse.org. +

+ + + \ No newline at end of file diff --git a/bundles/org.eclipse.equinox.launcher.gtk.linux.riscv64/build.properties b/bundles/org.eclipse.equinox.launcher.gtk.linux.riscv64/build.properties new file mode 100644 index 00000000000..20a03dfc6cb --- /dev/null +++ b/bundles/org.eclipse.equinox.launcher.gtk.linux.riscv64/build.properties @@ -0,0 +1,26 @@ +############################################################################### +# Copyright (c) 2024 ISCAS(PLCT Lab). and others. +# +# This program and the accompanying materials +# are made available under the terms of the Eclipse Public License 2.0 +# which accompanies this distribution, and is available at +# https://www.eclipse.org/legal/epl-2.0/ +# +# SPDX-License-Identifier: EPL-2.0 +# +# Contributors: +# Bo YU . +# CHEN Xuan - initial API and implementation +############################################################################### +bin.includes = META-INF/,\ + launcher.gtk.linux.riscv64.properties,\ + about.html + +generateSourceBundle=false +binaryTag=LBv1-1904 + +# Maven properties, see https://github.com/eclipse/tycho/wiki/Tycho-Pomless +tycho.pomless.parent = ../../launcher-binary-parent +pom.model.property.os = linux +pom.model.property.ws = gtk +pom.model.property.arch = riscv64 diff --git a/bundles/org.eclipse.equinox.launcher.gtk.linux.riscv64/launcher.gtk.linux.riscv64.properties b/bundles/org.eclipse.equinox.launcher.gtk.linux.riscv64/launcher.gtk.linux.riscv64.properties new file mode 100644 index 00000000000..eab68fbc567 --- /dev/null +++ b/bundles/org.eclipse.equinox.launcher.gtk.linux.riscv64/launcher.gtk.linux.riscv64.properties @@ -0,0 +1,16 @@ +############################################################################### +# Copyright (c) 2024 ISCAS(PLCT Lab). and others. +# +# This program and the accompanying materials +# are made available under the terms of the Eclipse Public License 2.0 +# which accompanies this distribution, and is available at +# https://www.eclipse.org/legal/epl-2.0/ +# +# SPDX-License-Identifier: EPL-2.0 +# +# Contributors: +# Bo YU . +# CHEN Xuan . - initial API and implementation +############################################################################### +pluginName = Equinox Launcher Linux RISCV64 Fragment +providerName = Eclipse.org - Equinox diff --git a/bundles/org.eclipse.osgi.tests/bundles_src/nativetest.a1/META-INF/MANIFEST.MF b/bundles/org.eclipse.osgi.tests/bundles_src/nativetest.a1/META-INF/MANIFEST.MF index 33659117d9e..4b408fe90b7 100644 --- a/bundles/org.eclipse.osgi.tests/bundles_src/nativetest.a1/META-INF/MANIFEST.MF +++ b/bundles/org.eclipse.osgi.tests/bundles_src/nativetest.a1/META-INF/MANIFEST.MF @@ -31,6 +31,10 @@ Bundle-NativeCode: nativefile1.txt; processor=loongarch; osname=Linux, nativefile1.txt; + processor=riscv64; + processor=riscv; + osname=Linux, + nativefile1.txt; processor=s390; processor=s390x; osname=Linux, diff --git a/bundles/org.eclipse.osgi.tests/bundles_src/nativetest.a2/META-INF/MANIFEST.MF b/bundles/org.eclipse.osgi.tests/bundles_src/nativetest.a2/META-INF/MANIFEST.MF index d471ccfb48f..fca5e1a071a 100644 --- a/bundles/org.eclipse.osgi.tests/bundles_src/nativetest.a2/META-INF/MANIFEST.MF +++ b/bundles/org.eclipse.osgi.tests/bundles_src/nativetest.a2/META-INF/MANIFEST.MF @@ -35,6 +35,10 @@ Bundle-NativeCode: nativefile2.txt; processor=loongarch; osname=Linux, nativefile2.txt; + processor=riscv64; + processor=riscv; + osname=Linux, + nativefile2.txt; processor=Sparc; osname=Solaris; osname=SunOS, diff --git a/bundles/org.eclipse.osgi.tests/bundles_src/nativetest.b1/META-INF/MANIFEST.MF b/bundles/org.eclipse.osgi.tests/bundles_src/nativetest.b1/META-INF/MANIFEST.MF index 65f1c762855..a7dd7609929 100644 --- a/bundles/org.eclipse.osgi.tests/bundles_src/nativetest.b1/META-INF/MANIFEST.MF +++ b/bundles/org.eclipse.osgi.tests/bundles_src/nativetest.b1/META-INF/MANIFEST.MF @@ -35,6 +35,10 @@ Bundle-NativeCode: nativefile.txt; processor=loongarch; osname=Linux, nativefile.txt; + processor=riscv64; + processor=riscv; + osname=Linux, + nativefile.txt; processor=Sparc; osname=Solaris; osname=SunOS, diff --git a/bundles/org.eclipse.osgi.tests/bundles_src/nativetest.b2/META-INF/MANIFEST.MF b/bundles/org.eclipse.osgi.tests/bundles_src/nativetest.b2/META-INF/MANIFEST.MF index 5068e95b585..130c69162f3 100644 --- a/bundles/org.eclipse.osgi.tests/bundles_src/nativetest.b2/META-INF/MANIFEST.MF +++ b/bundles/org.eclipse.osgi.tests/bundles_src/nativetest.b2/META-INF/MANIFEST.MF @@ -35,6 +35,10 @@ Bundle-NativeCode: nativefile.txt; processor=loongarch; osname=Linux, nativefile.txt; + processor=riscv64; + processor=riscv; + osname=Linux, + nativefile.txt; processor=Sparc; osname=Solaris; osname=SunOS, diff --git a/bundles/org.eclipse.osgi/container/src/org/eclipse/osgi/internal/framework/processor.aliases b/bundles/org.eclipse.osgi/container/src/org/eclipse/osgi/internal/framework/processor.aliases index 8e2d55f7b90..1764e6a6f37 100644 --- a/bundles/org.eclipse.osgi/container/src/org/eclipse/osgi/internal/framework/processor.aliases +++ b/bundles/org.eclipse.osgi/container/src/org/eclipse/osgi/internal/framework/processor.aliases @@ -18,7 +18,7 @@ 68k # Motorola 68000 and up ARM # Intel Strong ARM -aarch64 arm64 +aarch64 arm64 # 64 bit arm architecture Alpha # Compaq (ex DEC) Ignite psc1k # PTSC Mips # SGI @@ -29,7 +29,8 @@ PowerPC-64-LE ppc64le # IBM Power PC 64-bit Little Endian Sparc # SUN x86 pentium i386 i486 i586 i686 # Intel s390 # IBM System 390 -s390x # IBM System 390 (64-bit) +s390x # IBM System 390 (64-bit) v850e # NEC V850E x86-64 amd64 em64t x86_64 # 64 bit x86 architecture loongarch64 LoongArch64 # 64 bit loongarch architecture +riscv64 # 64 bit riscv architecture diff --git a/features/org.eclipse.equinox.executable.feature/build.properties b/features/org.eclipse.equinox.executable.feature/build.properties index 639806cc8b1..a39676fe381 100644 --- a/features/org.eclipse.equinox.executable.feature/build.properties +++ b/features/org.eclipse.equinox.executable.feature/build.properties @@ -41,3 +41,6 @@ root.macosx.cocoa.aarch64.permissions.755=Eclipse.app/Contents/MacOS/launcher root.linux.gtk.x86_64=bin/gtk/linux/x86_64,gtk_root root.linux.gtk.x86_64.permissions.755=launcher + +root.linux.gtk.riscv64=bin/gtk/linux/riscv64,gtk_root +root.linux.gtk.riscv64.permissions.755=launcher diff --git a/features/org.eclipse.equinox.executable.feature/feature.xml b/features/org.eclipse.equinox.executable.feature/feature.xml index ccaaaf78d48..51885f17928 100755 --- a/features/org.eclipse.equinox.executable.feature/feature.xml +++ b/features/org.eclipse.equinox.executable.feature/feature.xml @@ -65,6 +65,13 @@ arch="x86_64" version="0.0.0"/> + + " ;; diff --git a/features/org.eclipse.equinox.executable.feature/pom.xml b/features/org.eclipse.equinox.executable.feature/pom.xml index b648502224d..34a43393bb4 100644 --- a/features/org.eclipse.equinox.executable.feature/pom.xml +++ b/features/org.eclipse.equinox.executable.feature/pom.xml @@ -124,6 +124,7 @@ + diff --git a/features/org.eclipse.equinox.executable.feature/resources/build.properties b/features/org.eclipse.equinox.executable.feature/resources/build.properties index b938365beef..c1233014b23 100644 --- a/features/org.eclipse.equinox.executable.feature/resources/build.properties +++ b/features/org.eclipse.equinox.executable.feature/resources/build.properties @@ -37,3 +37,6 @@ root.linux.gtk.x86_64.permissions.755=libcairo-swt.so root.linux.gtk.loongarch64=bin/gtk/linux/loongarch64,gtk_root root.linux.gtk.loongarch64.permissions.755=launcher + +root.linux.gtk.riscv64=bin/gtk/linux/riscv64,gtk_root +root.linux.gtk.riscv64.permissions.755=launcher diff --git a/features/org.eclipse.equinox.executable.feature/resources/build.xml b/features/org.eclipse.equinox.executable.feature/resources/build.xml index ecf01b4fd0d..0be2df1c88b 100644 --- a/features/org.eclipse.equinox.executable.feature/resources/build.xml +++ b/features/org.eclipse.equinox.executable.feature/resources/build.xml @@ -126,6 +126,14 @@ + + + + + + + + @@ -168,6 +176,7 @@ + diff --git a/pom.xml b/pom.xml index 4b1ddd7ee56..2f0ec421de0 100644 --- a/pom.xml +++ b/pom.xml @@ -218,6 +218,7 @@ bundles/org.eclipse.equinox.launcher.cocoa.macosx.aarch64 bundles/org.eclipse.equinox.launcher.gtk.linux.aarch64 bundles/org.eclipse.equinox.launcher.gtk.linux.ppc64le + bundles/org.eclipse.equinox.launcher.gtk.linux.riscv64 bundles/org.eclipse.equinox.launcher.gtk.linux.x86_64 bundles/org.eclipse.equinox.launcher.win32.win32.aarch64 bundles/org.eclipse.equinox.launcher.win32.win32.x86_64