Skip to content

Commit 8e95583

Browse files
authored
Merge pull request #50502 from galderz/topic.pass-native-args
Pass on container build arguments to Maven projects as arguments
2 parents 99296fe + edb40e2 commit 8e95583

File tree

3 files changed

+30
-4
lines changed

3 files changed

+30
-4
lines changed

integration-tests/maven/src/test/java/io/quarkus/maven/it/NativeAgentIT.java

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,8 @@ public void testRunIntegrationTests() throws MavenInvocationException, IOExcepti
2727
assertThat(runJvmITsWithAgent.getProcess().waitFor()).isZero();
2828

2929
MavenProcessInvocationResult runNativeITs = running
30-
.execute(List.of("verify", "-Dnative", "-Dquarkus.native.agent-configuration-apply"), Map.of());
30+
.execute(TestUtils.nativeArguments("verify", "-Dnative", "-Dquarkus.native.agent-configuration-apply"),
31+
Map.of());
3132
assertThat(runNativeITs.getProcess().waitFor()).isZero();
3233
}
33-
}
34+
}

integration-tests/maven/src/test/java/io/quarkus/maven/it/NativeImageIT.java

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -38,8 +38,9 @@ public void testJavaLibraryPathAtRuntime() throws Exception {
3838
final RunningInvoker running = new RunningInvoker(testDir, false);
3939

4040
// trigger mvn package -Dnative -Dquarkus.ssl.native=true
41-
final String[] mvnArgs = new String[] { "package", "-DskipTests", "-Dnative", "-Dquarkus.ssl.native=true" };
42-
final MavenProcessInvocationResult result = running.execute(Arrays.asList(mvnArgs), Collections.emptyMap());
41+
final List<String> mvnArgs = TestUtils.nativeArguments("package", "-DskipTests", "-Dnative",
42+
"-Dquarkus.ssl.native=true");
43+
final MavenProcessInvocationResult result = running.execute(mvnArgs, Collections.emptyMap());
4344
await().atMost(10, TimeUnit.MINUTES).until(() -> result.getProcess() != null && !result.getProcess().isAlive());
4445
final String processLog = running.log();
4546
try {

integration-tests/maven/src/test/java/io/quarkus/maven/it/TestUtils.java

Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,9 @@
11
package io.quarkus.maven.it;
22

3+
import java.util.ArrayList;
4+
import java.util.Arrays;
5+
import java.util.List;
6+
37
import io.smallrye.common.os.OS;
48

59
final class TestUtils {
@@ -12,4 +16,24 @@ private TestUtils() {
1216
static long getDefaultTimeout() {
1317
return DEFAULT_TIMEOUT;
1418
}
19+
20+
static List<String> nativeArguments(String... initialArguments) {
21+
final List<String> result = new ArrayList<>(Arrays.asList(initialArguments));
22+
appendArgumentIfSet("quarkus.native.container-build", result);
23+
appendArgumentIfSet("quarkus.native.builder-image", result);
24+
appendArgumentIfSet("quarkus.native.container-runtime", result);
25+
appendArgumentIfSet("quarkus.native.container-runtime-options", result);
26+
return result;
27+
}
28+
29+
private static void appendArgumentIfSet(String property, List<String> result) {
30+
final String value = System.getProperty(property);
31+
if (value != null) {
32+
if (value.isEmpty()) {
33+
result.add("-D" + property);
34+
} else {
35+
result.add(String.format("-D%s=%s", property, value));
36+
}
37+
}
38+
}
1539
}

0 commit comments

Comments
 (0)