(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")) #:register 'foo) (task "Get file status" (bind-context-vars (foo) (fs:stat foo)) #:register 'stat-out #:triggers '(display-stat))) #:handlers `((display-stat . ,(handler "Display stat" (bind-context-vars (foo stat-out) (lambda _ (pk foo stat-out)))))))) (run-play test-play)