]> gitweb.factorcode.org Git - factor.git/blob - basis/tools/deploy/deploy.factor
07104a8c059527518b54a11cbe1078acc35d6d62
[factor.git] / basis / tools / deploy / deploy.factor
1 ! Copyright (C) 2007, 2010 Slava Pestov.
2 ! See http://factorcode.org/license.txt for BSD license.
3 USING: combinators command-line io.directories kernel namespaces
4 sequences system tools.deploy.backend tools.deploy.config
5 tools.deploy.config.editor vocabs vocabs.loader ;
6 IN: tools.deploy
7
8 ERROR: no-vocab-main vocab ;
9
10 : check-vocab-main ( vocab -- vocab )
11     [ require ] keep dup vocab-main [ no-vocab-main ] unless ;
12
13 : deploy ( vocab -- )
14     dup find-vocab-root [ no-vocab ] unless
15     check-vocab-main
16     deploy-directory get [
17         dup deploy-config [
18             deploy*
19         ] with-variables
20     ] with-directory ;
21
22 : deploy-image-only ( vocab image -- )
23     [ vm-path ] 2dip
24     swap dup deploy-config make-deploy-image drop ;
25
26 {
27     { [ os macosx? ] [ "tools.deploy.macosx" ] }
28     { [ os windows? ] [ "tools.deploy.windows" ] }
29     { [ os unix? ] [ "tools.deploy.unix" ] }
30 } cond require
31
32 : deploy-main ( -- )
33     command-line get [ [ require ] [ deploy ] bi ] each ;
34
35 MAIN: deploy-main