Skip to content

Commit

Permalink
feat(core): Lazy install on required packages
Browse files Browse the repository at this point in the history
  • Loading branch information
jcs090218 committed Nov 21, 2024
1 parent 40c2d87 commit f9a7986
Show file tree
Hide file tree
Showing 23 changed files with 52 additions and 48 deletions.
7 changes: 7 additions & 0 deletions lisp/_prepare.el
Original file line number Diff line number Diff line change
Expand Up @@ -656,6 +656,13 @@ Argument BODY are forms for execution."
"done ✓"))
,@body))

(defun eask-archive-install-packages (archives names)
"Install package NAMES with ARCHIVES setup."
(when-let* ((names (eask-listify names))
((cl-some (lambda (pkg) (not (package-installed-p pkg))) names)))
(eask-with-archives archives
(eask--package-mapc #'eask-package-install names))))

(defun eask-package-installable-p (pkg)
"Return non-nil if package (PKG) is installable."
(assq (eask-intern pkg) package-archive-contents))
Expand Down
4 changes: 2 additions & 2 deletions lisp/core/cat.el
Original file line number Diff line number Diff line change
Expand Up @@ -25,8 +25,8 @@

(eask-start
;; Preparation
(eask-with-archives "melpa"
(eask-package-install 'e2ansi))
(eask-archive-install-packages '("gnu" "melpa")
'e2ansi)
(eask-msg "")

;; Start the task
Expand Down
4 changes: 2 additions & 2 deletions lisp/core/docs.el
Original file line number Diff line number Diff line change
Expand Up @@ -43,8 +43,8 @@

(eask-start
;; Preparation
(eask-with-archives '("gnu" "melpa")
(eask-package-install 'el2org))
(eask-archive-install-packages '("gnu" "melpa")
'el2org)

;; Start building...
(require 'el2org)
Expand Down
6 changes: 3 additions & 3 deletions lisp/core/loc.el
Original file line number Diff line number Diff line change
Expand Up @@ -36,14 +36,14 @@

(eask-start
;; Preparation
(eask-with-archives '("gnu" "melpa")
(eask-package-install 'markdown-mode))
(eask-archive-install-packages '("gnu" "melpa")
'markdown-mode)

(require 'markdown-mode)
;; Start LOC
(if-let* ((files (or (eask-expand-file-specs (eask-args))
(eask-package-files)))
(eask-output (get-buffer-create "*eask-output*")))
(eask-output (get-buffer-create "*eask-output*")))
(with-current-buffer eask-output
(erase-buffer)
(progn ; Print header
Expand Down
4 changes: 2 additions & 2 deletions lisp/core/package.el
Original file line number Diff line number Diff line change
Expand Up @@ -74,8 +74,8 @@ Argument VERSION is a string represent the version number of this package."
(ignore-errors (make-directory eask-dist-path t))

(eask-defvc< 27 (eask-pkg-init)) ; XXX: remove this after we drop 26.x
(eask-with-archives '("gnu" "melpa")
(eask-package-install 'package-build))
(eask-archive-install-packages '("gnu" "melpa")
'package-build)
(eask-load "extern/package-build") ; override

(let* ((version (eask-package-version))
Expand Down
4 changes: 2 additions & 2 deletions lisp/format/elfmt.el
Original file line number Diff line number Diff line change
Expand Up @@ -46,8 +46,8 @@

(eask-start
;; Preparation
(eask-with-archives '("gnu" "melpa" "jcs-elpa")
(eask-package-install 'elfmt))
(eask-archive-install-packages '("gnu" "melpa" "jcs-elpa")
'elfmt)
(setq eask-format-elfmt--version (eask-package--version-string 'elfmt))

;; Start formatting
Expand Down
4 changes: 2 additions & 2 deletions lisp/format/elisp-autofmt.el
Original file line number Diff line number Diff line change
Expand Up @@ -46,8 +46,8 @@

(eask-start
;; Preparation
(eask-with-archives '("gnu" "melpa")
(eask-package-install 'elisp-autofmt))
(eask-archive-install-packages '("gnu" "melpa")
'elisp-autofmt)
(setq eask-format-elisp-autofmt--version (eask-package--version-string 'elisp-autofmt))

;; Start formatting
Expand Down
4 changes: 2 additions & 2 deletions lisp/generate/ignore.el
Original file line number Diff line number Diff line change
Expand Up @@ -44,8 +44,8 @@

(eask-start
;; Preparation
(eask-with-archives "melpa"
(eask-package-install 'gitignore-templates))
(eask-archive-install-packages '("gnu" "melpa")
'gitignore-templates)

;; Start the task
(require 'gitignore-templates)
Expand Down
4 changes: 2 additions & 2 deletions lisp/generate/license.el
Original file line number Diff line number Diff line change
Expand Up @@ -48,8 +48,8 @@

(eask-start
;; Preparation
(eask-with-archives "melpa"
(eask-package-install 'license-templates))
(eask-archive-install-packages '("gnu" "melpa")
'license-templates)

;; Start the task
(require 'license-templates)
Expand Down
5 changes: 2 additions & 3 deletions lisp/generate/test/buttercup.el
Original file line number Diff line number Diff line change
Expand Up @@ -41,9 +41,8 @@
" test-file name test-file))))))

(eask-start
(eask-with-archives '("gnu" "melpa")
(eask-package-install 'buttercup)
(eask-package-install 'f))
(eask-archive-install-packages '("gnu" "melpa")
'(buttercup f))
(require 'buttercup)
(require 'f)
(eask-generate-test-buttercup--init (eask-guess-package-name)))
Expand Down
4 changes: 2 additions & 2 deletions lisp/generate/test/ecukes.el
Original file line number Diff line number Diff line change
Expand Up @@ -15,8 +15,8 @@
nil t))

(eask-start
(eask-with-archives '("gnu" "melpa")
(eask-package-install 'ecukes))
(eask-archive-install-packages '("gnu" "melpa")
'ecukes)
(require 'ecukes-new)
(ecukes-new))

Expand Down
4 changes: 2 additions & 2 deletions lisp/generate/test/ert-runner.el
Original file line number Diff line number Diff line change
Expand Up @@ -31,8 +31,8 @@
" name))))

(eask-start
(eask-with-archives '("gnu" "melpa")
(eask-package-install 'ert-runner))
(eask-archive-install-packages '("gnu" "melpa")
'ert-runner)
(advice-add 'ert-runner/run :override #'ignore)
(load-library "ert-runner")
(load-library "f")
Expand Down
5 changes: 2 additions & 3 deletions lisp/init/cask.el
Original file line number Diff line number Diff line change
Expand Up @@ -206,9 +206,8 @@ Optional argument CONTENTS is used for nested directives. e.g. development."

(eask-start
;; Preparation
(eask-with-archives `("gnu" "melpa" "jcs-elpa")
(eask-package-install 'package-build)
(eask-package-install 'cask))
(eask-archive-install-packages '("gnu" "melpa" "jcs-elpa")
'(package-build cask))

;; Start Converting
(require 'cask)
Expand Down
4 changes: 2 additions & 2 deletions lisp/init/eldev.el
Original file line number Diff line number Diff line change
Expand Up @@ -77,8 +77,8 @@

(eask-start
;; Preparation
(eask-with-archives "melpa"
(eask-package-install 'eldev))
(eask-archive-install-packages '("gnu" "melpa")
'eldev)

;; Start Converting
(require 'eldev)
Expand Down
4 changes: 2 additions & 2 deletions lisp/init/keg.el
Original file line number Diff line number Diff line change
Expand Up @@ -125,8 +125,8 @@ If no found the Keg file, returns nil."

(eask-start
;; Preparation
(eask-with-archives "melpa"
(eask-package-install 'keg))
(eask-archive-install-packages '("gnu" "melpa")
'keg)

;; Start Converting
(require 'keg)
Expand Down
4 changes: 2 additions & 2 deletions lisp/lint/elisp-lint.el
Original file line number Diff line number Diff line change
Expand Up @@ -52,8 +52,8 @@

(eask-start
;; Preparation
(eask-with-archives '("gnu" "melpa")
(eask-package-install 'elisp-lint))
(eask-archive-install-packages '("gnu" "melpa")
'elisp-lint)
(setq eask-lint-elisp-lint--version (eask-package--version-string 'elisp-lint))

;; Start Linting
Expand Down
4 changes: 2 additions & 2 deletions lisp/lint/elsa.el
Original file line number Diff line number Diff line change
Expand Up @@ -60,8 +60,8 @@

(eask-start
;; Preparation
(eask-with-archives '("gnu" "melpa")
(eask-package-install 'elsa))
(eask-archive-install-packages '("gnu" "melpa")
'elsa)
(setq eask-lint-elsa--version (eask-package--version-string 'elsa))

;; Start Linting
Expand Down
4 changes: 2 additions & 2 deletions lisp/lint/package.el
Original file line number Diff line number Diff line change
Expand Up @@ -59,8 +59,8 @@

(eask-start
;; Preparation
(eask-with-archives '("gnu" "melpa")
(eask-package-install 'package-lint))
(eask-archive-install-packages '("gnu" "melpa")
'package-lint)
(setq eask-lint-package--version (eask-package--version-string 'package-lint))

;; Start Linting
Expand Down
4 changes: 2 additions & 2 deletions lisp/lint/regexps.el
Original file line number Diff line number Diff line change
Expand Up @@ -60,8 +60,8 @@

(eask-start
;; Preparation
(eask-with-archives "gnu"
(eask-package-install 'relint))
(eask-archive-install-packages '("gnu")
'relint)
(setq eask-lint-regexps--relint-version (eask-package--version-string 'relint))

;; Start Linting
Expand Down
4 changes: 2 additions & 2 deletions lisp/test/buttercup.el
Original file line number Diff line number Diff line change
Expand Up @@ -16,8 +16,8 @@

(eask-start
;; Preparation
(eask-with-archives '("gnu" "melpa")
(eask-package-install 'buttercup))
(eask-archive-install-packages '("gnu" "melpa")
'buttercup)

;; Start Testing
(require 'buttercup)
Expand Down
4 changes: 2 additions & 2 deletions lisp/test/ecukes.el
Original file line number Diff line number Diff line change
Expand Up @@ -29,8 +29,8 @@ Modified from function `ecukes-cli/run'."

(eask-start
;; Preparation
(eask-with-archives '("gnu" "melpa")
(eask-package-install 'ecukes))
(eask-archive-install-packages '("gnu" "melpa")
'ecukes)

;; Start Testing
(require 'ecukes)
Expand Down
4 changes: 2 additions & 2 deletions lisp/test/ert-runner.el
Original file line number Diff line number Diff line change
Expand Up @@ -21,8 +21,8 @@
(setq ert-runner-verbose t))))

(eask-start
(eask-with-archives '("gnu" "melpa")
(eask-package-install 'ert-runner))
(eask-archive-install-packages '("gnu" "melpa")
'ert-runner)
(require 'ert-runner))

;;; test/ert-runner.el ends here
5 changes: 2 additions & 3 deletions lisp/test/melpazoid.el
Original file line number Diff line number Diff line change
Expand Up @@ -30,9 +30,8 @@

(eask-start
;; Preparation
(eask-with-archives '("gnu" "melpa")
(eask-package-install 'package-lint)
(eask-package-install 'pkg-info))
(eask-archive-install-packages '("gnu" "melpa")
'(package-lint pkg-info))

;; Start Testing
(let* ((dirs (or (eask-args) `(,default-directory))))
Expand Down

0 comments on commit f9a7986

Please sign in to comment.