Package io.quarkus.deployment.pkg.steps
Class NativeImageBuildRunner
java.lang.Object
io.quarkus.deployment.pkg.steps.NativeImageBuildRunner
- Direct Known Subclasses:
NativeImageBuildContainerRunner
,NativeImageBuildLocalRunner
,NativeImageBuildRunnerError
,NoopNativeImageBuildRunner
-
Nested Class Summary
-
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescriptionvoid
addShutdownHook
(Process buildNativeProcess) build
(List<String> args, String nativeImageName, String resultingExecutableName, Path outputDir, GraalVM.Version graalVMVersion, boolean debugSymbolsEnabled, boolean processInheritIODisabled) protected abstract String[]
getBuildCommand
(Path outputDir, List<String> args) protected abstract String[]
getGraalVMVersionCommand
(List<String> args) abstract boolean
protected abstract void
protected boolean
protected void
protected void
(package private) static void
runCommand
(String[] command, String errorMsg, File workingDirectory) Runcommand
inworkingDirectory
and log error iferrorMsg
is not null.void
setup
(boolean processInheritIODisabled)
-
Constructor Details
-
NativeImageBuildRunner
public NativeImageBuildRunner()
-
-
Method Details
-
getGraalVMVersion
-
isContainer
public abstract boolean isContainer() -
setup
public void setup(boolean processInheritIODisabled) -
addShutdownHook
-
build
public NativeImageBuildRunner.Result build(List<String> args, String nativeImageName, String resultingExecutableName, Path outputDir, GraalVM.Version graalVMVersion, boolean debugSymbolsEnabled, boolean processInheritIODisabled) throws InterruptedException, IOException - Throws:
InterruptedException
IOException
-
getGraalVMVersionCommand
-
getBuildCommand
-
objcopyExists
protected boolean objcopyExists() -
objcopy
-
preBuild
protected void preBuild(Path outputDir, List<String> buildArgs) throws IOException, InterruptedException - Throws:
IOException
InterruptedException
-
postBuild
protected void postBuild(Path outputDir, String nativeImageName, String resultingExecutableName) throws InterruptedException, IOException - Throws:
InterruptedException
IOException
-
runCommand
Runcommand
inworkingDirectory
and log error iferrorMsg
is not null.- Parameters:
command
- The command to runerrorMsg
- The error message to be printed in case of failure. Ifnull
the failure is ignored, but logged.workingDirectory
- The directory in which to run the command
-