34 lines
1.4 KiB
Scheme
34 lines
1.4 KiB
Scheme
(use-modules
|
|
(ice-9 filesystem)
|
|
(ice-9 pretty-print)
|
|
(logging logger)
|
|
(ordo)
|
|
(ordo action filesystem))
|
|
|
|
(playbook
|
|
#:name "Basic filesystem operations"
|
|
#:plays (list
|
|
(play
|
|
#:name "Temporary files on localhost"
|
|
#:host "localhost"
|
|
#:tasks (list
|
|
(task #:name "Create temporary directory"
|
|
#:action (lambda () (fs:create-tmp-dir (current-connection)))
|
|
#:register-play-var #:tmp-dir)
|
|
|
|
(task #:name "Create hello.txt"
|
|
#:action (lambda () (fs:install-file (current-connection)
|
|
(file-name-join* ($ #:tmp-dir) "hello.txt")
|
|
#:content "Hello, world!"))
|
|
#:register-play-var #:hello)
|
|
|
|
(task #:name "Stat hello.txt"
|
|
#:action (lambda () (fs:stat (current-connection) ($ #:hello)))
|
|
#:register-play-var #:hello-stat)
|
|
|
|
(task #:name "Debug variables"
|
|
#:action (lambda ()
|
|
(pretty-print (list #:hello ($ #:hello) #:hello-stat ($ #:hello-stat)))))
|
|
|
|
(task #:name "Clean up tmp dir"
|
|
#:action (lambda () (fs:remove (current-connection) ($ #:tmp-dir) #:recurse? #t #:verbose? #t)))))))
|