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

Evaluate jpackage to provide launchers #12

Closed
vogella opened this issue Jun 14, 2022 · 6 comments
Closed

Evaluate jpackage to provide launchers #12

vogella opened this issue Jun 14, 2022 · 6 comments
Labels

Comments

@vogella
Copy link
Contributor

vogella commented Jun 14, 2022

jpackage is a new standard introduced with Java 14 to provide native launchers for Java applicatitions.

Example blog post about it: https://alvinalexander.com/java/how-use-jpackage-command-java-14-jdk-sdk/

Maybe we could also use this to provide our launchers? We already decided in the PMC to remove the support native splash loading via #19 but this might be another opportunity to reduce / remove the need for our own launcher.

@laeubi laeubi transferred this issue from eclipse-equinox/equinox.framework Jun 16, 2022
@merks
Copy link
Contributor

merks commented Jun 16, 2022

Note that it needs to run natively on each platform.

@vogella
Copy link
Contributor Author

vogella commented Jun 16, 2022

Note that it needs to run natively on each platform.

I believe that is the same for building the native launchers. At least that is what I think I heard from @nnemkin in the past.

@merks
Copy link
Contributor

merks commented Jun 16, 2022

Yes, native things (executables and shared libraries) must be built natively. I just mention it now because I'm not sure how equinox using jpackage to avoid having native launchers wouldn't then result in all downstream products needing to do the same thing, i.e., needing to do builds natively on each platform, which is not needed today when reusing the equinox-provided native launchers.

@nnemkin
Copy link
Contributor

nnemkin commented Jun 16, 2022

jpackage is nice, but it's primary purpose is bundling the Java runtime and building native installers. Eclipse already has its own runtime bundles and installer.

Equinox launcher has at least 6 features that need to be ported to Java or cut before it could be replaced:

  1. INI parsing.
  2. Splash screen.
  3. Activation, i.e. opening files in the same workbench instance.
  4. Restarting the workbench after updates etc.
  5. Graphical dialog if errors happen before Java/SWT is loaded.
  6. Update via p2. The launcher is split into a p2-updatable library and a stub executable.

@github-actions
Copy link

This issue has been inactive for 180 days and is therefore labeled as stale.
If this issue became irrelevant in the meantime please close it as completed. If it is still relevant and you think it should be fixed some possibilities are listed below.
Please read https://github.com/eclipse-equinox/.github/blob/main/CONTRIBUTING.md#contributing-to-eclipse-equinox for ways to influence development.

@github-actions github-actions bot added the stale label Dec 14, 2022
@akurtakov
Copy link
Member

As discussion has shown jpackage would not benefit equinox launchers thus closing.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

4 participants