quarkusio / quarkus

Quarkus: Supersonic Subatomic Java.
https://quarkus.io
Apache License 2.0
13.78k stars 2.68k forks source link

Provide a user-facing API to deal with GraalVM options #1605

Open gsmet opened 5 years ago

gsmet commented 5 years ago

For extension developers, we have all the BuildItem machinery which takes care of configuring GraalVM.

For applications themselves, we expose @RegisterForReflection but that's pretty much it. There's a need for a user-facing API allowing to configure GraalVM from the application code itself (add resources, resource bundles...).

dmlloyd commented 5 years ago

Maybe some of this should be driven by config, e.g. file globs for matching resources to keep in the final image.

Also it would be nice to align some of this between JVM mode and native image, for example if I want to have some resource available at run time, I should be able to just specify that I want that resource instead of having extra config for native image. Non-included resources should be excluded from both JVM mode and native image.

The closer we make the experience between the two, the easier it will be for users to move from JVM to native image in their dev cycle.

gsmet commented 5 years ago

See https://stackoverflow.com/questions/55300484/how-to-include-classpath-resources-in-a-quarkus-native-image/55300914#55300914 for a user asking about that.

geoand commented 5 years ago

Seems to be coming up a lot lately :)

hwellmann commented 5 years ago

As a Maven user, I would expect all my Maven resources from the current reactor to be included in the final image (otherwise, I wouldn't put them in the reactor in the first place), and of course I wouldn't want to worry about any patterns to match exactly my resources and nothing else from the classpath, so it would be really nice if quarkus-maven-plugin could do the job for me.

jglick commented 5 years ago

Resources are addressed more specifically in #2746.

stale[bot] commented 4 years ago

This issue has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs. Thank you! We are doing this automatically to ensure out-of-date issues does not stay around indefinitely. If you believe this issue is still relevant please put a comment on it on why and if it truly needs to stay request or add 'pinned' label.

dufoli commented 3 years ago

hello,

I have try to list all option, that I found in release note of graal: seems missing:

Seems not needed: