(use-modules (ice-9 filesystem) (ordo connection) (ordo context ) (ordo action filesystem) (ordo play) (ordo task) (ordo handler)) ;; uname -a => Linux little-rascal 6.11.10-gnu #1 SMP PREEMPT_DYNAMIC 1 x86_64 GNU/Linux ;; kernel name: Linux ;; node name: little-rascal ;; kernel release: 6.11.10-gnu ;; kernel version: #1 ;; machine: SMP PREEMPT_DYNAMIC ;; processor: 1 ;; hardware platform: x86_64 ;; operating system: GNU/Linux ;; ;; Linux toolbox 6.12.6-200.fc41.x86_64 #1 SMP PREEMPT_DYNAMIC Thu Dec 19 21:06:34 UTC 2024 x86_64 x86_64 x86_64 GNU/Linux ;; uname --kernel-name --nodename --kernel-release --machine --operating-system ;; Linux little-rascal 6.11.10-gnu x86_64 GNU/Linux (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" (bind-context-vars (base-dir) (install-directory base-dir))) (task "Create test file from string content" (bind-context-vars (base-dir) (install-file (file-name-join* base-dir "foo") #:content "Hello, world!\n"))) (task "Create test file from local source" (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" (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))) (frotz . ,(handler "Frotz" (const #t)))))) (run-play test-play)