run byte-compile checks on all files before other checks

This commit is contained in:
riscy 2024-12-01 14:06:47 -08:00
parent d1b40f96b1
commit d1df768dc2

View file

@ -452,34 +452,42 @@ OBJECTS are objects to interpolate into the string using `format'."
(string= (file-name-extension filename) "el"))) (string= (file-name-extension filename) "el")))
(when noninteractive (when noninteractive
;; Check every elisp file in `default-directory' (except melpazoid.el)
(setq melpazoid-can-modify-buffers t) (setq melpazoid-can-modify-buffers t)
(add-to-list 'load-path ".") (add-to-list 'load-path ".")
(let ((filename nil) (let (filenames)
(filenames (directory-files "."))) ;; Check every elisp file in `default-directory' (except melpazoid.el)
(while filenames (dolist (filename (directory-files "."))
(setq filename (car filenames) filenames (cdr filenames)) (when (melpazoid--check-file-p filename)
(when (melpazoid--check-file-p filename) (melpazoid filename)))) (setq filenames (cons filename filenames))))
;; run byte-compile BEFORE other checks, because the other checks might
;; bring in arbitrary dependencies that will affect the compile runtime
(dolist (filename filenames nil)
(melpazoid-byte-compile filename))
(dolist (filename filenames nil)
(set-buffer (find-file filename))
(melpazoid-package-lint))
(dolist (filename filenames nil)
(set-buffer (find-file filename))
(melpazoid-check-experimentals))
(dolist (filename filenames nil)
(melpazoid-checkdoc filename))
(let ((load-error nil))
;; check whether FILENAMEs can be simply loaded ;; check whether FILENAMEs can be simply loaded
(melpazoid-insert "\n`#'load`-check on each file:") (let ((load-error nil))
(melpazoid-insert "```") (melpazoid-insert "\n`#'load`-check on each file:")
(let ((filename nil) (melpazoid-insert "```")
(filenames (reverse (directory-files ".")))) (dolist (filename filenames nil)
(while filenames (melpazoid-insert "Loading %s" filename)
(setq filename (car filenames) filenames (cdr filenames)) (condition-case err
(when (melpazoid--check-file-p filename) (load (expand-file-name filename) nil t t)
(melpazoid-insert "Loading %s" filename) (error
(condition-case err (setq load-error t)
(load (expand-file-name filename) nil t t) (melpazoid-insert " %s:Error: Emacs %s:\n %S"
(error filename emacs-version err))))
(setq load-error t) (melpazoid-insert "```")
(melpazoid-insert " %s:Error: Emacs %s:\n %S" (when load-error (melpazoid-commit-pending)))))
filename emacs-version err))))))
(melpazoid-insert "```")
(when load-error (melpazoid-commit-pending))))
(provide 'melpazoid) (provide 'melpazoid)
;;; melpazoid.el ends here ;;; melpazoid.el ends here