Compile plugins in the correct order
Compile order will affect some packages, so `bin/doom compile :plugins` will now byte-compile plugins in the order they're declared in, but after their dependencies.
This commit is contained in:
parent
c6324da59d
commit
98d2a35a59
1 changed files with 12 additions and 3 deletions
|
@ -561,9 +561,18 @@ If RECOMPILE-P is non-nil, only recompile out-of-date files."
|
||||||
(":core" (push doom-core-dir targets))
|
(":core" (push doom-core-dir targets))
|
||||||
(":private" (push doom-private-dir targets))
|
(":private" (push doom-private-dir targets))
|
||||||
(":plugins"
|
(":plugins"
|
||||||
(dolist (file (doom-files-in package-user-dir :match "\\.elc$"))
|
(doom-initialize-packages)
|
||||||
(ignore-errors (delete-file file)))
|
(let (visited)
|
||||||
(byte-recompile-directory package-user-dir 0 t)
|
(dolist (name (append doom-core-packages (mapcar #'car doom-packages)))
|
||||||
|
(unless (memq name visited)
|
||||||
|
(when-let* ((desc (cadr (assq name package-alist))))
|
||||||
|
(cl-loop for dep in (package--get-deps name)
|
||||||
|
if (and (not (memq dep visited))
|
||||||
|
(assq dep package-alist))
|
||||||
|
do (package--compile (cadr it))
|
||||||
|
and do (push dep visited))
|
||||||
|
(package--compile desc)
|
||||||
|
(push name visited)))))
|
||||||
(setq compile-plugins-p t
|
(setq compile-plugins-p t
|
||||||
modules (delete ":plugins" modules)))
|
modules (delete ":plugins" modules)))
|
||||||
((pred file-directory-p)
|
((pred file-directory-p)
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue