1 ! Copyright (C) 2010 Slava Pestov.
2 ! See http://factorcode.org/license.txt for BSD license.
3 USING: bootstrap.image bootstrap.image.download io
4 io.directories io.directories.hierarchy io.files.unique
5 io.launcher io.pathnames kernel namespaces sequences
6 mason.common mason.config webapps.mason.version.files ;
7 IN: webapps.mason.version.source
10 { "git" "clone" "git://factorcode.org/git/factor.git" } try-process ;
12 : git-reset ( git-id -- )
13 { "git" "reset" "--hard" } swap suffix try-process ;
15 : save-git-id ( git-id -- )
18 : delete-git-tree ( -- )
20 ".gitignore" delete-file ;
22 : download-images ( -- )
23 image-names [ boot-image-name download-image ] each ;
25 : prepare-source ( git-id -- )
27 [ git-reset ] [ save-git-id ] bi
32 : (make-source-release) ( version -- path )
33 [ { "zip" "-qr9" } ] dip source-release-name file-name
34 [ suffix "factor" suffix try-process ] keep ;
36 : make-source-release ( version git-id -- path )
37 "Creating source release..." print flush
39 current-temporary-directory get [
40 clone-factor prepare-source (make-source-release)
41 "Package created: " write absolute-path dup print
43 ] with-unique-directory drop ;
45 : upload-source-release ( package version -- )
46 "Uploading source release..." print flush
47 [ package-username get package-host get ] dip
48 remote-source-release-name
51 : do-source-release ( version git-id -- )
52 [ make-source-release ] [ drop upload-source-release ] 2bi ;