Skip to content

Commit 719c89f

Browse files
committed
[GR-62597] Fall back to non-containerized bundle build for --static.
PullRequest: graal/20175
2 parents 59d0ce3 + 78618f2 commit 719c89f

File tree

3 files changed

+6
-60
lines changed

3 files changed

+6
-60
lines changed

substratevm/src/com.oracle.svm.driver/resources/container-default/Dockerfile_muslib_extension

Lines changed: 0 additions & 53 deletions
This file was deleted.

substratevm/src/com.oracle.svm.driver/src/com/oracle/svm/driver/BundleSupport.java

Lines changed: 1 addition & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -99,7 +99,7 @@ final class BundleSupport {
9999
private static final int BUNDLE_FILE_FORMAT_VERSION_MAJOR = 0;
100100
private static final int BUNDLE_FILE_FORMAT_VERSION_MINOR = 9;
101101

102-
private static final String BUNDLE_INFO_MESSAGE_PREFIX = "Native Image Bundles: ";
102+
static final String BUNDLE_INFO_MESSAGE_PREFIX = "Native Image Bundles: ";
103103
private static final String BUNDLE_TEMP_DIR_PREFIX = "bundleRoot-";
104104
private static final String ORIGINAL_DIR_EXTENSION = ".orig";
105105

@@ -118,7 +118,6 @@ final class BundleSupport {
118118
boolean useContainer;
119119

120120
private static final String DEFAULT_DOCKERFILE = getDockerfile("Dockerfile");
121-
private static final String DEFAULT_DOCKERFILE_MUSLIB = getDockerfile("Dockerfile_muslib_extension");
122121

123122
private static String getDockerfile(String name) {
124123
return NativeImage.getResource("/container-default/" + name);
@@ -212,9 +211,6 @@ static BundleSupport create(NativeImage nativeImage, String bundleArg, NativeIma
212211
void createDockerfile(Path dockerfile) {
213212
nativeImage.showVerboseMessage(nativeImage.isVerbose(), BUNDLE_INFO_MESSAGE_PREFIX + "Creating default Dockerfile for native-image bundle.");
214213
String dockerfileText = DEFAULT_DOCKERFILE;
215-
if (nativeImage.staticExecutable && "musl".equals(nativeImage.targetLibC)) {
216-
dockerfileText += System.lineSeparator() + DEFAULT_DOCKERFILE_MUSLIB;
217-
}
218214
try {
219215
Files.writeString(dockerfile, dockerfileText);
220216
dockerfile.toFile().deleteOnExit();

substratevm/src/com.oracle.svm.driver/src/com/oracle/svm/driver/NativeImage.java

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1267,7 +1267,11 @@ private int completeImageBuild() {
12671267
Optional<ArgumentEntry> lastMainClass = getHostedOptionArgument(imageBuilderArgs, oHClass);
12681268
mainClass = lastMainClass.map(ArgumentEntry::value).orElse(null);
12691269
buildExecutable = imageBuilderArgs.stream().noneMatch(arg -> arg.startsWith(oHEnableSharedLibraryFlagPrefix) || arg.startsWith(oHEnableImageLayerFlagPrefix));
1270-
staticExecutable = imageBuilderArgs.stream().anyMatch(arg -> arg.contains(oHEnableStaticExecutable));
1270+
boolean staticExecutable = imageBuilderArgs.stream().anyMatch(arg -> arg.contains(oHEnableStaticExecutable));
1271+
if (useBundle() && bundleSupport.useContainer && staticExecutable) {
1272+
showMessage(BundleSupport.BUNDLE_INFO_MESSAGE_PREFIX + "Skipping containerized build, not supported for --static.");
1273+
bundleSupport.useContainer = false;
1274+
}
12711275
boolean listModules = imageBuilderArgs.stream().anyMatch(arg -> arg.contains(oH + "+" + "ListModules"));
12721276
printFlags |= imageBuilderArgs.stream().anyMatch(arg -> arg.matches("-H:MicroArchitecture(@[^=]*)?=list"));
12731277

@@ -1579,7 +1583,6 @@ private void addTargetArguments() {
15791583
}
15801584

15811585
boolean buildExecutable;
1582-
boolean staticExecutable;
15831586
String targetLibC;
15841587
String mainClass;
15851588
String mainClassModule;

0 commit comments

Comments
 (0)