44 lines
1.3 KiB
Factor
44 lines
1.3 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.unique io.launcher
|
|
io.pathnames kernel sequences namespaces mason.common mason.config ;
|
|
IN: mason.source
|
|
|
|
: clone-factor ( -- )
|
|
{ "git" "clone" } home "factor" append-path suffix try-process ;
|
|
|
|
: prepare-source ( -- )
|
|
"factor" [
|
|
".git" delete-tree
|
|
images [ download-image ] each
|
|
] with-directory ;
|
|
|
|
: package-name ( version -- string )
|
|
"factor-src-" ".zip" surround ;
|
|
|
|
: make-tarball ( version -- path )
|
|
[ { "zip" "-qr9" } ] dip package-name
|
|
[ suffix "factor" suffix try-process ] keep ;
|
|
|
|
: make-package ( version -- path )
|
|
unique-directory
|
|
[
|
|
clone-factor prepare-source make-tarball
|
|
"Package created: " write absolute-path dup print
|
|
] with-directory ;
|
|
|
|
: remote-location ( version -- dest )
|
|
[ upload-directory get "/releases/" ] dip 3append ;
|
|
|
|
: remote-archive-name ( version -- dest )
|
|
[ remote-location ] [ package-name ] bi "/" glue ;
|
|
|
|
: upload-package ( package version -- )
|
|
[ upload-username get upload-host get ] dip
|
|
remote-archive-name
|
|
upload-safely ;
|
|
|
|
: release-source-package ( version -- )
|
|
[ make-package ] [ upload-package ] bi ;
|