Migrate your RCP software now!

Subscribers:
24,000
Published on ● Video Link: https://www.youtube.com/watch?v=AuQgbeD_7fE



Duration: 22:37
226 views
2


Presented by Philip Wenig (Lablicate GmbH) at EclipseCon 2022.

Recent vulnerabilities in open source libraries, like Log4Shell (1), enforce every developer to stay up to date and to migrate existing software to the latest version available. It sounds easier than it is in reality. The path of migration isn't always straight forward, especially if a large software suite needs to be maintained. Personally, I'm getting a bit nervous when being confronted with the term "migration". Why? Several years ago, when I started an Eclipse 3.x to 4.x migration, I ran into severe problems. It ended up in being unable to compile my application OpenChrom (2) for at least half a year. Bad memories. That's a kind of experience you definitively want to have only once in a lifetime. We managed to handle that situation. Well, that's why we waited to migrate our application to Java "After Eight" as long as possible. Eventually, as Java 8 is not maintained any longer (3), there was no other way than to migrate. Additionally, several people reported that the macOS version is broken. This was another reason to go ahead and start the migration.We migrated OpenChrom, respectively Eclipse SWTChart (4) and Eclipse ChemClipse (5), from Eclipse Photon to Eclipse 2022-03.

And we ran into several issue again. But this time, we were warned and better prepared.
We prepared the migration in small steps and tested several issues:

Are there problems with the Java module system?
How does the application behave on GTK3?
Let's put the focus on some pitfalls:

Arrgh, JAXB isn't working any longer!
What happened with javax.xml?
JavaFX, where to get it from?
Luckily, Eclipse Adoptium (6) is available, which can be easily consumed. We found a workaround to enable JavaFX again, but have skipped using JavaFX due to an easier maintainability of the application. Moreover, it's worth to migrate to the latest Eclipse platform. Third party dependencies can be fetched from Maven Central via the Target Platform now. It makes a migration easier.