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

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

Open
gsmet opened this issue Mar 21, 2019 · 7 comments
Open

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

gsmet opened this issue Mar 21, 2019 · 7 comments
Labels
pinned Issue will never be marked as stale

Comments

@gsmet
Copy link
Member

gsmet commented Mar 21, 2019

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
Copy link
Member

dmlloyd commented Mar 21, 2019

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
Copy link
Member Author

gsmet commented Mar 22, 2019

@geoand
Copy link
Contributor

geoand commented Mar 22, 2019

Seems to be coming up a lot lately :)

@hwellmann
Copy link

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
Copy link

jglick commented Aug 20, 2019

Resources are addressed more specifically in #2746.

@stale
Copy link

stale bot commented Nov 13, 2019

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.

@stale stale bot added the stale label Nov 13, 2019
@maxandersen maxandersen removed the stale label Nov 13, 2019
@gsmet gsmet added the pinned Issue will never be marked as stale label Nov 13, 2019
@dufoli
Copy link
Contributor

dufoli commented Aug 24, 2021

hello,

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

  • FlightRecorder
  • StartFlightRecording
  • FlightRecorderOptions
  • FlightRecorderLogging
  • DefaultLocale
  • IncludeLocales
  • IncludeAllLocales
  • DeleteLocalSymbols
  • ActiveProcessorCount
  • StaticExecutableWithDynamicLibC : build native image staticly except libC (docker optimization)

Seems not needed:

  • InlineBeforeAnalysis : InlineBeforeAnalysis enabled by default in coming GraalVM 21.3 release #19446, not needed
  • RemoveSaturatedTypeFlows Add job to test -H:+RemoveSaturatedTypeFlows and -H:+PrintAnalysisStatistics #9794
  • SerializationConfigurationResources : handled with reflection class build item Serialization feature support #15380
  • AllowVMInspection (seems implemented but not documented) and needed for flightRecoder
  • EnableSecurityServicesFeature: not needed. just to disable optim of remove uneeded security providers
  • SubstitutionResources : to be able to declase substitution class. objectSubstitution and class substitution is done with annotation so ok
  • ReflectionConfigurationResources : handled with builditem
  • ReflectionConfigurationFile : handled with builditem
  • ResourceConfigurationFiles : handled with builditem
  • JNIConfigurationResources : handled with builditem
  • ResourceConfigurationResources : handled with builditem
  • DynamicProxyConfigurationResources : handle with NativeImageProxyDefinitionBuildItem

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
pinned Issue will never be marked as stale
Projects
None yet
Development

No branches or pull requests

7 participants