2008-09-16 00:20:33 -04:00
|
|
|
! Copyright (C) 2008 Eduardo Cavazos, Slava Pestov.
|
|
|
|
! See http://factorcode.org/license.txt for BSD license.
|
2009-05-12 17:52:43 -04:00
|
|
|
USING: arrays combinators locals io.directories
|
2008-12-15 02:13:35 -05:00
|
|
|
io.directories.hierarchy io.files io.launcher io.pathnames
|
|
|
|
kernel make mason.common mason.config mason.platform namespaces
|
|
|
|
prettyprint sequences ;
|
2008-09-16 00:20:33 -04:00
|
|
|
IN: mason.release.archive
|
|
|
|
|
|
|
|
: base-name ( -- string )
|
|
|
|
[ "factor-" % platform % "-" % stamp get % ] "" make ;
|
|
|
|
|
|
|
|
: extension ( -- extension )
|
|
|
|
target-os get {
|
|
|
|
{ "winnt" [ ".zip" ] }
|
|
|
|
{ "macosx" [ ".dmg" ] }
|
|
|
|
[ drop ".tar.gz" ]
|
|
|
|
} case ;
|
|
|
|
|
|
|
|
: archive-name ( -- string ) base-name extension append ;
|
|
|
|
|
2009-05-12 17:52:43 -04:00
|
|
|
:: make-windows-archive ( archive-name -- )
|
|
|
|
{ "zip" "-r" archive-name "factor" } short-running-process ;
|
|
|
|
|
|
|
|
:: make-disk-image ( archive-name volume-name dmg-root -- )
|
|
|
|
{ "hdiutil" "create" "-srcfolder" dmg-root "-fs" "HFS+" "-volname" volume-name archive-name } short-running-process ;
|
2008-09-16 00:20:33 -04:00
|
|
|
|
2009-04-17 21:59:59 -04:00
|
|
|
: make-macosx-archive ( archive-name -- )
|
2009-05-12 17:52:43 -04:00
|
|
|
"dmg-root" make-directory
|
|
|
|
"factor" "dmg-root" copy-tree-into
|
|
|
|
"factor" "dmg-root" make-disk-image
|
2009-04-13 20:03:17 -04:00
|
|
|
"dmg-root" really-delete-tree ;
|
2008-09-16 00:20:33 -04:00
|
|
|
|
2009-05-12 17:52:43 -04:00
|
|
|
:: make-unix-archive ( archive-name -- )
|
|
|
|
{ "tar" "-cvzf" archive-name "factor" } short-running-process ;
|
2008-09-16 00:20:33 -04:00
|
|
|
|
2009-04-17 21:59:59 -04:00
|
|
|
: make-archive ( archive-name -- )
|
2008-09-16 00:20:33 -04:00
|
|
|
target-os get {
|
|
|
|
{ "winnt" [ make-windows-archive ] }
|
|
|
|
{ "macosx" [ make-macosx-archive ] }
|
|
|
|
[ drop make-unix-archive ]
|
|
|
|
} case ;
|
|
|
|
|
|
|
|
: releases ( -- path )
|
|
|
|
builds-dir get "releases" append-path dup make-directories ;
|
|
|
|
|
2009-04-17 21:59:59 -04:00
|
|
|
: save-archive ( archive-name -- )
|
|
|
|
releases move-file-into ;
|