From 8c4942c682e84541a7a00b730dc1c19a64eae74c Mon Sep 17 00:00:00 2001 From: Michal Augustyn Date: Fri, 3 Aug 2018 16:48:46 +0200 Subject: [PATCH] build arguments for custom Dockerfile --- README.md | 1 + .../groovy/cz/augi/gradle/dockerjava/DistDockerTask.groovy | 3 +++ .../cz/augi/gradle/dockerjava/DockerJavaExtension.groovy | 1 + 3 files changed, 5 insertions(+) diff --git a/README.md b/README.md index 14d969a..66ba081 100644 --- a/README.md +++ b/README.md @@ -36,6 +36,7 @@ Only `image` parameter is mandatory - it's name of the resulting image. arguments = ['--server'] // arguments to be passed to your application; default: empty dockerBuildDirectory = project.file('my-directory') // directory where Dockerfile is created; default: "$buildDir/dockerJava" customDockerfile = file('Dockerfile') // path to a custom Dockerfile - then all of the previous options (except image and alternativeImages) are ignored; default: null + buildArgs = ['version=1.2.3'] // build arguments to be send to 'docker build' command when using custom Dockerfile; default: empty // username and password are used if the Docker Registry requires credentials for pushing username = 'registry-username' password = System.getenv('DOCKER_REGISTRY_PASSWORD') diff --git a/src/main/groovy/cz/augi/gradle/dockerjava/DistDockerTask.groovy b/src/main/groovy/cz/augi/gradle/dockerjava/DistDockerTask.groovy index 83b9c5b..79de8cb 100644 --- a/src/main/groovy/cz/augi/gradle/dockerjava/DistDockerTask.groovy +++ b/src/main/groovy/cz/augi/gradle/dockerjava/DistDockerTask.groovy @@ -154,6 +154,7 @@ class DistDockerTask extends DefaultTask { def args = ['build', '-t', settings.image] settings.alternativeImages.each { args.addAll(['-t', it]) } args.addAll(['--file', settings.customDockerfile.name]) + settings.buildArgs.each { args.addAll(['--build-arg', it]) } args.add(settings.customDockerfile.parentFile.absolutePath) dockerExecutor.execute(*args) } else { @@ -199,4 +200,6 @@ interface DistDockerSettings { File getDockerBuildDirectory() @Input @Optional File getCustomDockerfile() + @Input @Optional + String[] getBuildArgs() } diff --git a/src/main/groovy/cz/augi/gradle/dockerjava/DockerJavaExtension.groovy b/src/main/groovy/cz/augi/gradle/dockerjava/DockerJavaExtension.groovy index 8d2ccde..85bcba7 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 { String[] arguments = [] File dockerBuildDirectory File customDockerfile + String[] buildArgs = [] String username String password