sake.ss
#lang scheme/base

(require scheme/match
         "main.ss")

(define (sake build-file-path task)
  (let-values (([set ordered] (task-traverse (dynamic-require build-file-path task))))
    (for-each task-run-action ordered)))

(define (sake-command-line)
  (match (current-command-line-arguments)
    [(vector build-file task)
     (sake build-file (string->symbol task))]
    [(vector task)
     (sake "build.ss" (string->symbol task))]
    [(vector)
     (sake "build.ss" 'default)]))

(sake-command-line)

(provide sake)