Skip to content

Commit 78618f2

Browse files
committed
Fall back to non-containerized bundle build for --static
1 parent 43e6192 commit 78618f2

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
@@ -1266,7 +1266,11 @@ private int completeImageBuild() {
12661266
Optional<ArgumentEntry> lastMainClass = getHostedOptionArgument(imageBuilderArgs, oHClass);
12671267
mainClass = lastMainClass.map(ArgumentEntry::value).orElse(null);
12681268
buildExecutable = imageBuilderArgs.stream().noneMatch(arg -> arg.startsWith(oHEnableSharedLibraryFlagPrefix) || arg.startsWith(oHEnableImageLayerFlagPrefix));
1269-
staticExecutable = imageBuilderArgs.stream().anyMatch(arg -> arg.contains(oHEnableStaticExecutable));
1269+
boolean staticExecutable = imageBuilderArgs.stream().anyMatch(arg -> arg.contains(oHEnableStaticExecutable));
1270+
if (useBundle() && bundleSupport.useContainer && staticExecutable) {
1271+
showMessage(BundleSupport.BUNDLE_INFO_MESSAGE_PREFIX + "Skipping containerized build, not supported for --static.");
1272+
bundleSupport.useContainer = false;
1273+
}
12701274
boolean listModules = imageBuilderArgs.stream().anyMatch(arg -> arg.contains(oH + "+" + "ListModules"));
12711275
printFlags |= imageBuilderArgs.stream().anyMatch(arg -> arg.matches("-H:MicroArchitecture(@[^=]*)?=list"));
12721276

@@ -1578,7 +1582,6 @@ private void addTargetArguments() {
15781582
}
15791583

15801584
boolean buildExecutable;
1581-
boolean staticExecutable;
15821585
String targetLibC;
15831586
String mainClass;
15841587
String mainClassModule;

0 commit comments

Comments
 (0)