From fdb8751de3bac9c513eddb12d66b72016f1f2b30 Mon Sep 17 00:00:00 2001 From: Eli Barzilay Date: Sat, 26 Jun 2010 10:35:37 -0400 Subject: [PATCH] Add a flag for an extra file to include for the rendering. (The extra file is just required dynamically, and it is supposed to register resources for rendering etc.) --- collects/meta/web/build.rkt | 40 ++++++++++++++++++++++++------------- 1 file changed, 26 insertions(+), 14 deletions(-) diff --git a/collects/meta/web/build.rkt b/collects/meta/web/build.rkt index 716b4aaa0b..958dc4143a 100755 --- a/collects/meta/web/build.rkt +++ b/collects/meta/web/build.rkt @@ -13,8 +13,10 @@ exec "$exe" "$0" "$@" "config.rkt" "navbar.rkt") (define build-mode #f) +(define output-dir (current-directory)) (define distribute? #f) (define warn? #t) +(define extra-file #f) (command-line #:once-any @@ -31,36 +33,46 @@ exec "$exe" "$0" "$@" " (defaults to the current directory)" (unless (directory-exists? dir) (printf "Creating \"~a\"\n" dir) (make-directory dir)) - (current-directory dir)] + (set! output-dir dir)] [("-f") "avoid warning about directory cleanup" (set! warn? #f)] [("-d" "--dist") "distribute resulting content" " (will only work with the right access to the servers)" - (set! distribute? #t)]) + (set! distribute? #t)] + [("-e" "--extra") extra + "extra file to render more content" + (set! extra-file extra)]) (unless build-mode (raise-user-error 'build "build mode not specified")) (define-runtime-path here ".") -(let ([build (file-or-directory-identity (current-directory))]) +(let ([build (file-or-directory-identity output-dir)]) (let loop ([dir here]) (if (equal? build (file-or-directory-identity dir)) (raise-user-error 'build "might clobber sources, refusing to build") (let-values ([(base name dir?) (split-path dir)]) (when base (loop base)))))) -(let ([paths (sort (map path->string (directory-list)) stringstring (directory-list)) string