diff options
| author | Alex Kost <alezost@gmail.com> | 2018-08-26 13:11:34 +0300 |
|---|---|---|
| committer | Alex Kost <alezost@gmail.com> | 2018-08-26 13:11:34 +0300 |
| commit | 381e10f54310393baaa4ffc42b3c5a335add21c0 (patch) | |
| tree | 1b68a9844b6f563a4db5aa70c9b2c937ea976ced | |
| parent | jobset: Add "B" key binding to Jobset List (diff) | |
| download | emacs-build-farm-381e10f54310393baaa4ffc42b3c5a335add21c0.tar.gz | |
Rename 'build-farm-build-info-insert-builds-button'
* build-farm-build.el (build-farm-build-info-insert-builds-button):
Rename to...
(build-farm-info-insert-builds-button): ... this.
(build-farm-build-button-action): New procedure (the code is extracted
from the above procedure).
* build-farm-evaluation.el: Adjust accordingly.
* build-farm-jobset.el: Likewise.
* build-farm-project.el: Likewise.
| -rw-r--r-- | build-farm-build.el | 67 | ||||
| -rw-r--r-- | build-farm-evaluation.el | 2 | ||||
| -rw-r--r-- | build-farm-jobset.el | 4 | ||||
| -rw-r--r-- | build-farm-project.el | 2 |
4 files changed, 39 insertions, 36 deletions
diff --git a/build-farm-build.el b/build-farm-build.el index bf3f5d5..dd703a1 100644 --- a/build-farm-build.el +++ b/build-farm-build.el @@ -117,6 +117,37 @@ If `current-prefix-arg' is specified, just return :job job :system system))) +(defun build-farm-build-button-action (button) + "Display latest builds according to BUTTON." + (let ((args (build-farm-build-latest-prompt-args + :project (button-get button 'project) + :jobset (button-get button 'jobset) + :job (button-get button 'job) + :system (button-get button 'system)))) + (apply #'build-farm-get-display + (build-farm-current-url) + 'build 'latest args))) + +(cl-defun build-farm-info-insert-builds-button + (&key project jobset job system) + "Insert 'Builds' button for PROJECT, JOBSET, JOB, SYSTEM." + (bui-insert-action-button + "Builds" + #'build-farm-build-button-action + (concat "Show latest builds" + (let ((thing (cond (job "job") + (system "system") + (jobset "jobset") + (project "project")))) + (if thing + (concat " for this " thing) + "")) + " (with prefix, prompt for all parameters)") + 'project project + 'jobset jobset + 'job job + 'system system)) + (declare-function guix-build-log-mode "guix-build-log" t) (defun build-farm-build-view-log (id &optional root-url) @@ -313,39 +344,11 @@ It should be a '%s'-sequence.") (bui-replace-entry (bui-current-entries) id new-entry)) (bui-redisplay))) -(cl-defun build-farm-build-info-insert-builds-button - (&key project jobset job system) - "Insert 'Builds' button for PROJECT, JOBSET, JOB, SYSTEM." - (bui-insert-action-button - "Builds" - (lambda (btn) - (let ((args (build-farm-build-latest-prompt-args - :project (button-get btn 'project) - :jobset (button-get btn 'jobset) - :job (button-get btn 'job) - :system (button-get btn 'system)))) - (apply #'build-farm-get-display - (build-farm-current-url) - 'build 'latest args))) - (concat "Show latest builds" - (let ((thing (cond (job "job") - (system "system") - (jobset "jobset") - (project "project")))) - (if thing - (concat " for this " thing) - "")) - " (with prefix, prompt for all parameters)") - 'project project - 'jobset jobset - 'job job - 'system system)) - (defun build-farm-build-info-insert-project (project entry) "Insert PROJECT for build ENTRY at point." (bui-insert-button project 'build-farm-project) (bui-insert-indent) - (build-farm-build-info-insert-builds-button + (build-farm-info-insert-builds-button :project (bui-entry-non-void-value entry 'project))) (defun build-farm-build-info-insert-jobset (jobset entry) @@ -356,7 +359,7 @@ It should be a '%s'-sequence.") jobset) (build-farm-info-insert-cuirass-jobset jobset)) (bui-insert-indent) - (build-farm-build-info-insert-builds-button + (build-farm-info-insert-builds-button :project (bui-entry-non-void-value entry 'project) :jobset (bui-entry-non-void-value entry 'jobset))) @@ -364,7 +367,7 @@ It should be a '%s'-sequence.") "Insert JOB for build ENTRY at point." (bui-format-insert job 'build-farm-info-job) (bui-insert-indent) - (build-farm-build-info-insert-builds-button + (build-farm-info-insert-builds-button :project (bui-entry-non-void-value entry 'project) :jobset (bui-entry-non-void-value entry 'jobset) :job (bui-entry-non-void-value entry 'job))) @@ -373,7 +376,7 @@ It should be a '%s'-sequence.") "Insert SYSTEM for build ENTRY at point." (bui-format-insert system 'build-farm-info-system) (bui-insert-indent) - (build-farm-build-info-insert-builds-button + (build-farm-info-insert-builds-button :system (bui-entry-non-void-value entry 'system))) (defun build-farm-build-info-insert-url (entry) diff --git a/build-farm-evaluation.el b/build-farm-evaluation.el index 6124664..268d775 100644 --- a/build-farm-evaluation.el +++ b/build-farm-evaluation.el @@ -86,7 +86,7 @@ command. If nil, always prompt for the number of evaluations." "Insert info about Cuirass JOBSET at point." (build-farm-info-insert-cuirass-jobset jobset) (bui-insert-indent) - (build-farm-build-info-insert-builds-button + (build-farm-info-insert-builds-button :jobset jobset)) diff --git a/build-farm-jobset.el b/build-farm-jobset.el index e0645f2..bdd37f3 100644 --- a/build-farm-jobset.el +++ b/build-farm-jobset.el @@ -105,7 +105,7 @@ (let ((jobset (bui-entry-non-void-value entry 'name))) (bui-insert-button project 'build-farm-project) (bui-insert-indent) - (build-farm-build-info-insert-builds-button + (build-farm-info-insert-builds-button :project project :jobset jobset))) @@ -259,7 +259,7 @@ The BUTTON file name is relative to guix source tree." (defun build-farm-cuirass-jobset-info-insert-builds (entry) "Insert 'Builds' button for the jobset ENTRY." (let ((jobset (bui-entry-non-void-value entry 'name))) - (build-farm-build-info-insert-builds-button + (build-farm-info-insert-builds-button :jobset jobset)) (bui-newline)) diff --git a/build-farm-project.el b/build-farm-project.el index 94d9e90..fd1b9e4 100644 --- a/build-farm-project.el +++ b/build-farm-project.el @@ -111,7 +111,7 @@ "Insert info about JOBSET of the PROJECT at point." (build-farm-info-insert-hydra-jobset project jobset) (bui-insert-indent) - (build-farm-build-info-insert-builds-button + (build-farm-info-insert-builds-button :project project :jobset jobset)) |
