Package io.quarkus.deployment.pkg.steps
Class JarResultBuildStep
java.lang.Object
io.quarkus.deployment.pkg.steps.JarResultBuildStep
This build step builds both the thin jars and uber jars.
The way this is built is a bit convoluted. In general, we only want a single one built,
as determined by the
PackageConfig
(unless the config explicitly asks for both of them)
However, we still need an extension to be able to ask for a specific one of these despite the config,
e.g. if a serverless environment needs an uberjar to build its deployment package then we need
to be able to provide this.
To enable this we have two build steps that strongly produce the respective artifact type build
items, but not a ArtifactResultBuildItem
. We then
have another two build steps that only run if they are configured to consume these explicit
build items and transform them into ArtifactResultBuildItem
.-
Nested Class Summary
Modifier and TypeClassDescription(package private) static class
(package private) static class
-
Field Summary
Modifier and TypeFieldDescriptionstatic final String
static final String
static final String
static final String
static final String
static final String
static final String
static final String
static final String
static final String
static final String
static final String
static final String
static final String
static final String
-
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescriptionbuildNativeImageJar
(CurateOutcomeBuildItem curateOutcomeBuildItem, OutputTargetBuildItem outputTargetBuildItem, TransformedClassesBuildItem transformedClasses, ApplicationArchivesBuildItem applicationArchivesBuildItem, ApplicationInfoBuildItem applicationInfo, PackageConfig packageConfig, List<GeneratedClassBuildItem> generatedClasses, List<GeneratedNativeImageClassBuildItem> nativeImageResources, List<GeneratedResourceBuildItem> generatedResources, MainClassBuildItem mainClassBuildItem, ClassLoadingConfig classLoadingConfig) Native images are built from a specially created jar file.buildRunnerJar
(CurateOutcomeBuildItem curateOutcomeBuildItem, OutputTargetBuildItem outputTargetBuildItem, TransformedClassesBuildItem transformedClasses, ApplicationArchivesBuildItem applicationArchivesBuildItem, ApplicationInfoBuildItem applicationInfo, PackageConfig packageConfig, ClassLoadingConfig classLoadingConfig, List<GeneratedClassBuildItem> generatedClasses, List<GeneratedResourceBuildItem> generatedResources, List<UberJarRequiredBuildItem> uberJarRequired, List<UberJarMergedResourceBuildItem> uberJarMergedResourceBuildItems, List<UberJarIgnoredResourceBuildItem> uberJarIgnoredResourceBuildItems, List<LegacyJarRequiredBuildItem> legacyJarRequired, QuarkusBuildCloseablesBuildItem closeablesBuildItem, List<AdditionalApplicationArchiveBuildItem> additionalApplicationArchiveBuildItems, MainClassBuildItem mainClassBuildItem, Optional<AppCDSRequestedBuildItem> appCDS) (package private) static boolean
(package private) ArtifactResultBuildItem
jarOutput
(JarBuildItem jarBuildItem) (package private) OutputTargetBuildItem
outputTarget
(BuildSystemTargetBuildItem bst, PackageConfig packageConfig)
-
Field Details
-
DEPLOYMENT_CLASS_PATH_DAT
- See Also:
-
BUILD_SYSTEM_PROPERTIES
- See Also:
-
DEPLOYMENT_LIB
- See Also:
-
APPMODEL_DAT
- See Also:
-
QUARKUS_RUN_JAR
- See Also:
-
QUARKUS_APP_DEPS
- See Also:
-
BOOT_LIB
- See Also:
-
LIB
- See Also:
-
MAIN
- See Also:
-
GENERATED_BYTECODE_JAR
- See Also:
-
TRANSFORMED_BYTECODE_JAR
- See Also:
-
APP
- See Also:
-
QUARKUS
- See Also:
-
DEFAULT_FAST_JAR_DIRECTORY_NAME
- See Also:
-
MP_CONFIG_FILE
- See Also:
-
-
Constructor Details
-
JarResultBuildStep
public JarResultBuildStep()
-
-
Method Details
-
outputTarget
-
jarOutput
-
buildRunnerJar
public JarBuildItem buildRunnerJar(CurateOutcomeBuildItem curateOutcomeBuildItem, OutputTargetBuildItem outputTargetBuildItem, TransformedClassesBuildItem transformedClasses, ApplicationArchivesBuildItem applicationArchivesBuildItem, ApplicationInfoBuildItem applicationInfo, PackageConfig packageConfig, ClassLoadingConfig classLoadingConfig, List<GeneratedClassBuildItem> generatedClasses, List<GeneratedResourceBuildItem> generatedResources, List<UberJarRequiredBuildItem> uberJarRequired, List<UberJarMergedResourceBuildItem> uberJarMergedResourceBuildItems, List<UberJarIgnoredResourceBuildItem> uberJarIgnoredResourceBuildItems, List<LegacyJarRequiredBuildItem> legacyJarRequired, QuarkusBuildCloseablesBuildItem closeablesBuildItem, List<AdditionalApplicationArchiveBuildItem> additionalApplicationArchiveBuildItems, MainClassBuildItem mainClassBuildItem, Optional<AppCDSRequestedBuildItem> appCDS) throws Exception - Throws:
Exception
-
buildNativeImageJar
public NativeImageSourceJarBuildItem buildNativeImageJar(CurateOutcomeBuildItem curateOutcomeBuildItem, OutputTargetBuildItem outputTargetBuildItem, TransformedClassesBuildItem transformedClasses, ApplicationArchivesBuildItem applicationArchivesBuildItem, ApplicationInfoBuildItem applicationInfo, PackageConfig packageConfig, List<GeneratedClassBuildItem> generatedClasses, List<GeneratedNativeImageClassBuildItem> nativeImageResources, List<GeneratedResourceBuildItem> generatedResources, MainClassBuildItem mainClassBuildItem, ClassLoadingConfig classLoadingConfig) throws Exception Native images are built from a specially created jar file. This allows for changes in how the jar file is generated.- Throws:
Exception
-
isBlockOrSF
-