(use-modules (ice-9 filesystem) (ordo connection) (ordo action filesystem) (ordo play) (ordo task) (ordo handler)) (define test-play (play "Test play" #:connection (local-connection) #:vars '((base-dir . "/home/ray/ordo-test")) #:tasks (list (task "Override base dir" (const "/home/ray/ordo-test-again") #:register 'base-dir) (task "Create test directory" (install-directory ($ 'base-dir))) (task "Create test file from string content" (install-file (file-name-join* ($ 'base-dir) "foo") #:content "Hello, world!\n")) (task "Create test file from local source" (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" (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))) (frotz . ,(handler "Frotz" (const #t)))))) (run-play test-play)