Skip to content
This repository has been archived by the owner on Apr 2, 2023. It is now read-only.

Add run-time and build-time configuration #31

Merged
merged 3 commits into from Oct 21, 2020
Merged

Conversation

dzou
Copy link
Contributor

@dzou dzou commented Oct 20, 2020

This adds information about which classes can be initialized at build-time and which should be initialized at run-time.

See: https://www.graalvm.org/reference-manual/native-image/ClassInitialization/

This information is used by Quarkus because it tries to initialize everything at build-time by default and needs the user to tell which ones can be initialized at run-time.

Included changes

  • I copied over .properties configs from the Netty and put correct package names on them. This is needed because grpc-netty-shaded does not shade the classes referenced in the properties files. See context for doing this: Implement a working sample for Quarkus #30 (comment) This is a temporary measure; I filed an issue referenced in the link asking for grpc-java to correctly shade the contents in the properties files too.

  • Added a .properties file describing runtime/build-time classes for grpc-netty-shaded. These are classes that reference native libraries; it seems like the native libraries must be linked at run-time to be safe, otherwise you get SEG FAULTS.

Copy link
Member

@meltsufin meltsufin left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

👍

@dzou dzou merged commit 08aa81a into master Oct 21, 2020
@dzou dzou mentioned this pull request Nov 30, 2020
@dzou dzou deleted the runtime-build-time-config branch December 1, 2020 20:17
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

2 participants