52 lines
1.6 KiB
Factor
52 lines
1.6 KiB
Factor
! Copyright (C) 2010 Slava Pestov.
|
|
! See http://factorcode.org/license.txt for BSD license.
|
|
USING: bootstrap.image bootstrap.image.download io
|
|
io.directories io.directories.hierarchy io.files.temp
|
|
io.files.unique io.launcher io.pathnames kernel namespaces
|
|
sequences mason.common mason.config webapps.mason.version.files ;
|
|
IN: webapps.mason.version.source
|
|
|
|
: clone-factor ( -- )
|
|
{ "git" "clone" "git://factorcode.org/git/factor.git" } try-process ;
|
|
|
|
: git-reset ( git-id -- )
|
|
{ "git" "reset" "--hard" } swap suffix try-process ;
|
|
|
|
: save-git-id ( git-id -- )
|
|
"git-id" to-file ;
|
|
|
|
: delete-git-tree ( -- )
|
|
".git" delete-tree
|
|
".gitignore" delete-file ;
|
|
|
|
: download-images ( -- )
|
|
image-names [ boot-image-name download-image ] each ;
|
|
|
|
: prepare-source ( git-id -- )
|
|
"factor" [
|
|
[ git-reset ] [ save-git-id ] bi
|
|
delete-git-tree
|
|
download-images
|
|
] with-directory ;
|
|
|
|
: (make-source-release) ( version -- path )
|
|
[ { "zip" "-qr9" } ] dip source-release-name file-name
|
|
[ suffix "factor" suffix try-process ] keep ;
|
|
|
|
: make-source-release ( version git-id -- path )
|
|
"Creating source release..." print flush [
|
|
[
|
|
clone-factor prepare-source (make-source-release)
|
|
"Package created: " write absolute-path dup print
|
|
] with-unique-directory drop
|
|
] with-temp-directory ;
|
|
|
|
: upload-source-release ( package version -- )
|
|
"Uploading source release..." print flush
|
|
[ package-username get package-host get ] dip
|
|
remote-source-release-name
|
|
upload-safely ;
|
|
|
|
: do-source-release ( version git-id -- )
|
|
[ make-source-release ] [ drop upload-source-release ] 2bi ;
|