[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[nongnu] elpa/dockerfile-mode fdebd1eda5 044/104: Pass --build-args to d
From: |
ELPA Syncer |
Subject: |
[nongnu] elpa/dockerfile-mode fdebd1eda5 044/104: Pass --build-args to docker build |
Date: |
Sat, 29 Jan 2022 07:58:31 -0500 (EST) |
branch: elpa/dockerfile-mode
commit fdebd1eda55af758354b893fc75a615303523919
Author: Robin Campbell Joy <rcj@robinjoy.net>
Commit: Robin Campbell Joy <rcj@robinjoy.net>
Pass --build-args to docker build
Docker allows to set build-time variables by passing them with
"--build-arg" to "docker build". This is useful when building images
behind a firewall in order to pass proxy settings without specifying
them explicitly in the Dockerfile.
---
dockerfile-mode.el | 17 +++++++++++++++--
1 file changed, 15 insertions(+), 2 deletions(-)
diff --git a/dockerfile-mode.el b/dockerfile-mode.el
index b14eae99b8..bbdae27737 100644
--- a/dockerfile-mode.el
+++ b/dockerfile-mode.el
@@ -35,6 +35,14 @@
(defcustom dockerfile-use-sudo nil
"Runs docker builder command with sudo.")
+(defcustom dockerfile-build-args nil
+ "List of --build-arg to pass to docker build.
+
+Each element of the list will be passed as a separate
+ --build-arg to the docker build command."
+ :type '(repeat string)
+ :group 'dockerfile)
+
(defvar dockerfile-font-lock-keywords
`(,(cons (rx (or line-start "onbuild ")
(group (or "from" "maintainer" "run" "cmd" "expose" "env" "arg"
@@ -80,6 +88,11 @@
(unless dockerfile-mode-abbrev-table
(define-abbrev-table 'dockerfile-mode-abbrev-table ()))
+(defun dockerfile-build-arg-string ()
+ "Create a --build-arg string for each element in `dockerfile-build-args'."
+ (mapconcat (lambda (arg) (concat "--build-arg " "\"" arg "\""))
+ dockerfile-build-args " "))
+
;;;###autoload
(defun dockerfile-build-buffer (image-name)
"Build an image based upon the buffer"
@@ -90,7 +103,7 @@
(save-buffer)
(if (stringp image-name)
(async-shell-command
- (format "%sdocker build -t %s -f \"%s\" \"%s\"" (if dockerfile-use-sudo
"sudo " "") image-name (buffer-file-name) (file-name-directory
(buffer-file-name)))
+ (format "%sdocker build -t %s %s -f \"%s\" \"%s\"" (if
dockerfile-use-sudo "sudo " "") image-name (dockerfile-build-arg-string)
(buffer-file-name) (file-name-directory (buffer-file-name)))
"*docker-build-output*")
(print "docker-image-name must be a string, consider surrounding it with
double quotes")))
@@ -104,7 +117,7 @@
(save-buffer)
(if (stringp image-name)
(async-shell-command
- (format "%s docker build --no-cache -t %s -f \"%s\" \"%s\"" (if
dockerfile-use-sudo "sudo" "") image-name (buffer-file-name)
(file-name-directory (buffer-file-name)))
+ (format "%s docker build --no-cache -t %s %s -f \"%s\" \"%s\"" (if
dockerfile-use-sudo "sudo" "") image-name (dockerfile-build-arg-string)
(buffer-file-name) (file-name-directory (buffer-file-name)))
"*docker-build-output*")
(print "docker-image-name must be a string, consider surrounding it with
double quotes")))
- [nongnu] elpa/dockerfile-mode 6ed974d462 014/104: Autoload docker mode for Dockerfiles., (continued)
- [nongnu] elpa/dockerfile-mode 6ed974d462 014/104: Autoload docker mode for Dockerfiles., ELPA Syncer, 2022/01/29
- [nongnu] elpa/dockerfile-mode d1e9754285 037/104: Fix build failure when path of Dockerfile contains spaces., ELPA Syncer, 2022/01/29
- [nongnu] elpa/dockerfile-mode e20c7e587a 025/104: Correctly set require-final-newline, ELPA Syncer, 2022/01/29
- [nongnu] elpa/dockerfile-mode 35d10860d9 039/104: Fix inability to build images on Windows., ELPA Syncer, 2022/01/29
- [nongnu] elpa/dockerfile-mode 98434943c3 005/104: Adjust auto-mode regexp in README., ELPA Syncer, 2022/01/29
- [nongnu] elpa/dockerfile-mode 1015f3818d 016/104: Added copy and onbuild commands, ELPA Syncer, 2022/01/29
- [nongnu] elpa/dockerfile-mode a532e30371 023/104: Use syntax highlighting in README, ELPA Syncer, 2022/01/29
- [nongnu] elpa/dockerfile-mode 6a64806b78 029/104: now treats single quotes like double quotes, ELPA Syncer, 2022/01/29
- [nongnu] elpa/dockerfile-mode 34a0a5d082 030/104: Merge branch 'master' of github.com:spotify/dockerfile-mode, ELPA Syncer, 2022/01/29
- [nongnu] elpa/dockerfile-mode 26239c3b95 043/104: Resolve spotify/#24, ELPA Syncer, 2022/01/29
- [nongnu] elpa/dockerfile-mode fdebd1eda5 044/104: Pass --build-args to docker build,
ELPA Syncer <=
- [nongnu] elpa/dockerfile-mode c462ba8650 007/104: Merge pull request #1 from thomasf/master, ELPA Syncer, 2022/01/29
- [nongnu] elpa/dockerfile-mode 730b2dbd84 010/104: Update Dockerfile keywords to match docker 0.7.6, ELPA Syncer, 2022/01/29
- [nongnu] elpa/dockerfile-mode 1fd094a409 009/104: Merge pull request #2 from purcell/patch-1, ELPA Syncer, 2022/01/29
- [nongnu] elpa/dockerfile-mode 8f74b941d2 035/104: Add support for ARG command, ELPA Syncer, 2022/01/29
- [nongnu] elpa/dockerfile-mode 93d6013437 046/104: Resolve spotify/#24, ELPA Syncer, 2022/01/29
- [nongnu] elpa/dockerfile-mode fd1cf02f06 040/104: Merge pull request #22 from jaccarmac/fix-windows-build, ELPA Syncer, 2022/01/29
- [nongnu] elpa/dockerfile-mode 8273401efa 045/104: Merge pull request #26 from rcj/master, ELPA Syncer, 2022/01/29
- [nongnu] elpa/dockerfile-mode a464ee6e91 047/104: Merge branch 'master' of github.com:davidshen84/dockerfile-mode, ELPA Syncer, 2022/01/29
- [nongnu] elpa/dockerfile-mode 5f1e17e4e5 050/104: Merge pull request #27 from ju2wheels/feature/add_missing_keywords, ELPA Syncer, 2022/01/29
- [nongnu] elpa/dockerfile-mode a690935648 055/104: Make no attempt to support antiquated Emacsen < 24, ELPA Syncer, 2022/01/29