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

Native Image support #141

Closed
4 tasks done
sbaier1 opened this issue Mar 20, 2020 · 2 comments
Closed
4 tasks done

Native Image support #141

sbaier1 opened this issue Mar 20, 2020 · 2 comments
Labels
feature New feature native Is in context with native images

Comments

@sbaier1
Copy link

sbaier1 commented Mar 20, 2020

Problem or use case

By leveraging SubstrateVMs native image feature, we can package the MQTT CLI into a single binary, removing the immediate dependency on a local Java installation and greatly improve the startup time of the CLI, making scripted and non-shell usage more attractive.

The existing implementation of this feature (current state is at #140 ) is unstable and not ready for release.

Preferred solution or suggestions

  • Improve the configuration of the already included native image task
  • Fix known issues
  • Add tests to CI that verify that the native image is operational after build
    • build native image in travis build
    • execute tests (shell script based? simple unit test? unclear what technology to use here yet. needs to be able to test interactive shell mode!)
  • Update to the latest GraalVM version
  • Release native image for linux, darwin and windows with each release

Known Issues

  • TLS does not work Single-binary ECC (ECDSA/ECDHE) TLS support for SubstrateVM oracle/graal#1336 -> fixed in GraalVM 19.3 and up
  • hitting Ctrl+D in shell mode yields org.jline.reader.EndOfFileException -> fixed by handling exception properly
  • Commands such as help pub in shell mode do not behave as expected: Unmatched argument at index 1: 'pub'
  • CLI always starts in trace mode (might be due to a missing IncludeResources flag? unsure)
@sbaier1 sbaier1 added the feature New feature label Mar 20, 2020
@sbaier1
Copy link
Author

sbaier1 commented Jun 18, 2020

updated to GraalVM 20.1.0, remaining check points still valid unfortunately.

@ghost
Copy link

ghost commented Dec 21, 2022

Support was added in PR: #311
Tests and fixes were added in PR: #308
For now we do not have a release process for the native-image yet

@ghost ghost added the native Is in context with native images label Jan 20, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
feature New feature native Is in context with native images
Projects
None yet
Development

No branches or pull requests

2 participants