36 lines
1006 B
Factor
36 lines
1006 B
Factor
! Copyright (C) 2007, 2010 Slava Pestov.
|
|
! See http://factorcode.org/license.txt for BSD license.
|
|
USING: combinators command-line io.directories kernel namespaces
|
|
sequences system tools.deploy.backend tools.deploy.config
|
|
tools.deploy.config.editor vocabs vocabs.loader ;
|
|
IN: tools.deploy
|
|
|
|
ERROR: no-vocab-main vocab ;
|
|
|
|
: check-vocab-main ( vocab -- vocab )
|
|
[ require ] keep dup vocab-main [ no-vocab-main ] unless ;
|
|
|
|
: deploy ( vocab -- )
|
|
dup find-vocab-root [ no-vocab ] unless
|
|
check-vocab-main
|
|
deploy-directory get [
|
|
dup deploy-config [
|
|
deploy*
|
|
] with-variables
|
|
] with-directory ;
|
|
|
|
: deploy-image-only ( vocab image -- )
|
|
[ vm-path ] 2dip
|
|
swap dup deploy-config make-deploy-image drop ;
|
|
|
|
{
|
|
{ [ os macosx? ] [ "tools.deploy.macosx" ] }
|
|
{ [ os windows? ] [ "tools.deploy.windows" ] }
|
|
{ [ os unix? ] [ "tools.deploy.unix" ] }
|
|
} cond require
|
|
|
|
: deploy-main ( -- )
|
|
command-line get [ [ require ] [ deploy ] bi ] each ;
|
|
|
|
MAIN: deploy-main
|