From 21f2206d8641e24799c1a166a9b64918ae97fb05 Mon Sep 17 00:00:00 2001 From: Dylan Schell Date: Mon, 14 May 2018 10:43:17 +0200 Subject: [PATCH] * Add arbitrary build param support --- .../com/spotify/plugin/dockerfile/BuildMojo.java | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/plugin/src/main/java/com/spotify/plugin/dockerfile/BuildMojo.java b/plugin/src/main/java/com/spotify/plugin/dockerfile/BuildMojo.java index a9e319e2..bf02a16a 100644 --- a/plugin/src/main/java/com/spotify/plugin/dockerfile/BuildMojo.java +++ b/plugin/src/main/java/com/spotify/plugin/dockerfile/BuildMojo.java @@ -92,6 +92,9 @@ public class BuildMojo extends AbstractDockerMojo { @Parameter(property = "dockerfile.buildArgs") private Map buildArgs; + @Parameter(property = "dockerfile.buildParams") + private Map buildParams; + @Override public void execute(DockerClient dockerClient) throws MojoExecutionException, MojoFailureException { @@ -104,7 +107,7 @@ public void execute(DockerClient dockerClient) final String imageId = buildImage( dockerClient, log, verbose, contextDirectory, repository, tag, pullNewerImage, noCache, - buildArgs); + buildParams, buildArgs); if (imageId == null) { log.warn("Docker build was successful, but no image was built"); @@ -136,6 +139,7 @@ static String buildImage(@Nonnull DockerClient dockerClient, @Nonnull String tag, boolean pullNewerImage, boolean noCache, + @Nullable Map buildParams, @Nullable Map buildArgs) throws MojoExecutionException, MojoFailureException { @@ -156,7 +160,11 @@ static String buildImage(@Nonnull DockerClient dockerClient, if (noCache) { buildParameters.add(DockerClient.BuildParam.noCache()); } - + if (buildParams != null) { + for (Map.Entry e: buildParams.entrySet()) { + buildParameters.add(DockerClient.BuildParam.create(e.getKey(),e.getValue())); + } + } if (buildArgs != null && !buildArgs.isEmpty()) { try { final String encodedBuildArgs = URLEncoder.encode(new Gson().toJson(buildArgs), "utf-8");