You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
From the maintainer Li Haoyi: I'm putting a 500USD bounty on this issue, payable by bank transfer on a merged PR implementing this.
These are newer Java tools that we should have documented/tested golden paths to using. The examples should go in example/javalib/module with /** Usage */ tests and textual explanations of what the examples are doing and how they relate to the underlying tools and concepts (with links to the relevant upstream documentation pages)
The text was updated successfully, but these errors were encountered:
lihaoyi
changed the title
Add javalib examples on using jlink, jpackage, and producing JPMS modules (500USD Bounty)
Add javalib examples on using jlink, jpackage, and producing JPMS modules (300USD Bounty)
Oct 1, 2024
lihaoyi
changed the title
Add javalib examples on using jlink, jpackage, and producing JPMS modules (300USD Bounty)
Add javalib examples on using jlink, jpackage, and producing JPMS modules (500USD Bounty)
Oct 1, 2024
This intended to close#3638.
The `JlinkModule` creates a runtime image in two steps:
1. it creates a `jlink.jmod` file for the module containing the
`mainClass` using the
[`jmod`](https://docs.oracle.com/en/java/javase/23/docs/specs/man/jmod.html)
tool;
2. it then uses the
[jlink](https://docs.oracle.com/en/java/javase/23/docs/specs/man/jlink.html)
tool, to link the previously created `jlink.jmod` with a runtime image.
The generated runtime image can be executed with:
```sh
./out/foo/jlinkAppImage.dest/jlink-runtime/bin/jlink
```
As for the `JpackageModule` implementation, I decided to reuse most of
the `JpackageModule` code @lefou
[linked](#3201) to the original
issue. Of course his code completely avoids the `jmod` dance by using
[`jpackage`](https://docs.oracle.com/en/java/javase/23/docs/specs/man/jpackage.html)
to create a native package/installer directly.
`jpackage` supports up to 3 different package/installer outputs on
macOS:
```sh
jpackageType = "dmg"
./out/foo/jpackageAppImage.dest/image/foo-1.0.dmg
jpackageType = "pkg"
./out/foo/jpackageAppImage.dest/image/foo-1.0.pkg
jpackageType = "app-image"
./out/foo/jpackageAppImage.dest/image/foo.app
```
Would be interested to hear your thoughts on the slight difference
between how the 2 traits are implemented.
---------
Co-authored-by: Li Haoyi <haoyi.sg@gmail.com>
From the maintainer Li Haoyi: I'm putting a 500USD bounty on this issue, payable by bank transfer on a merged PR implementing this.
These are newer Java tools that we should have documented/tested golden paths to using. The examples should go in
example/javalib/module
with/** Usage */
tests and textual explanations of what the examples are doing and how they relate to the underlying tools and concepts (with links to the relevant upstream documentation pages)The text was updated successfully, but these errors were encountered: