]> gitweb.factorcode.org Git - factor.git/blob - basis/tools/deploy/windows/windows.factor
f21f4ac363a83c3efc9a25f4a332e872ee8b2ab7
[factor.git] / basis / tools / deploy / windows / windows.factor
1 ! Copyright (C) 2007, 2009 Slava Pestov.
2 ! See http://factorcode.org/license.txt for BSD license.
3 USING: io io.files io.pathnames io.directories io.encodings.ascii kernel namespaces
4 sequences locals system splitting tools.deploy.backend
5 tools.deploy.config tools.deploy.config.editor assocs hashtables
6 prettyprint combinators windows.shell32 windows.user32 ;
7 IN: tools.deploy.windows
8
9 : copy-dll ( bundle-name -- )
10     "resource:factor.dll" swap copy-file-into ;
11
12 :: copy-vm ( executable bundle-name extension -- vm )
13     vm "." split1-last drop extension append
14     bundle-name executable ".exe" append append-path
15     [ copy-file ] keep ;
16
17 : create-exe-dir ( vocab bundle-name -- vm )
18     dup copy-dll
19     deploy-ui? get [
20         [ "" copy-theme ] [ ".exe" copy-vm ] bi
21     ] [ ".com" copy-vm ] if ;
22
23 M: winnt deploy*
24     "resource:" [
25         dup deploy-config [
26             deploy-name get
27             [
28                 [ create-exe-dir ]
29                 [ image-name ]
30                 [ drop ]
31                 2tri namespace make-deploy-image
32             ]
33             [ nip open-in-explorer ] 2bi
34         ] bind
35     ] with-directory ;