-
Notifications
You must be signed in to change notification settings - Fork 91
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
Generate native binary #860
Conversation
182cbd8
to
681fcca
Compare
Recently rebased against master and fixed XML formatting (it had a reflection error) |
Opening the attached xsd with the binary server, I ran into a stackoverflow
to be fair, the JVM server becomes unresponsive when opening the file with the default memory settings |
I just tried opening the file, and I couldn't reproduce the stackoverflow. The server remained responsive. Folding was automatically disabled, though. |
604446c
to
ecdca0c
Compare
4caa870
to
6025e2d
Compare
Moved the native binary pipeline into a separate file for the time being, as it was blocking Jenkins builds on other PRs |
6025e2d
to
d04f081
Compare
|
3a09c0b
to
11bd713
Compare
a50e340
to
a9c781b
Compare
f0848fe
to
ca8baeb
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Looks good to me. On Fedora I just needed to install just glibc-static, libstdc++-static, and zlib-static .
I noticed that there is a separate profile to use the static libraries on Linux. The only difference I'm seeing is in the additional --static flags. Is it possible to have one profile that gets activated on linux and sets the normally empty property to --static, and just refer to that property in the profile that makes the plugin call ?
If not possible, this is fine as well.
I'll take a look into doing this. |
ea4deed
to
a8c54a2
Compare
I changed it so that you compile with |
Yup, this is fine. |
Use GraalVM's `native-image` feature to generate a executable. To test, install GraalVM and the native-image tool, then set JAVA_HOME to the GraalVM installation. Run `./mvnw package -Dnative -DskipTests` in order to generate an executable under `org.eclipse.lemminx/target`. Includes a GitHub Action in order to run builds of the binary on PRs for testing purposes. Adopted from [PR 673](eclipse#673) A part of eclipse#314. Signed-off-by: David Thompson <[email protected]>
a8c54a2
to
c8873c1
Compare
Should I go ahead and merge this PR? |
go ahead |
Use GraalVM's
native-image
feature to generate a executable. To test, install GraalVM and the native-image tool, then set JAVA_HOME to the GraalVM installation. Run./mvnw package -Dnative -DskipTests
in order to generate an executable underorg.eclipse.lemminx/target
.Includes a GitHub Action in order to run builds of the binary on PRs for testing purposes.
Adopted from PR 673
A part of #314.
Signed-off-by: David Thompson [email protected]