Add macro to simplify task context references

This commit is contained in:
Ray Miller 2025-01-08 09:13:19 +00:00
parent b4cdfc341a
commit 5360e73d60
Signed by: ray
GPG key ID: 043F786C4CD681B8
4 changed files with 54 additions and 44 deletions

View file

@ -30,21 +30,22 @@
(const "/home/ray/ordo-test-again")
#:register 'base-dir)
(task "Create test directory"
(lambda (ctx)
(install-directory ctx (context-ref ctx 'base-dir))))
(bind-context-vars
(base-dir)
(install-directory base-dir)))
(task "Create test file from string content"
(lambda (ctx)
(install-file ctx (file-name-join* (context-ref ctx 'base-dir) "foo")
#:content "Hello, world!\n")))
(bind-context-vars
(base-dir)
(install-file (file-name-join* base-dir "foo") #:content "Hello, world!\n")))
(task "Create test file from local source"
(lambda (ctx)
(install-file ctx (file-name-join* (context-ref ctx 'base-dir) "bar")
#:local-src (file-name-join* (context-ref ctx 'base-dir) "foo")))
(bind-context-vars
(base-dir)
(install-file (file-name-join* base-dir "bar") #:local-src (file-name-join* base-dir "foo")))
#:triggers '(fritz))
(task "Create test file from remote source"
(lambda (ctx)
(install-file ctx (file-name-join* (context-ref ctx 'base-dir) "baz")
#:remote-src (file-name-join* (context-ref ctx 'base-dir) "bar")))
(bind-context-vars
(base-dir)
(install-file (file-name-join* base-dir "baz") #:remote-src (file-name-join* base-dir "bar")))
#:triggers '(frobnicate)))
#:handlers `((frobnicate . ,(handler "Frobnicate" (const #t)))
(fritz . ,(handler "Fritz" (const #t)))