Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Update to Eclipse 2024-09 and Java 21 #4230

Draft
wants to merge 7 commits into
base: master
Choose a base branch
from
Draft

Update to Eclipse 2024-09 and Java 21 #4230

wants to merge 7 commits into from

Conversation

buchen
Copy link
Member

@buchen buchen commented Sep 15, 2024

This change

  • updates to Eclipse 2024-09
  • updates dependencies to their respective latest version
  • updates to Java 21
  • update the embedded JRE (i.e. the distro is not launching because it still includes Java 17)

Test Launch

  •  Linux x86_64
  •  Linux aarch64
  •  macOS x86_64
  •  macOS aarch64
  •  Windows x86_64

Test update from 0.70.4 to Java21-based installation

  •  Linux x86_64
  •  Linux aarch64
  •  macOS x86_64
  •  macOS aarch64
  •  Windows x86_64

Test

Update the update URL in the settings to point to:

https://updates.portfolio-performance.info/portfolio-java21

⚠️ Do not test on your "productive" installation. Unzip/install a copy to a separate folder.

@buchen buchen marked this pull request as draft September 15, 2024 08:09
@buchen
Copy link
Member Author

buchen commented Sep 15, 2024

@Nirus2000 If you happen to have time, can you test the windows update? (On a copy / separate install)

The basic steps should work

  • update the update repository URL in the settings
  • choose Help -> Search for updates
  • there are no release notes yet (empty window expected)
  • install
  • restart
  • check the "installation details" in the "About Portfolio Performance" dialog - is it java21?

@Nirus2000
Copy link
Member

Nirus2000 commented Sep 16, 2024

Start testing ...

grafik

Checking files

grafik

grafik

Generated at 2024-09-16T08:50:17.736000900

System Properties:

clearPersistedState: true
ds.delayed.keepInstances: true
ds.delayed.keepInstances.default: true
eclipse.application: org.eclipse.e4.ui.workbench.swt.E4Application
eclipse.buildId: 0.70.5.202409151933
eclipse.commands: -os
win32
-ws
win32
-arch
x86_64
-showsplash
-launcher
C:\Users\Nirus\Desktop\PortfolioPerformance-0.70.4-win32.win32.x86_64\portfolio\PortfolioPerformance.exe
-name
PortfolioPerformance
--launcher.library
C:\Users\Nirus\Desktop\PortfolioPerformance-0.70.4-win32.win32.x86_64\portfolio\\plugins/org.eclipse.equinox.launcher.win32.win32.x86_64_1.2.1100.v20240722-2106\eclipse_11904.dll
-startup
C:\Users\Nirus\Desktop\PortfolioPerformance-0.70.4-win32.win32.x86_64\portfolio\\plugins/org.eclipse.equinox.launcher_1.6.900.v20240613-2009.jar
--launcher.overrideVmargs
-vm
C:\Program Files\Zulu\zulu-21\bin\server\jvm.dll

eclipse.home.location: file:/C:/Users/Nirus/Desktop/PortfolioPerformance-0.70.4-win32.win32.x86_64/portfolio/
eclipse.launcher: C:\Users\Nirus\Desktop\PortfolioPerformance-0.70.4-win32.win32.x86_64\portfolio\PortfolioPerformance.exe
eclipse.launcher.name: PortfolioPerformance
eclipse.p2.data.area: @config.dir/../p2/
eclipse.p2.profile: DefaultProfile
eclipse.product: name.abuchen.portfolio.bootstrap.product
eclipse.startTime: 1726469016979
eclipse.stateSaveDelayInterval: 30000
eclipse.vm: C:\Program Files\Zulu\zulu-21\bin\server\jvm.dll
eclipse.vmargs: -XX:+IgnoreUnrecognizedVMOptions
-Dosgi.requiredJavaVersion=17
--add-modules=ALL-SYSTEM
-XX:+UseG1GC
-XX:+UseStringDeduplication
-Xms512m
-Xmx1g
-Djava.class.path=C:\Users\Nirus\Desktop\PortfolioPerformance-0.70.4-win32.win32.x86_64\portfolio\\plugins/org.eclipse.equinox.launcher_1.6.900.v20240613-2009.jar

equinox.init.uuid: true
file.encoding: UTF-8
file.separator: \
gosh.args: --nointeractive
java.class.path: C:\Users\Nirus\Desktop\PortfolioPerformance-0.70.4-win32.win32.x86_64\portfolio\\plugins/org.eclipse.equinox.launcher_1.6.900.v20240613-2009.jar
java.class.version: 65.0
java.home: C:\Program Files\Zulu\zulu-21
java.io.tmpdir: C:\Users\Nirus\AppData\Local\Temp\
java.library.path: C:\Users\Nirus\Desktop\PortfolioPerformance-0.70.4-win32.win32.x86_64\portfolio;C:\Windows\Sun\Java\bin;C:\Windows\system32;C:\Windows;C:\Program Files\Zulu\zulu-21\bin;C:\Program Files\Zulu\scripts;C:\Windows\system32;C:\Windows;C:\Windows\System32\Wbem;C:\Windows\System32\WindowsPowerShell\v1.0\;C:\Windows\System32\OpenSSH\;C:\Program Files\dotnet\;C:\Program Files (x86)\Gpg4win\..\GnuPG\bin;C:\Program Files\WindowsPowerShell\Scripts;;.
java.runtime.name: OpenJDK Runtime Environment
java.runtime.version: 21.0.4+7-LTS
java.specification.name: Java Platform API Specification
java.specification.vendor: Oracle Corporation
java.specification.version: 21
java.vendor: Azul Systems, Inc.
java.vendor.url: http://www.azul.com/
java.vendor.url.bug: http://www.azul.com/support/
java.vendor.version: Zulu21.36+17-CA
java.version: 21.0.4
java.version.date: 2024-07-16
java.vm.compressedOopsMode: 32-bit
java.vm.info: mixed mode, sharing
java.vm.name: OpenJDK 64-Bit Server VM
java.vm.specification.name: Java Virtual Machine Specification
java.vm.specification.vendor: Oracle Corporation
java.vm.specification.version: 21
java.vm.vendor: Azul Systems, Inc.
java.vm.version: 21.0.4+7-LTS
jdk.debug: release
jna.loaded: true
jnidispatch.path: C:\Users\Nirus\AppData\Local\Temp\jna-75275989\jna4087552164291316531.dll
line.separator: 


