48 lines
1.1 KiB
Factor
48 lines
1.1 KiB
Factor
|
! Copyright (C) 2008 Eduardo Cavazos, Slava Pestov.
|
||
|
! See http://factorcode.org/license.txt for BSD license.
|
||
|
USING: kernel namespaces make sequences arrays io io.files
|
||
|
io.launcher mason.common mason.platform
|
||
|
mason.release.archive mason.config ;
|
||
|
IN: mason.release.upload
|
||
|
|
||
|
: remote-location ( -- dest )
|
||
|
upload-directory get "/" platform 3append ;
|
||
|
|
||
|
: remote-archive-name ( -- dest )
|
||
|
remote-location "/" archive-name 3append ;
|
||
|
|
||
|
: temp-archive-name ( -- dest )
|
||
|
remote-archive-name ".incomplete" append ;
|
||
|
|
||
|
: upload-command ( -- args )
|
||
|
"scp"
|
||
|
archive-name
|
||
|
[
|
||
|
upload-username get % "@" %
|
||
|
upload-host get % ":" %
|
||
|
temp-archive-name %
|
||
|
] "" make
|
||
|
3array ;
|
||
|
|
||
|
: rename-command ( -- args )
|
||
|
[
|
||
|
"ssh" ,
|
||
|
upload-host get ,
|
||
|
"-l" ,
|
||
|
upload-username get ,
|
||
|
"mv" ,
|
||
|
temp-archive-name ,
|
||
|
remote-archive-name ,
|
||
|
] { } make ;
|
||
|
|
||
|
: upload-temp-file ( -- )
|
||
|
upload-command short-running-process ;
|
||
|
|
||
|
: rename-temp-file ( -- )
|
||
|
rename-command short-running-process ;
|
||
|
|
||
|
: upload ( -- )
|
||
|
upload-to-factorcode get
|
||
|
[ upload-temp-file rename-temp-file ]
|
||
|
when ;
|