From 53e92e1f1c9b6b7318d74db66c52893ff625df07 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Michal=20August=C3=BDn?= Date: Sat, 19 Dec 2020 20:29:17 +0100 Subject: [PATCH] feat: dockerBuildArgs added --- README.md | 1 + .../groovy/cz/augi/gradle/dockerjava/DistDockerTask.groovy | 4 ++++ .../cz/augi/gradle/dockerjava/DockerJavaExtension.groovy | 1 + 3 files changed, 6 insertions(+) diff --git a/README.md b/README.md index 558a3fd..3c34941 100644 --- a/README.md +++ b/README.md @@ -37,6 +37,7 @@ Only `image` parameter is mandatory - it's name of the resulting image. dockerfileLines = ['RUN apt-get ...'] // additional lines to include to Dockerfile; default: empty arguments = ['--server'] // arguments to be passed to your application; default: empty dockerBuildDirectory = project.file('my-directory') // directory where Dockerfile is created; default: "$buildDir/dockerJava" + dockerBuildArgs = ['--isolation=hyperv'] // additional arguments to be send to 'docker build' command customDockerfile = file('Dockerfile') // path to a custom Dockerfile - then all of the previous options (except image and alternativeImages) are ignored; default: null filesToCopy = [project.file('my-file-txt')] // list of files to copy to the Docker working directory (so these file can be copied to the image using COPY or ADD directives) buildArgs = ['version=1.2.3'] // build arguments to be send to 'docker build' command when using custom Dockerfile; default: empty diff --git a/src/main/groovy/cz/augi/gradle/dockerjava/DistDockerTask.groovy b/src/main/groovy/cz/augi/gradle/dockerjava/DistDockerTask.groovy index 4b7442d..4ba374b 100644 --- a/src/main/groovy/cz/augi/gradle/dockerjava/DistDockerTask.groovy +++ b/src/main/groovy/cz/augi/gradle/dockerjava/DistDockerTask.groovy @@ -157,6 +157,7 @@ class DistDockerTask extends DefaultTask { settings.alternativeImages.each { args.addAll(['-t', it]) } args.addAll(['--file', settings.customDockerfile.name]) settings.buildArgs.each { args.addAll(['--build-arg', it]) } + args.addAll(settings.dockerBuildArgs) args.add(workDir.toFile().absolutePath) dockerExecutor.execute(*args) } else { @@ -175,6 +176,7 @@ class DistDockerTask extends DefaultTask { createDockerfile(workDir.toFile(), tarRootDirectory, applicationJarFilename, startScripts) def args = ['build', '-t', settings.image] settings.alternativeImages.each { args.addAll(['-t', it]) } + args.addAll(settings.dockerBuildArgs) args.add(workDir.toFile().absolutePath) dockerExecutor.execute(*args) } @@ -202,6 +204,8 @@ interface DistDockerSettings { String[] getDockerfileLines() @Input @Optional String[] getArguments() + @Input @Optional + String[] getDockerBuildArgs() @InputDirectory @Optional File getDockerBuildDirectory() @Input @Optional diff --git a/src/main/groovy/cz/augi/gradle/dockerjava/DockerJavaExtension.groovy b/src/main/groovy/cz/augi/gradle/dockerjava/DockerJavaExtension.groovy index ea68087..1792060 100644 --- a/src/main/groovy/cz/augi/gradle/dockerjava/DockerJavaExtension.groovy +++ b/src/main/groovy/cz/augi/gradle/dockerjava/DockerJavaExtension.groovy @@ -26,6 +26,7 @@ class DockerJavaExtension implements DistDockerSettings, DockerPushSettings { Map labels = [:] String[] dockerfileLines = [] String[] arguments = [] + String[] dockerBuildArgs = [] File dockerBuildDirectory File[] filesToCopy = [] File customDockerfile