native.encoding: Cp1252
org.eclipse.equinox.launcher.splash.location: c:\Users\Nirus\Desktop\PortfolioPerformance-0.70.4-win32.win32.x86_64\portfolio\configuration\org.eclipse.equinox.launcher\name.abuchen.portfolio.ui_0.70.5.202409151933\splash.bmp
org.eclipse.equinox.simpleconfigurator.configUrl: file:org.eclipse.equinox.simpleconfigurator/bundles.info
org.eclipse.swt.internal.deviceZoom: 100
org.osgi.framework.executionenvironment: OSGi/Minimum-1.0, OSGi/Minimum-1.1, OSGi/Minimum-1.2, JavaSE/compact1-1.8, JavaSE/compact2-1.8, JavaSE/compact3-1.8, JRE-1.1, J2SE-1.2, J2SE-1.3, J2SE-1.4, J2SE-1.5, JavaSE-1.6, JavaSE-1.7, JavaSE-1.8, JavaSE-9, JavaSE-10, JavaSE-11, JavaSE-12, JavaSE-13, JavaSE-14, JavaSE-15, JavaSE-16, JavaSE-17, JavaSE-18, JavaSE-19, JavaSE-20, JavaSE-21
org.osgi.framework.language: de
org.osgi.framework.os.name: Windows10
org.osgi.framework.os.version: 10.0.0
org.osgi.framework.processor: x86-64
org.osgi.framework.storage: C:\Users\Nirus\Desktop\PortfolioPerformance-0.70.4-win32.win32.x86_64\portfolio\configuration
org.osgi.framework.system.capabilities: osgi.ee; osgi.ee="OSGi/Minimum"; version:List<Version>="1.0, 1.1, 1.2", osgi.ee; osgi.ee="JRE"; version:List<Version>="1.0, 1.1", osgi.ee; osgi.ee="JavaSE"; version:List<Version>="1.0, 1.1, 1.2, 1.3, 1.4, 1.5, 1.6, 1.7, 1.8, 9.0, 10.0, 11.0, 12.0, 13.0, 14.0, 15.0, 16.0, 17.0, 18.0, 19.0, 20.0, 21.0",osgi.ee; osgi.ee="JavaSE/compact1"; version:List<Version>="1.8, 9.0, 10.0, 11.0, 12.0, 13.0, 14.0, 15.0, 16.0, 17.0, 18.0, 19.0, 20.0, 21.0",osgi.ee; osgi.ee="JavaSE/compact2"; version:List<Version>="1.8, 9.0, 10.0, 11.0, 12.0, 13.0, 14.0, 15.0, 16.0, 17.0, 18.0, 19.0, 20.0, 21.0",osgi.ee; osgi.ee="JavaSE/compact3"; version:List<Version>="1.8, 9.0, 10.0, 11.0, 12.0, 13.0, 14.0, 15.0, 16.0, 17.0, 18.0, 19.0, 20.0, 21.0"
org.osgi.framework.system.packages: com.azul.tooling, com.sun.java.accessibility.util, com.sun.jdi, com.sun.jdi.connect, com.sun.jdi.connect.spi, com.sun.jdi.event, com.sun.jdi.request, com.sun.management, com.sun.net.httpserver, com.sun.net.httpserver.spi, com.sun.nio.file, com.sun.nio.sctp, com.sun.security.auth, com.sun.security.auth.callback, com.sun.security.auth.login, com.sun.security.auth.module, com.sun.security.jgss, com.sun.source.doctree, com.sun.source.tree, com.sun.source.util, com.sun.tools.attach, com.sun.tools.attach.spi, com.sun.tools.javac, com.sun.tools.jconsole, java.applet, java.awt, java.awt.color, java.awt.datatransfer, java.awt.desktop, java.awt.dnd, java.awt.event, java.awt.font, java.awt.geom, java.awt.im, java.awt.im.spi, java.awt.image, java.awt.image.renderable, java.awt.print, java.beans, java.beans.beancontext, java.io, java.lang, java.lang.annotation, java.lang.constant, java.lang.foreign, java.lang.instrument, java.lang.invoke, java.lang.management, java.lang.module, java.lang.ref, java.lang.reflect, java.lang.runtime, java.math, java.net, java.net.http, java.net.spi, java.nio, java.nio.channels, java.nio.channels.spi, java.nio.charset, java.nio.charset.spi, java.nio.file, java.nio.file.attribute, java.nio.file.spi, java.rmi, java.rmi.dgc, java.rmi.registry, java.rmi.server, java.security, java.security.cert, java.security.interfaces, java.security.spec, java.sql, java.text, java.text.spi, java.time, java.time.chrono, java.time.format, java.time.temporal, java.time.zone, java.util, java.util.concurrent, java.util.concurrent.atomic, java.util.concurrent.locks, java.util.function, java.util.jar, java.util.logging, java.util.prefs, java.util.random, java.util.regex, java.util.spi, java.util.stream, java.util.zip, javax.accessibility, javax.annotation.processing, javax.crypto, javax.crypto.interfaces, javax.crypto.spec, javax.imageio, javax.imageio.event, javax.imageio.metadata, javax.imageio.plugins.bmp, javax.imageio.plugins.jpeg, javax.imageio.plugins.tiff, javax.imageio.spi, javax.imageio.stream, javax.lang.model, javax.lang.model.element, javax.lang.model.type, javax.lang.model.util, javax.management, javax.management.loading, javax.management.modelmbean, javax.management.monitor, javax.management.openmbean, javax.management.relation, javax.management.remote, javax.management.remote.rmi, javax.management.timer, javax.naming, javax.naming.directory, javax.naming.event, javax.naming.ldap, javax.naming.ldap.spi, javax.naming.spi, javax.net, javax.net.ssl, javax.print, javax.print.attribute, javax.print.attribute.standard, javax.print.event, javax.rmi.ssl, javax.script, javax.security.auth, javax.security.auth.callback, javax.security.auth.kerberos, javax.security.auth.login, javax.security.auth.spi, javax.security.auth.x500, javax.security.cert, javax.security.sasl, javax.smartcardio, javax.sound.midi, javax.sound.midi.spi, javax.sound.sampled, javax.sound.sampled.spi, javax.sql, javax.sql.rowset, javax.sql.rowset.serial, javax.sql.rowset.spi, javax.swing, javax.swing.border, javax.swing.colorchooser, javax.swing.event, javax.swing.filechooser, javax.swing.plaf, javax.swing.plaf.basic, javax.swing.plaf.metal, javax.swing.plaf.multi, javax.swing.plaf.nimbus, javax.swing.plaf.synth, javax.swing.table, javax.swing.text, javax.swing.text.html, javax.swing.text.html.parser, javax.swing.text.rtf, javax.swing.tree, javax.swing.undo, javax.tools, javax.transaction.xa, javax.xml, javax.xml.catalog, javax.xml.crypto, javax.xml.crypto.dom, javax.xml.crypto.dsig, javax.xml.crypto.dsig.dom, javax.xml.crypto.dsig.keyinfo, javax.xml.crypto.dsig.spec, javax.xml.datatype, javax.xml.namespace, javax.xml.parsers, javax.xml.stream, javax.xml.stream.events, javax.xml.stream.util, javax.xml.transform, javax.xml.transform.dom, javax.xml.transform.sax, javax.xml.transform.stax, javax.xml.transform.stream, javax.xml.validation, javax.xml.xpath, jdk.dynalink, jdk.dynalink.beans, jdk.dynalink.linker, jdk.dynalink.linker.support, jdk.dynalink.support, jdk.incubator.vector, jdk.javadoc.doclet, jdk.jfr, jdk.jfr.consumer, jdk.jshell, jdk.jshell.execution, jdk.jshell.spi, jdk.jshell.tool, jdk.management.jfr, jdk.net, jdk.nio, jdk.nio.mapmode, jdk.security.jarsigner, jdk.swing.interop, netscape.javascript, org.ietf.jgss, org.w3c.dom, org.w3c.dom.bootstrap, org.w3c.dom.css, org.w3c.dom.events, org.w3c.dom.html, org.w3c.dom.ls, org.w3c.dom.ranges, org.w3c.dom.stylesheets, org.w3c.dom.traversal, org.w3c.dom.views, org.w3c.dom.xpath, org.xml.sax, org.xml.sax.ext, org.xml.sax.helpers, sun.misc, sun.reflect
org.osgi.framework.uuid: 132dc942-8209-49a6-92b8-5c8655f6af36
org.osgi.framework.vendor: Eclipse
org.osgi.framework.version: 1.10.0
org.osgi.supports.framework.extension: true
org.osgi.supports.framework.fragment: true
org.osgi.supports.framework.requirebundle: true
os.arch: amd64
os.name: Windows 10
os.version: 10.0
osgi.arch: x86_64
osgi.bundles: reference:file:org.eclipse.osgi.compatibility.state_1.2.1000.v20240213-1057.jar,reference:file:org.apache.aries.spifly.dynamic.bundle_1.3.7.jar@1:start,reference:file:org.eclipse.equinox.simpleconfigurator_1.5.300.v20240424-1301.jar@1:start
osgi.bundles.defaultStartLevel: 4
osgi.compatibility.bootdelegation: true
osgi.compatibility.bootdelegation.default: true
osgi.configuration.area: file:/C:/Users/Nirus/Desktop/PortfolioPerformance-0.70.4-win32.win32.x86_64/portfolio/configuration/
osgi.framework: file:/c:/Users/Nirus/Desktop/PortfolioPerformance-0.70.4-win32.win32.x86_64/portfolio/plugins/org.eclipse.osgi_3.21.0.v20240717-2103.jar
osgi.framework.extensions: reference:file:org.eclipse.osgi.compatibility.state_1.2.1000.v20240213-1057.jar
osgi.framework.shape: jar
osgi.framework.useSystemProperties: true
osgi.frameworkClassPath: ., file:c:/Users/Nirus/Desktop/PortfolioPerformance-0.70.4-win32.win32.x86_64/portfolio/plugins/org.eclipse.osgi.compatibility.state_1.2.1000.v20240213-1057.jar
osgi.install.area: file:/C:/Users/Nirus/Desktop/PortfolioPerformance-0.70.4-win32.win32.x86_64/portfolio/
osgi.instance.area: file:/C:/Users/Nirus/AppData/Local/PortfolioPerformance/workspace/
osgi.instance.area.default: file:/C:/Users/Nirus/AppData/Local/PortfolioPerformance/workspace/
osgi.logfile: C:\Users\Nirus\AppData\Local\PortfolioPerformance\workspace\.metadata\.log
osgi.nl: de_DE
osgi.os: win32
osgi.requiredJavaVersion: 17
osgi.splashLocation: c:\Users\Nirus\Desktop\PortfolioPerformance-0.70.4-win32.win32.x86_64\portfolio\configuration\org.eclipse.equinox.launcher\name.abuchen.portfolio.ui_0.70.5.202409151933\splash.bmp
osgi.splashPath: platform:/base/plugins/name.abuchen.portfolio.ui
osgi.syspath: c:\Users\Nirus\Desktop\PortfolioPerformance-0.70.4-win32.win32.x86_64\portfolio\plugins
osgi.tracefile: C:\Users\Nirus\AppData\Local\PortfolioPerformance\workspace\.metadata\trace.log
osgi.ws: win32
path.separator: ;
stderr.encoding: Cp1252
stdout.encoding: Cp1252
sun.arch.data.model: 64
sun.boot.library.path: C:\Program Files\Zulu\zulu-21\bin
sun.cpu.endian: little
sun.cpu.isalist: amd64
sun.io.unicode.encoding: UnicodeLittle
sun.jnu.encoding: Cp1252
sun.management.compiler: HotSpot 64-Bit Tiered Compilers
sun.os.patch.level: 
user.country: DE
user.dir: C:\Users\Nirus\Desktop\PortfolioPerformance-0.70.4-win32.win32.x86_64\portfolio
user.home: C:\Users\Nirus
user.language: de
user.name: Nirus
user.script: 
user.timezone: Europe/Berlin
user.variant: 
............

