Skip to content

Commit cdfcfa2

Browse files
committed
Unit test code
1 parent 2798688 commit cdfcfa2

File tree

2 files changed

+43
-7
lines changed

2 files changed

+43
-7
lines changed

native-maven-plugin/src/main/java/org/graalvm/buildtools/maven/AbstractNativeImageMojo.java

Lines changed: 13 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -242,13 +242,7 @@ protected List<String> getBuildArgs() throws MojoExecutionException {
242242
}
243243

244244
if (buildArgs != null && !buildArgs.isEmpty()) {
245-
for (String buildArg : buildArgs) {
246-
if(buildArg.startsWith("\\Q") || buildArg.startsWith("-H")) {
247-
cliArgs.add(buildArg);
248-
continue;
249-
}
250-
cliArgs.addAll(Arrays.asList(buildArg.split("\\s+", 2)));
251-
}
245+
cliArgs.addAll(processBuildArgs(buildArgs));
252246
}
253247

254248
List<String> actualCliArgs;
@@ -266,6 +260,18 @@ protected List<String> getBuildArgs() throws MojoExecutionException {
266260
return Collections.unmodifiableList(actualCliArgs);
267261
}
268262

263+
static List<String> processBuildArgs(List<String> buildArgs) {
264+
var result = new ArrayList<String>();
265+
for (String buildArg : buildArgs) {
266+
if(buildArg.startsWith("\\Q") || buildArg.startsWith("-H:ConfigurationFileDirectories")) {
267+
result.add(buildArg);
268+
} else {
269+
result.addAll(Arrays.asList(buildArg.split("\\s+", 2)));
270+
}
271+
}
272+
return result;
273+
}
274+
269275
protected Path processSupportedArtifacts(Artifact artifact) throws MojoExecutionException {
270276
return processArtifact(artifact, "jar", "test-jar", "war");
271277
}
Lines changed: 30 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,30 @@
1+
package org.graalvm.buildtools.maven
2+
3+
import spock.lang.Specification
4+
5+
class AbstractNativeImageMojoTest extends Specification {
6+
7+
void "it can process build args"() {
8+
given:
9+
def buildArgs = [
10+
"--exclude-config",
11+
"\\QC:\\Users\\Lahoucine EL ADDALI\\.m2\\repository\\io\\netty\\netty-transport\\4.1.108.Final\\netty-transport-4.1.108.Final.jar\\E",
12+
"^/META-INF/native-image/",
13+
"-cp C:\\Users\\Lahoucine EL ADDALI\\Desktop\\outdir\\target/java-application-with-custom-packaging-0.1.jar",
14+
"-H:ConfigurationFileDirectories=C:\\Users\\Lahoucine EL ADDALI\\Downloads\\4.5.0.0_kubernetes_kubernetes-demo-java-maven\\api\\target\\native\\generated\\generateResourceConfig"
15+
]
16+
17+
when:
18+
def processedArgs = AbstractNativeImageMojo.processBuildArgs(buildArgs)
19+
20+
then:
21+
processedArgs == [
22+
"--exclude-config",
23+
"\\QC:\\Users\\Lahoucine EL ADDALI\\.m2\\repository\\io\\netty\\netty-transport\\4.1.108.Final\\netty-transport-4.1.108.Final.jar\\E",
24+
"^/META-INF/native-image/",
25+
"-cp",
26+
"C:\\Users\\Lahoucine EL ADDALI\\Desktop\\outdir\\target/java-application-with-custom-packaging-0.1.jar",
27+
"-H:ConfigurationFileDirectories=C:\\Users\\Lahoucine EL ADDALI\\Downloads\\4.5.0.0_kubernetes_kubernetes-demo-java-maven\\api\\target\\native\\generated\\generateResourceConfig"
28+
]
29+
}
30+
}

0 commit comments

Comments
 (0)