! Copyright (C) 2008, 2011 Eduardo Cavazos, Slava Pestov.
! See http://factorcode.org/license.txt for BSD license.
-USING: arrays kernel calendar io.directories io.encodings.utf8
-io.files io.launcher io.pathnames namespaces prettyprint
-combinators sequences mason.child mason.cleanup mason.common mason.config
-mason.docs mason.release mason.report mason.email mason.git
-mason.notify mason.platform mason.updates ;
-QUALIFIED: continuations
+USING: arrays calendar combinators continuations io.directories
+io.pathnames kernel mason.child mason.cleanup mason.common
+mason.config mason.docs mason.git mason.notify mason.platform
+mason.release mason.updates namespaces sequences ;
IN: mason.build
: create-build-dir ( -- )
short-running-process ;
: copy-image ( -- )
- builds-dir get boot-image-name append-path
+ builds-dir get target-boot-image-name append-path
[ "." copy-file-into ] [ "factor" copy-file-into ] bi ;
: save-git-id ( -- )
] bi
notify-finish
finish-build
- ] [ cleanup ] [ ] continuations:cleanup
+ ] [ cleanup-build ] [ ] cleanup
notify-idle ;
MAIN: build
! Copyright (C) 2008, 2011 Eduardo Cavazos, Slava Pestov.
! See http://factorcode.org/license.txt for BSD license.
-USING: accessors arrays calendar combinators.short-circuit fry
-continuations debugger io.directories io.files io.launcher
-io.pathnames io.encodings.ascii kernel make mason.common
-mason.config mason.platform mason.report mason.notify namespaces
-sequences quotations macros system combinators splitting ;
+USING: accessors arrays calendar combinators
+combinators.short-circuit continuations fry io.directories
+io.launcher kernel macros make mason.config mason.notify
+mason.platform mason.report namespaces quotations sequences
+splitting system ;
IN: mason.child
: nmake-cmd ( -- args )
: boot-cmd ( -- cmd )
[
factor-vm ,
- "-i=" boot-image-name append ,
+ "-i=" target-boot-image-name append ,
"-no-user-init" ,
boot-flags get %
] { } make ;
! Copyright (C) 2008 Eduardo Cavazos, Slava Pestov.
! See http://factorcode.org/license.txt for BSD license.
-USING: arrays continuations io.directories
-io.directories.hierarchy io.files io.launcher kernel
-mason.common mason.config mason.platform namespaces ;
+USING: arrays io.directories io.directories.hierarchy io.files
+kernel mason.common mason.config mason.platform namespaces ;
IN: mason.cleanup
: compress ( filename -- )
- dup exists? [ "bzip2" swap 2array short-running-process ] [ drop ] if ;
+ dup exists? [
+ "bzip2" swap 2array short-running-process
+ ] [ drop ] if ;
: compress-image ( -- )
- boot-image-name compress ;
+ target-boot-image-name compress ;
: compress-test-log ( -- )
"test-log" compress ;
-: cleanup ( -- )
+: cleanup-build ( -- )
builder-debug get [
build-dir [
compress-image
! Copyright (C) 2008, 2011 Eduardo Cavazos, Slava Pestov.
! See http://factorcode.org/license.txt for BSD license.
-USING: kernel namespaces sequences splitting system accessors
-math.functions make io io.files io.pathnames io.directories
-io.directories.hierarchy io.launcher io.encodings.utf8 prettyprint
-combinators.short-circuit parser combinators math calendar
-calendar.format arrays mason.config locals debugger fry
-continuations strings io.sockets prettyprint.config ;
+USING: accessors arrays calendar calendar.format combinators
+continuations fry io io.encodings.utf8 io.files io.launcher
+io.pathnames io.sockets kernel locals make mason.config math
+namespaces parser prettyprint prettyprint.config sequences
+splitting ;
IN: mason.common
: print-timestamp ( string -- )
! Copyright (C) 2008, 2011 Eduardo Cavazos, Slava Pestov.
! See http://factorcode.org/license.txt for BSD license.
-USING: calendar system io.files io.pathnames namespaces kernel
-accessors assocs ;
+USING: calendar io.pathnames kernel namespaces system ;
IN: mason.config
! (Optional) Location for build directories
! Copyright (C) 2010 Slava Pestov.
! See http://factorcode.org/license.txt for BSD license.
-USING: accessors io.files.info io.pathnames kernel math
-math.parser namespaces sequences mason.config ;
+USING: accessors io.files.info io.pathnames kernel mason.config
+math math.parser namespaces sequences ;
IN: mason.disk
: gb ( -- n ) 30 2^ ; inline
! Copyright (C) 2008, 2010 Slava Pestov.
! See http://factorcode.org/license.txt for BSD license.
-
-USING: arrays hashtables help.html http.client io.directories
-io.files io.files.temp io.launcher io.pathnames kernel make
+USING: hashtables http.client io.files.temp io.pathnames kernel
mason.common mason.config namespaces sequences ;
-
IN: mason.docs
: make-docs-archive ( -- )
! Copyright (C) 2008, 2010 Eduardo Cavazos, Slava Pestov.
! See http://factorcode.org/license.txt for BSD license.
USING: accessors calendar combinators continuations debugger fry
-io io.encodings.utf8 io.files io.sockets kernel make
-mason.common mason.config mason.platform math.order namespaces
-prettyprint sequences smtp ;
+io kernel make mason.common mason.config mason.platform
+math.order namespaces sequences smtp ;
IN: mason.email
: mason-email ( body content-type subject -- )
! Copyright (C) 2010 Slava Pestov.
! See http://factorcode.org/license.txt for BSD license.
USING: accessors combinators.short-circuit continuations
-debugger io io.directories io.encodings.utf8 io.files
-io.launcher io.sockets io.streams.string kernel mason.common
-mason.email sequences splitting io.directories.hierarchy ;
+debugger io io.directories io.directories.hierarchy
+io.encodings.utf8 io.files io.launcher io.sockets
+io.streams.string kernel mason.common mason.email sequences
+splitting ;
IN: mason.git
: git-id ( -- id )
! Copyright (C) 2008, 2010 Eduardo Cavazos, Slava Pestov.
! See http://factorcode.org/license.txt for BSD license.
USING: accessors calendar continuations debugger io
-io.directories io.pathnames io.sockets io.streams.string kernel
-mason.config mason.disk mason.email mason.notify mason.updates
-namespaces prettyprint threads ;
+io.directories io.sockets io.streams.string kernel mason.config
+mason.disk mason.email mason.notify mason.updates namespaces
+prettyprint threads ;
FROM: mason.build => build ;
IN: mason
! Copyright (C) 2009, 2011 Slava Pestov.
! See http://factorcode.org/license.txt for BSD license.
-USING: accessors fry http.client io io.encodings.utf8 io.files
-kernel mason.common mason.config mason.email mason.twitter
-namespaces prettyprint sequences debugger continuations make ;
+USING: accessors continuations debugger fry http.client io
+io.encodings.utf8 io.files kernel make mason.common mason.config
+mason.email mason.twitter namespaces sequences ;
IN: mason.notify
: status-notify? ( -- ? )
! Copyright (C) 2008, 2011 Eduardo Cavazos, Slava Pestov.
! See http://factorcode.org/license.txt for BSD license.
-USING: kernel system accessors namespaces splitting sequences
-mason.config bootstrap.image assocs ;
+USING: accessors assocs bootstrap.image kernel mason.config
+namespaces sequences ;
IN: mason.platform
: (platform) ( os cpu -- string )
: gnu-make ( -- string )
"make" ;
-: boot-image-arch ( -- string )
+: target-arch ( -- arch )
target-os get target-cpu get arch ;
-: boot-image-name ( -- string )
- boot-image-arch "boot." ".image" surround ;
+: target-boot-image-name ( -- string )
+ target-arch boot-image-name ;
! Copyright (C) 2008 Eduardo Cavazos, Slava Pestov.
! See http://factorcode.org/license.txt for BSD license.
-USING: accessors arrays combinators locals io.directories
-io.directories.hierarchy io.files io.launcher io.pathnames
-kernel make mason.common mason.config mason.platform namespaces
-prettyprint sequences system words ;
+USING: accessors combinators io.directories
+io.directories.hierarchy io.pathnames kernel locals make
+mason.common mason.config mason.platform namespaces sequences
+system words ;
IN: mason.release.archive
: base-name ( -- string )
[ drop ".tar.gz" ]
} case ;
-: archive-name ( -- string ) base-name target-os get extension append ;
+: archive-name ( -- string )
+ base-name target-os get extension append ;
:: 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 ;
+ {
+ "hdiutil" "create"
+ "-srcfolder" dmg-root
+ "-fs" "HFS+"
+ "-volname" volume-name
+ archive-name
+ } short-running-process ;
: make-macosx-archive ( archive-name -- )
"dmg-root" make-directory
! Copyright (C) 2008, 2010 Eduardo Cavazos, Slava Pestov.
! See http://factorcode.org/license.txt for BSD license.
-USING: io.directories io.files io.launcher kernel make
-namespaces prettyprint sequences mason.common mason.config
-mason.platform ;
+USING: io.directories kernel make mason.common mason.config
+mason.platform namespaces sequences ;
IN: mason.release.branch
: branch-name ( -- string ) "clean-" platform append ;
: upload-clean-image-cmd ( -- args )
[
scp-command get ,
- boot-image-name ,
+ target-boot-image-name ,
[
image-username get % "@" %
image-host get % ":" %
! Copyright (C) 2008, 2009 Eduardo Cavazos, Slava Pestov.
! See http://factorcode.org/license.txt for BSD license.
-USING: kernel debugger namespaces sequences splitting
-combinators io io.files io.launcher prettyprint bootstrap.image
-mason.common mason.release.branch mason.release.tidy
-mason.release.archive mason.release.upload mason.notify ;
+USING: combinators mason.notify mason.release.archive
+mason.release.branch mason.release.tidy mason.release.upload ;
IN: mason.release
: release ( -- )
[ upload ]
[ save-archive ]
[ notify-release ]
- } cleave ;
\ No newline at end of file
+ } cleave ;
! Copyright (C) 2008, 2011 Eduardo Cavazos, Slava Pestov.
! See http://factorcode.org/license.txt for BSD license.
USING: bootstrap.image io.directories io.directories.hierarchy
-io.encodings.ascii io.files kernel mason.common namespaces
-sequences system ;
+io.encodings.ascii io.files kernel namespaces sequences system ;
FROM: mason.config => target-os ;
IN: mason.release.tidy
! Copyright (C) 2008, 2011 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 ;
+USING: kernel mason.common mason.config mason.platform
+namespaces sequences ;
IN: mason.release.upload
: remote-location ( -- dest )
! Copyright (C) 2008, 2010 Eduardo Cavazos, Slava Pestov.
! See http://factorcode.org/license.txt for BSD license.
-USING: benchmark combinators.smart debugger fry io assocs
-io.encodings.utf8 io.files io.sockets io.streams.string kernel
-locals mason.common mason.config mason.disk mason.platform math
-namespaces prettyprint sequences xml.syntax xml.writer
-combinators.short-circuit literals splitting ;
+USING: assocs combinators.smart debugger fry io.encodings.utf8
+io.files io.streams.string kernel literals locals mason.common
+mason.config mason.disk math namespaces sequences xml.syntax
+xml.writer ;
IN: mason.report
: git-link ( id -- link )
! Copyright (C) 2009, 2010 Slava Pestov.
! See http://factorcode.org/license.txt for BSD license.
-USING: debugger fry kernel mason.config namespaces twitter ;
+USING: debugger fry kernel namespaces twitter ;
IN: mason.twitter
: mason-tweet ( message -- )
- twitter-access-token get [ '[ _ tweet ] try ] [ drop ] if ;
\ No newline at end of file
+ twitter-access-token get [ '[ _ tweet ] try ] [ drop ] if ;
! Copyright (C) 2008, 2010 Eduardo Cavazos, Slava Pestov.
! See http://factorcode.org/license.txt for BSD license.
USING: bootstrap.image.download http.client init kernel
-math.parser namespaces mason.config mason.common mason.git
-mason.platform ;
+mason.config mason.git mason.platform math.parser namespaces ;
IN: mason.updates
TUPLE: sources git-id boot-image counter ;
] "mason.updates" add-startup-hook
: latest-boot-image ( -- boot-image )
- boot-image-name
+ target-boot-image-name
[ maybe-download-image drop ] [ file-checksum ] bi ;
: latest-counter ( -- counter )