Skip to content

Conversation

peterzeller
Copy link
Contributor

@peterzeller peterzeller commented Dec 12, 2021

With the modularization, we can use the jlink command (gradle jlink -x test) to build a package including a custom Java Runtime Environment.

This can later be used to automatically download the correct version of Java with the application directly from the VSCode plugin.

Pros:

  • Easy install (just install the plugin)
  • No more problems with wrong Java installations
  • We can update Java without breaking it for users

TODO:

  • Importing the setup tool did not work because of conflicts, so I included the necessary files as decompiled Java files. It's probably better to move these files to a common shared library.
  • Test it.
  • Make code coverage work with Java 17

peq added 6 commits December 13, 2021 00:28
With the modularization, we can use the jpackage command ('gradle
jpackage -x test') to build a package including a whole Java Runtime
Environment.
This can later be used to automatically download the correct version of
Java with the application directly from the VSCode plugin.
@Frotty Frotty force-pushed the master branch 2 times, most recently from 1c4a76c to ca47830 Compare June 24, 2025 16:48
@Frotty Frotty force-pushed the master branch 2 times, most recently from 3bbfe78 to fdcd03d Compare October 18, 2025 09:02
@Frotty
Copy link
Member

Frotty commented Oct 22, 2025

The part of building a minimal jre via jlink is now implemented.
Modularization is not needed in our case, because we don't need to be truly modular or hide any packages - we can just use jdeps to find the needed modules and then use jlink to build the minimal jres for each platform.
The gradle scripts & github workflows do exactly that.
In the next vscode extension release, the extension will download the runtime and compiler from GitHub releases and use that instead.

@Frotty Frotty closed this Oct 22, 2025
@Frotty Frotty deleted the modularize-application branch October 22, 2025 15:54
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants