]> gitweb.factorcode.org Git - factor.git/blob - extra/builder/release/upload/upload.factor
Updating code for make and fry changes
[factor.git] / extra / builder / release / upload / upload.factor
1
2 USING: kernel namespaces make sequences arrays io io.files
3        builder.util
4        builder.common
5        builder.release.archive ;
6
7 IN: builder.release.upload
8
9 ! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
10
11 SYMBOL: upload-host
12
13 SYMBOL: upload-username
14
15 SYMBOL: upload-directory
16
17 ! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
18
19 : remote-location ( -- dest )
20   upload-directory get platform append ;
21
22 : remote-archive-name ( -- dest )
23   remote-location "/" archive-name 3append ;
24
25 : temp-archive-name ( -- dest )
26   remote-archive-name ".incomplete" append ;
27
28 : upload-command ( -- args )
29   "scp"
30   archive-name
31   [ upload-username get % "@" % upload-host get % ":" % temp-archive-name % ] "" make
32   3array ;
33
34 : rename-command ( -- args )
35   [
36     "ssh" ,
37     upload-host get ,
38     "-l" ,
39     upload-username get ,
40     "mv" ,
41     temp-archive-name ,
42     remote-archive-name ,
43   ] { } make ;
44
45 : upload-temp-file ( -- )
46   upload-command [ "Error uploading binary to factorcode" print ] run-or-bail ;
47
48 : rename-temp-file ( -- )
49   rename-command [ "Error renaming binary on factorcode" print ] run-or-bail ;
50
51 : upload ( -- )
52   upload-to-factorcode get
53     [ upload-temp-file rename-temp-file ]
54   when ;