@buchen
Copy link
Member Author

buchen commented Sep 16, 2024

Thanks. The requiredJavaVersion is fixed, but not published in the test update site. Thanks.

@buchen
Copy link
Member Author

buchen commented Sep 16, 2024

@Nirus2000

I think you tested the installation package without the embedded Java Runtime Environment.

java.home: C:\Program Files\Zulu\zulu-21

...

json-path (2.9.0)
name.abuchen.portfolio (0.70.5.202409151933) [signed by Andreas Buchen] [trusted]
name.abuchen.portfolio.bootstrap (0.70.5.202409151933) [signed by Andreas Buchen] [trusted]
name.abuchen.portfolio.ui (0.70.5.202409151933) [signed by Andreas Buchen] [trusted]
net.minidev.accessors-smart (2.5.1)

Can you test a "distro", i.e. a version that includes the JRE 17. And then is updated in place to Java 21.

You can take the installer published, or you build the current destro locally mvn clean verify -Ppackage-distro

@Nirus2000
Copy link
Member

@buchen
I think I did it this way.

With JDK17

grafik


With JDK21

grafik

  • Downloaded ZIP
  • Opened test file
  • Changed update site in settings and saved
  • Change the JDK to Java 21
  • Restarted and started download for dependencies

Fast Switch JDK Version

scripts.zip

  • Copy this folder to "C:\Program Files\Zulu\"
  • Change in Environment
    • Add
      grafik
  • Delete all other old JDK entry

Look in in the *.bat Files for the logic:
grafik

BATCH FILES ROCK's 😆🤘🤘🤘

Everything worked.

@buchen
Copy link
Member Author

buchen commented Sep 17, 2024

BATCH FILES ROCK

😄

Fair. But what I want to test is that the self-update of the Java Runtime Environment works on Windows. If users have installed using the Windows installer, then the JRE 17 is embedded in the installation and must be updated to Java 21 as well. I tested it on macOS and Linux (both with ARM), but I miss a testing environment on Windows.

@Nirus2000 Nirus2000 closed this Sep 19, 2024
@Nirus2000 Nirus2000 deleted the feature_java21 branch September 19, 2024 09:15
@buchen buchen restored the feature_java21 branch September 21, 2024 06:19
@buchen buchen reopened this Sep 21, 2024
@buchen buchen self-assigned this Sep 21, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
Status: In Progress
Development

Successfully merging this pull request may close these issues.

2 participants