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

Updated Installer JDK to 17 #2602

Merged
merged 4 commits into from May 13, 2022
Merged

Updated Installer JDK to 17 #2602

merged 4 commits into from May 13, 2022

Conversation

nvoxland
Copy link
Contributor

@nvoxland nvoxland commented Mar 4, 2022

Description

Updates the version of Java installed as part of Liquibase in the installers to the latest Java 17 rather than 11, since 17 is the newest LTS version.

@nvoxland
Copy link
Contributor Author

nvoxland commented Mar 4, 2022

Notes and test results:

Things to be aware of

  • Branched this off master rather than Run automated tests in JDK17 rather than 16 #2318 to make managing the two PRs independently easier. That does mean we're not testing anything with 17 in this branch right now, but after 2318 gets merged, we can sync master into this branch and then we will.
  • This only impacts the version of java installed with the install4j-based installers
  • File handling by installer (see below)
  • Reminder that running Run liquibase --version` lists the java version liquibase is using
  • When this gets ready to consider, we should ensure that the java version is still the latest

Things to worry about

  • Nothing

File Handling Notes

My main worry was whether install4j would cleanly remove files from the 11 jvm that no longer exist in 17. If it didn't, that's also a potential problem even as we do patch releases. I know install4j doesn't remove the old driver jars on upgrade, but thought perhaps it handled it's bundled JVM differently.

To test the jdk file handling, I:

  1. Installed an older version of Liquibase with the installer
  2. Ran tree to list all the files in the installed dir
  3. Upgraded that installation to a build from this branch
  4. Ran tree on the upgraded dir
  5. Compared the output from 2 and 4

From the comparison, I saw that new files like the h2 driver in the lib were added, but "removed" files were not actually removed in the lib dir as expected.

BUT, the jre dir DID correctly had old files removed from it in addition to newly added files. So the java upgrade is handled well out of the box by install4j

I did test this only on windows though, not mac.

@github-actions
Copy link

github-actions bot commented May 9, 2022

Unit Test Results

  4 512 files    4 512 suites   36m 53s ⏱️
  4 389 tests   4 175 ✔️    214 💤 0
51 948 runs  46 940 ✔️ 5 008 💤 0

Results for commit 9eb0945.

@FBurguer FBurguer self-assigned this May 12, 2022
@kataggart kataggart added this to the NEXT milestone May 12, 2022
@FBurguer
Copy link

For this Pr i compared the directories of an updated and a freshly installed builds from the windows installer, the only difference between them is autoUninstall file (there are 2 in the updated version). I also checked if liquibase is installing and running by default in java 17, and it looks like it. I also tried running a couple of commands on both builds and there is not any noticeable issue in any of them.

Test environment:
Liquibase version: Liquibase Version: [Core: //jdk-17-installer/2546/9eb094/2022-05-09 15:52+0000, Pro: master/1193/d83fd3/2022-05-09T15:14:48Z] Liquibase Community [Core: //jdk-17-installer/2546/9eb094/2022-05-09 15:52+0000, Pro: master/1193/d83fd3/2022-05-09T15:14:48Z] by Liquibase
Database: h2 2
SO: Windows 10
Java: 17.0.3

@nvoxland nvoxland merged commit 97167ef into master May 13, 2022
@nvoxland nvoxland deleted the jdk-17-installer branch May 13, 2022 15:59
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
Archived in project
Development

Successfully merging this pull request may close these issues.

None yet

4 participants