Package io.quarkus.deployment.pkg
Class NativeConfig
- java.lang.Object
-
- io.quarkus.deployment.pkg.NativeConfig
-
@ConfigRoot(phase=BUILD_TIME) public class NativeConfig extends Object
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static classNativeConfig.ContainerRuntimeSupported Container runtimesstatic classNativeConfig.Debugstatic classNativeConfig.ResourcesConfig
-
Field Summary
Fields Modifier and Type Field Description booleanaddAllCharsetsIf all character sets should be added to the native image.Optional<List<String>>additionalBuildArgsAdditional arguments to pass to the build processbooleanautoServiceLoaderRegistrationIf all META-INF/services entries should be automatically registeredStringbuilderImageThe docker image to use to do the image buildbooleancleanupServerDeprecated.Since GraalVM 20.2.0 the native image server has become an experimental feature and is disabled by default.booleancontainerBuildIf this build should be done using a container runtime.Optional<NativeConfig.ContainerRuntime>containerRuntimeThe container runtime (e.g.Optional<List<String>>containerRuntimeOptionsOptions to pass to the container runtimeNativeConfig.DebugdebugDebugging options.booleandebugBuildProcessIf the native image build should wait for a debugger to be attached before running.booleandumpProxiesIf the bytecode of all proxies should be dumped for inspectionbooleanenableAllSecurityServicesIf all security services should be added to the native imagebooleanenableDashboardDumpGenerate the report files for GraalVM Dashboard.booleanenableFallbackImagesIf a JVM based 'fallback image' should be created if native image fails.booleanenableHttpsUrlHandlerIf the HTTPS url handler should be enabled, allowing you to do URL.openConnection() for HTTPS URLsbooleanenableHttpUrlHandlerIf the HTTP url handler should be enabled, allowing you to do URL.openConnection() for HTTP URLsbooleanenableIsolatesIf isolates should be enabledbooleanenableJniDeprecated.JNI is always enabled starting from GraalVM 19.3.1.booleanenableReportsIf the reports on call paths and included packages/classes/methods should be generatedbooleanenableServerDeprecated.This used to be the default prior to GraalVM 20.2.0 and this configuration item was used to disable it as it was not stable.booleanenableVmInspectionIf the resulting image should allow VM introspectionStringfileEncodingDefines the file encoding as in -Dfile.encoding=...booleanfullStackTracesIf full stack traces are enabled in the resulting imageOptional<String>graalvmHomeThe location of the Graal distributionbooleaninlineBeforeAnalysisIf-H:+InlineBeforeAnalysisflag will be added to the native-image runFilejavaHomeThe location of the JDKOptional<String>nativeImageXmxThe maximum Java heap to be used during the native image generationbooleanpublishDebugBuildProcessPortIf the debug port should be published when building with docker and debug-build-process is truebooleanremoteContainerBuildIf this build is done using a remote docker daemon.booleanreportErrorsAtRuntimeIf errors should be reported at runtime.booleanreportExceptionStackTracesIf exceptions should be reported with a full stack traceNativeConfig.ResourcesConfigresourcesBuild time configuration options for resources inclusion in the native executable.Optional<String>userCountryDefines the user country used for building the native executable.Optional<String>userLanguageDefines the user language used for building the native executable.
-
Constructor Summary
Constructors Constructor Description NativeConfig()
-
-
-
Field Detail
-
additionalBuildArgs
@ConfigItem public Optional<List<String>> additionalBuildArgs
Additional arguments to pass to the build process
-
enableHttpUrlHandler
@ConfigItem(defaultValue="true") public boolean enableHttpUrlHandler
If the HTTP url handler should be enabled, allowing you to do URL.openConnection() for HTTP URLs
-
enableHttpsUrlHandler
@ConfigItem public boolean enableHttpsUrlHandler
If the HTTPS url handler should be enabled, allowing you to do URL.openConnection() for HTTPS URLs
-
enableAllSecurityServices
@ConfigItem public boolean enableAllSecurityServices
If all security services should be added to the native image
-
inlineBeforeAnalysis
@ConfigItem public boolean inlineBeforeAnalysis
If-H:+InlineBeforeAnalysisflag will be added to the native-image run
-
enableJni
@Deprecated @ConfigItem(defaultValue="true") public boolean enableJni
Deprecated.JNI is always enabled starting from GraalVM 19.3.1.
-
userLanguage
@ConfigItem(defaultValue="${user.language:}") @ConvertWith(io.quarkus.runtime.configuration.TrimmedStringConverter.class) public Optional<String> userLanguage
Defines the user language used for building the native executable.Defaults to the system one.
-
userCountry
@ConfigItem(defaultValue="${user.country:}") @ConvertWith(io.quarkus.runtime.configuration.TrimmedStringConverter.class) public Optional<String> userCountry
Defines the user country used for building the native executable.Defaults to the system one.
-
fileEncoding
@ConfigItem(defaultValue="UTF-8") @ConvertWith(io.quarkus.runtime.configuration.TrimmedStringConverter.class) public String fileEncoding
Defines the file encoding as in -Dfile.encoding=... Native image runtime uses the host's (i.e. build time) value of file.encoding system property. We intentionally default this to UTF-8 to avoid platform specific defaults to be picked up which can then result in inconsistent behavior in the generated native executable.
-
addAllCharsets
@ConfigItem public boolean addAllCharsets
If all character sets should be added to the native image. This increases image size
-
graalvmHome
@ConfigItem(defaultValue="${GRAALVM_HOME:}") public Optional<String> graalvmHome
The location of the Graal distribution
-
javaHome
@ConfigItem(defaultValue="${java.home}") public File javaHome
The location of the JDK
-
nativeImageXmx
@ConfigItem public Optional<String> nativeImageXmx
The maximum Java heap to be used during the native image generation
-
debugBuildProcess
@ConfigItem public boolean debugBuildProcess
If the native image build should wait for a debugger to be attached before running. This is an advanced option and is generally only intended for those familiar with GraalVM internals
-
publishDebugBuildProcessPort
@ConfigItem(defaultValue="true") public boolean publishDebugBuildProcessPort
If the debug port should be published when building with docker and debug-build-process is true
-
cleanupServer
@Deprecated @ConfigItem public boolean cleanupServer
Deprecated.Since GraalVM 20.2.0 the native image server has become an experimental feature and is disabled by default.If the native image server should be restarted.
-
enableIsolates
@ConfigItem(defaultValue="true") public boolean enableIsolates
If isolates should be enabled
-
enableFallbackImages
@ConfigItem public boolean enableFallbackImages
If a JVM based 'fallback image' should be created if native image fails. This is not recommended, as this is functionally the same as just running the application in a JVM
-
enableServer
@Deprecated @ConfigItem public boolean enableServer
Deprecated.This used to be the default prior to GraalVM 20.2.0 and this configuration item was used to disable it as it was not stable. Since GraalVM 20.2.0 the native image server has become an experimental feature.If the native image server should be used. This can speed up compilation but can result in changes not always being picked up due to cache invalidation not working 100%
-
autoServiceLoaderRegistration
@ConfigItem public boolean autoServiceLoaderRegistration
If all META-INF/services entries should be automatically registered
-
dumpProxies
@ConfigItem public boolean dumpProxies
If the bytecode of all proxies should be dumped for inspection
-
containerBuild
@ConfigItem public boolean containerBuild
If this build should be done using a container runtime. If this is set docker will be used by default, unless container-runtime is also set.
-
remoteContainerBuild
@ConfigItem public boolean remoteContainerBuild
If this build is done using a remote docker daemon.
-
builderImage
@ConfigItem(defaultValue="${platform.quarkus.native.builder-image}") public String builderImage
The docker image to use to do the image build
-
containerRuntime
@ConfigItem public Optional<NativeConfig.ContainerRuntime> containerRuntime
The container runtime (e.g. docker) that is used to do an image based build. If this is set then a container build is always done.
-
containerRuntimeOptions
@ConfigItem public Optional<List<String>> containerRuntimeOptions
Options to pass to the container runtime
-
enableVmInspection
@ConfigItem public boolean enableVmInspection
If the resulting image should allow VM introspection
-
fullStackTraces
@ConfigItem(defaultValue="true") public boolean fullStackTraces
If full stack traces are enabled in the resulting image
-
enableReports
@ConfigItem public boolean enableReports
If the reports on call paths and included packages/classes/methods should be generated
-
reportExceptionStackTraces
@ConfigItem(defaultValue="true") public boolean reportExceptionStackTraces
If exceptions should be reported with a full stack trace
-
reportErrorsAtRuntime
@ConfigItem public boolean reportErrorsAtRuntime
If errors should be reported at runtime. This is a more relaxed setting, however it is not recommended as it means your application may fail at runtime if an unsupported feature is used by accident.
-
resources
@ConfigItem public NativeConfig.ResourcesConfig resources
Build time configuration options for resources inclusion in the native executable.
-
debug
@ConfigItem public NativeConfig.Debug debug
Debugging options.
-
enableDashboardDump
@ConfigItem public boolean enableDashboardDump
Generate the report files for GraalVM Dashboard.
-
-