summaryrefslogtreecommitdiff
path: root/build-farm-jobset.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-jobset.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-jobset.el')
-rw-r--r--build-farm-jobset.el6
1 files changed, 4 insertions, 2 deletions
diff --git a/build-farm-jobset.el b/build-farm-jobset.el
index 617a889..c0d1864 100644
--- a/build-farm-jobset.el
+++ b/build-farm-jobset.el
@@ -97,6 +97,7 @@
(defun build-farm-jobset-info-insert-url (entry)
"Insert URL for the jobset ENTRY."
(bui-insert-button (build-farm-jobset-url
+ :root-url (build-farm-current-url)
:jobset-id (bui-entry-id entry))
'bui-url)
(bui-newline))
@@ -139,7 +140,8 @@ ARGS."
(build-farm-build-latest-prompt-args
:project (bui-entry-non-void-value entry 'project)
:jobset (bui-entry-non-void-value entry 'name))))
- (apply #'build-farm-latest-builds number args))
+ (apply #'build-farm-get-display
+ (build-farm-current-url) 'build 'latest number args))
;;; Interactive commands
@@ -148,7 +150,7 @@ ARGS."
(defun build-farm-jobsets (project)
"Display jobsets of PROJECT."
(interactive (list (build-farm-read-project)))
- (build-farm-get-display 'jobset 'project project))
+ (build-farm-get-display build-farm-url 'jobset 'project project))
;; Info returned for multiple jobsets (from "api/jobsets") and for a
;; single jobset (from "jobset") are completely different! Compare: