summaryrefslogtreecommitdiff
path: root/build-farm-build.el
diff options
context:
space:
mode:
authorAlex Kost <alezost@gmail.com>2018-07-18 22:34:12 +0300
committerAlex Kost <alezost@gmail.com>2018-07-27 12:14:24 +0300
commit64ba3161c90b67926dcfd2592e3b1e562d9cb2ef (patch)
tree150afee3c575dec9456b1fdcc6ab76e5df27ff5a /build-farm-build.el
parentAdd and use 'build-farm-get-display' (diff)
downloademacs-build-farm-64ba3161c90b67926dcfd2592e3b1e562d9cb2ef.tar.gz
Use per-buffer build farm URL
Previously, a single global 'build-farm-url' variable was used everywhere. But this is not correct: when you change this url, it should take effect only for the future requests, and the existing Farm buffers should use the previous url. So this root url should be local for every build/jobset/project list/info, which is accomplished by this commit. * build-farm-url.el (build-farm-url): Add 'root-url' argument. (build-farm-api-url, build-farm-build-url, build-farm-build-log-url) (build-farm-build-latest-api-url, build-farm-build-queue-api-url) (build-farm-jobset-url, build-farm-jobset-api-url) (build-farm-project-url): Add 'root-url' keyword argument. * build-farm.el: Define accessors for entry args. Specifically... (build-farm-current-url): New function. (build-farm-get-entries, build-farm-get-display, build-farm-message) (build-farm-search-url): New 'root-url' argument. * build-farm-build.el: Adjust to use 'root-url' arguments where appropriate. * build-farm-jobset.el: Likewise. * build-farm-project.el: Likewise.
Diffstat (limited to 'build-farm-build.el')
-rw-r--r--build-farm-build.el18
1 files changed, 12 insertions, 6 deletions
diff --git a/build-farm-build.el b/build-farm-build.el
index e919001..58ef7e3 100644
--- a/build-farm-build.el
+++ b/build-farm-build.el
@@ -86,10 +86,12 @@ for the number of builds."
(declare-function guix-build-log-find-file "guix-build-log" (file))
-(defun build-farm-build-view-log (id)
+(defun build-farm-build-view-log (id &optional root-url)
"View build log of a build ID."
(require 'guix-build-log)
- (guix-build-log-find-file (build-farm-build-log-url id)))
+ (guix-build-log-find-file
+ (build-farm-build-log-url
+ id :root-url (or root-url (build-farm-current-url)))))
;;; Filters for processing raw entries
@@ -263,6 +265,7 @@ See `build-farm-build-status-alist'."
: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")
@@ -312,7 +315,9 @@ See `build-farm-build-status-alist'."
(defun build-farm-build-info-insert-url (entry)
"Insert URL for the build ENTRY."
- (bui-insert-button (build-farm-build-url (bui-entry-id entry))
+ (bui-insert-button (build-farm-build-url
+ (bui-entry-id entry)
+ :root-url (build-farm-current-url))
'bui-url)
(when (build-farm-build-finished? entry)
(bui-insert-indent)
@@ -374,7 +379,8 @@ ARGS."
:jobset (bui-entry-non-void-value entry 'jobset)
:job (bui-entry-non-void-value entry 'job)
:system (bui-entry-non-void-value entry 'system))))
- (apply #'build-farm-latest-builds number args))
+ (apply #'build-farm-get-display
+ (build-farm-current-url) 'build 'latest number args))
(defun build-farm-build-list-view-log ()
"View build log of the current build."
@@ -393,7 +399,7 @@ NUMBER. With prefix argument, prompt for it and for the other
ARGS."
(interactive (build-farm-build-latest-prompt-args))
(apply #'build-farm-get-display
- 'build 'latest number args))
+ build-farm-url 'build 'latest number args))
;;;###autoload
(defun build-farm-queued-builds (number)
@@ -406,7 +412,7 @@ NUMBER. With prefix argument, prompt for it."
(read-number "Number of queued builds: "
build-farm-number-of-builds)
build-farm-number-of-builds)))
- (build-farm-get-display 'build 'queue number))
+ (build-farm-get-display build-farm-url 'build 'queue number))
(provide 'build-farm-build)