Fixing deploy

db4
Slava Pestov 2008-03-07 21:28:51 -06:00
parent 7b0b174115
commit 33b3f1b3b4
3 changed files with 14 additions and 12 deletions

View File

@ -19,5 +19,5 @@ M: hashtable >plist
>plist 1array "plist" build-tag*
dup { { "version" "1.0" } } update ;
: print-plist ( obj -- )
build-plist build-xml print-xml ;
: plist>string ( obj -- string )
build-plist build-xml xml>string ;

View File

@ -23,7 +23,7 @@ IN: tools.deploy.backend
+closed+ >>stdin
utf8 <process-stream>
dup copy-lines
process-stream-process wait-for-process zero? [
process>> wait-for-process zero? [
"Deployment failed" throw
] unless ;
@ -61,7 +61,7 @@ IN: tools.deploy.backend
] { } make ;
: run-factor ( vm flags -- )
dup . swap add* run-with-output ; inline
swap add* dup . run-with-output ; inline
: make-staging-image ( vm config -- )
staging-command-line run-factor ;

View File

@ -9,17 +9,18 @@ IN: tools.deploy.macosx
: bundle-dir ( -- dir )
vm parent-directory parent-directory ;
: copy-bundle-dir ( name dir -- )
bundle-dir swap path+ swap "Contents" path+ copy-tree ;
: copy-bundle-dir ( bundle-name dir -- )
bundle-dir over path+ -rot
"Contents" swap path+ path+ copy-tree ;
: copy-vm ( executable bundle-name -- vm )
"Contents/MacOS/" path+ swap path+ vm over copy-file ;
: copy-fonts ( name -- )
"fonts/" resource-path
swap "Contents/Resources/" path+ copy-tree ;
swap "Contents/Resources/" path+ copy-tree-into ;
: print-app-plist ( executable bundle-name -- )
: app-plist ( executable bundle-name -- string )
[
namespace {
{ "CFBundleInfoDictionaryVersion" "6.0" }
@ -30,11 +31,12 @@ IN: tools.deploy.macosx
dup "CFBundleExecutable" set
"org.factor." swap append "CFBundleIdentifier" set
] H{ } make-assoc print-plist ;
] H{ } make-assoc plist>string ;
: create-app-plist ( vocab bundle-name -- )
dup "Contents/Info.plist" path+
utf8 [ print-app-plist ] with-file-writer ;
[ app-plist ] keep
"Contents/Info.plist" path+
utf8 set-file-contents ;
: create-app-dir ( vocab bundle-name -- vm )
dup "Frameworks" copy-bundle-dir
@ -62,7 +64,7 @@ M: macosx-deploy-implementation deploy* ( vocab -- )
".app deploy tool" assert.app
"." resource-path cd
dup deploy-config [
bundle-name delete-tree
bundle-name dup exists? [ delete-tree ] [ drop ] if
[ bundle-name create-app-dir ] keep
[ bundle-name deploy.app-image ] keep
namespace make-deploy-image