diff options
| author | Alex Kost <alezost@gmail.com> | 2018-08-17 17:28:24 +0300 |
|---|---|---|
| committer | Alex Kost <alezost@gmail.com> | 2018-08-17 17:28:24 +0300 |
| commit | a3163777c7a4949036a3bf1b31bb2ab21ed9b35d (patch) | |
| tree | dbf68655a3c1972a767bb539f86861fc0e733d39 | |
| parent | project: Display "M-x build-farm-project" in Info buffer (diff) | |
| download | emacs-build-farm-a3163777c7a4949036a3bf1b31bb2ab21ed9b35d.tar.gz | |
build: Show more parameters in Build Info
* build-farm-build.el (build-farm-build-filter-names): Rename 'time' to
'queued-time'. Add 'start-time', 'stop-time', 'derivation', 'outputs',
'release-name'.
(build-farm-build-info-titles): Change titles for time parameters.
(build-farm-build-info-output-format): New variable.
(build-farm-build-info-insert-output)
(build-farm-build-info-insert-outputs): New procedures.
(build-farm-build-info-format): Adjust to display the new parameters.
| -rw-r--r-- | build-farm-build.el | 48 |
1 files changed, 42 insertions, 6 deletions
diff --git a/build-farm-build.el b/build-farm-build.el index 8d4ae63..8d6a404 100644 --- a/build-farm-build.el +++ b/build-farm-build.el @@ -35,8 +35,17 @@ :filters '(build-farm-build-filter-status) :filter-names '((nixname . name) (buildstatus . build-status) - (timestamp . time)) - :filter-boolean-params '(finished busy)) + (buildmetrics . build-metrics) + (buildoutputs . outputs) + (drvpath . derivation) + (releasename . release-name) + (starttime . start-time) + (stoptime . stop-time) + (timestamp . queued-time)) + :filter-boolean-params '(finished busy) + :titles '((queued-time . "Queued at") + (start-time . "Started at") + (stop-time . "Stopped at"))) (defcustom build-farm-number-of-builds 64 "Default number of builds to display. @@ -252,13 +261,23 @@ See `build-farm-build-status-alist'." :format '((name nil (simple bui-info-heading)) nil build-farm-build-info-insert-url - (time format (time)) + (queued-time format (time)) + (start-time format (time)) + (stop-time format (time)) + (release-name format (format)) (status format build-farm-build-info-insert-status) + (priority format (format)) + (derivation simple (indent bui-file)) + (outputs simple (build-farm-build-info-insert-outputs)) + nil (project format build-farm-build-info-insert-project) (jobset format build-farm-build-info-insert-jobset) (job format build-farm-build-info-insert-job) - (system format build-farm-build-info-insert-system) - (priority format (format)))) + (system format build-farm-build-info-insert-system))) + +(defvar build-farm-build-info-output-format "%-6s " + "String for formatting output names of builds. +It should be a '%s'-sequence.") (cl-defun build-farm-build-info-insert-builds-button (&key project jobset job system) @@ -340,6 +359,23 @@ See `build-farm-build-status-alist'." "Insert a string with build STATUS." (insert (build-farm-build-status-string status))) +(defun build-farm-build-info-insert-outputs (outputs) + "Insert build OUTPUTS at point." + (bui-insert-non-nil outputs + (dolist (output outputs) + (bui-newline) + (bui-insert-indent) + (build-farm-build-info-insert-output output)))) + +(defun build-farm-build-info-insert-output (output) + "Insert build OUTPUT at point." + (let* ((name (symbol-name (car output))) + (alist (cdr output)) + (file-name (bui-assq-value alist 'path))) + (bui-format-insert name nil + build-farm-build-info-output-format) + (bui-insert-button file-name 'bui-file))) + ;;; Build 'list' @@ -352,7 +388,7 @@ See `build-farm-build-status-alist'." (status build-farm-build-list-get-status 20 t) (project nil 10 t) (jobset nil 17 t) - (time bui-list-get-time 20 t)) + (queued-time bui-list-get-time 20 t)) :hint 'build-farm-build-list-hint) (let ((map build-farm-build-list-mode-map)) |
