60 lines
1.3 KiB
Scheme
60 lines
1.3 KiB
Scheme
(import (scheme base)
|
|
(scheme write)
|
|
(scheme file)
|
|
(scheme process-context)
|
|
(arvyy mustache))
|
|
|
|
(define slurp-loop
|
|
(lambda (line result)
|
|
(if (eof-object? line)
|
|
result
|
|
(slurp-loop (read-line) (string-append result line (string #\newline))))))
|
|
|
|
(define slurp
|
|
(lambda (path)
|
|
(with-input-from-file
|
|
path
|
|
(lambda ()
|
|
(slurp-loop (read-line) "")))))
|
|
|
|
(define script-implementations
|
|
(vector "chibi"
|
|
"chicken"
|
|
"cyclone"
|
|
"gambit"
|
|
"gauche"
|
|
;"gauche-wine" TODO
|
|
"gerbil"
|
|
"guile"
|
|
"kawa"
|
|
;"meevax" TODO
|
|
"mosh"
|
|
"racket"
|
|
"racket-wine"
|
|
"sagittarius"
|
|
;"sagittarius-wine" TODO
|
|
"stklos"
|
|
"skint"
|
|
"tr7i"
|
|
"ypsilon"))
|
|
|
|
(define compiler-implementations
|
|
(vector "chicken"
|
|
"cyclone"
|
|
"gambit"
|
|
"gauche"
|
|
"gerbil"
|
|
"kawa"
|
|
"racket"
|
|
;"racket-wine" TODO
|
|
))
|
|
|
|
;; Jenkinsfile
|
|
(call-with-output-file
|
|
"Jenkinsfile"
|
|
(lambda (out)
|
|
(execute (compile (slurp "templates/Jenkinsfile"))
|
|
(list (cons 'script-implementations script-implementations)
|
|
(cons 'compiler-implementations compiler-implementations))
|
|
out)))
|