branch: elpa/dockerfile-mode commit 95f55f3697e562cbf43ff31e59ac8dd925211d53 Author: nabeo <watanabe.michik...@gmail.com> Commit: nabeo <watanabe.michik...@gmail.com>
add dockerfile-build-no-cache-buffer --- dockerfile-mode.el | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) diff --git a/dockerfile-mode.el b/dockerfile-mode.el index c3bc7fffa4..8c6509e909 100644 --- a/dockerfile-mode.el +++ b/dockerfile-mode.el @@ -50,6 +50,7 @@ (let ((map (make-sparse-keymap)) (menu-map (make-sparse-keymap))) (define-key map "\C-c\C-b" 'dockerfile-build-buffer) + (define-key map "\C-c\M-b" 'dockerfile-build-no-cache-buffer) (define-key map "\C-c\C-z" 'dockerfile-test-function) (define-key map "\C-c\C-c" 'comment-region) (define-key map [menu-bar dockerfile-mode] (cons "Dockerfile" menu-map)) @@ -59,6 +60,9 @@ (define-key menu-map [dfb] '(menu-item "Build" dockerfile-build-buffer :help "Send the Dockerfile to docker build")) + (define-key menu-map [dfb] + '(menu-item "Build without cache" dockerfile-build-no-cache-buffer + :help "Send the Dockerfile to docker build without cache")) map)) (defvar dockerfile-mode-syntax-table @@ -89,6 +93,20 @@ "*docker-build-output*") (print "docker-image-name must be a string, consider surrounding it with double quotes"))) +;;;###autoload +(defun dockerfile-build-no-cache-buffer (image-name) + "Build an image based upon the buffer without cache" + (interactive + (if (null docker-image-name) + (list (read-string "image-name: " nil nil)) + (list docker-image-name))) + (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))) + "*docker-build-output*") + (print "docker-image-name must be a string, consider surrounding it with double quotes"))) + ;; Handle emacs < 24, which does not have prog-mode (defalias 'dockerfile-parent-mode (if (fboundp 'prog-mode) 'prog-mode 'fundamental-mode))