Fix 'extra/update'
parent
262e9632e6
commit
7104cd4fe8
|
@ -0,0 +1,28 @@
|
|||
|
||||
USING: namespaces debugger io.files bootstrap.image update.util ;
|
||||
|
||||
IN: update.backup
|
||||
|
||||
: backup-boot-image ( -- )
|
||||
my-boot-image-name
|
||||
{ "boot." my-arch "-" [ "datestamp" get ] ".image" } to-string
|
||||
move-file ;
|
||||
|
||||
: backup-image ( -- )
|
||||
"factor.image"
|
||||
{ "factor" "-" [ "datestamp" get ] ".image" } to-string
|
||||
move-file ;
|
||||
|
||||
: backup-vm ( -- )
|
||||
"factor"
|
||||
{ "factor" "-" [ "datestamp" get ] } to-string
|
||||
move-file ;
|
||||
|
||||
: backup ( -- )
|
||||
datestamp "datestamp" set
|
||||
[
|
||||
backup-boot-image
|
||||
backup-image
|
||||
backup-vm
|
||||
]
|
||||
try ;
|
|
@ -0,0 +1,53 @@
|
|||
|
||||
USING: kernel namespaces system io.files bootstrap.image http.client
|
||||
update update.backup update.util ;
|
||||
|
||||
IN: update.latest
|
||||
|
||||
! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
|
||||
|
||||
: git-pull-master ( -- )
|
||||
image parent-directory
|
||||
[
|
||||
{ "git" "pull" "git://factorcode.org/git/factor.git" "master" }
|
||||
run-command
|
||||
]
|
||||
with-directory ;
|
||||
|
||||
! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
|
||||
|
||||
: remote-latest-image ( -- url )
|
||||
{ "http://factorcode.org/images/latest/" my-boot-image-name } to-string ;
|
||||
|
||||
: download-latest-image ( -- ) remote-latest-image download ;
|
||||
|
||||
! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
|
||||
|
||||
: rebuild-latest ( -- )
|
||||
image parent-directory
|
||||
[
|
||||
backup
|
||||
download-latest-image
|
||||
make-clean
|
||||
make
|
||||
boot
|
||||
]
|
||||
with-directory ;
|
||||
|
||||
! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
|
||||
|
||||
: update-latest ( -- )
|
||||
image parent-directory
|
||||
[
|
||||
git-id
|
||||
git-pull-master
|
||||
git-id
|
||||
= not
|
||||
[ rebuild-latest ]
|
||||
when
|
||||
]
|
||||
with-directory ;
|
||||
|
||||
! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
|
||||
|
||||
MAIN: update-latest
|
|
@ -0,0 +1,66 @@
|
|||
|
||||
USING: kernel system sequences io.files io.launcher bootstrap.image
|
||||
http.client
|
||||
update.util ;
|
||||
|
||||
! builder.util builder.release.branch ;
|
||||
|
||||
IN: update
|
||||
|
||||
! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
|
||||
|
||||
: run-command ( cmd -- ) to-strings try-process ;
|
||||
|
||||
! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
|
||||
|
||||
: git-pull-clean ( -- )
|
||||
image parent-directory
|
||||
[
|
||||
{ "git" "pull" "git://factorcode.org/git/factor.git" branch-name }
|
||||
run-command
|
||||
]
|
||||
with-directory ;
|
||||
|
||||
! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
|
||||
|
||||
: remote-clean-image ( -- url )
|
||||
{ "http://factorcode.org/images/clean/" platform "/" my-boot-image-name }
|
||||
to-string ;
|
||||
|
||||
: download-clean-image ( -- ) remote-clean-image download ;
|
||||
|
||||
! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
|
||||
|
||||
: make-clean ( -- ) { gnu-make "clean" } run-command ;
|
||||
: make ( -- ) { gnu-make } run-command ;
|
||||
: boot ( -- ) { "./factor" { "-i=" my-boot-image-name } } run-command ;
|
||||
|
||||
! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
|
||||
|
||||
: rebuild ( -- )
|
||||
image parent-directory
|
||||
[
|
||||
download-clean-image
|
||||
make-clean
|
||||
make
|
||||
boot
|
||||
]
|
||||
with-directory ;
|
||||
|
||||
! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
|
||||
|
||||
: update ( -- )
|
||||
image parent-directory
|
||||
[
|
||||
git-id
|
||||
git-pull-clean
|
||||
git-id
|
||||
= not
|
||||
[ rebuild ]
|
||||
when
|
||||
]
|
||||
with-directory ;
|
||||
|
||||
! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
|
||||
|
||||
MAIN: update
|
|
@ -0,0 +1,62 @@
|
|||
|
||||
USING: kernel classes strings quotations words math math.parser arrays
|
||||
combinators.cleave
|
||||
accessors
|
||||
system prettyprint splitting
|
||||
sequences combinators sequences.deep
|
||||
io
|
||||
io.launcher
|
||||
io.encodings.utf8
|
||||
calendar
|
||||
calendar.format ;
|
||||
|
||||
IN: update.util
|
||||
|
||||
! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
|
||||
|
||||
DEFER: to-strings
|
||||
|
||||
: to-string ( obj -- str )
|
||||
dup class
|
||||
{
|
||||
{ \ string [ ] }
|
||||
{ \ quotation [ call ] }
|
||||
{ \ word [ execute ] }
|
||||
{ \ fixnum [ number>string ] }
|
||||
{ \ array [ to-strings concat ] }
|
||||
}
|
||||
case ;
|
||||
|
||||
: to-strings ( seq -- str )
|
||||
dup [ string? ] all?
|
||||
[ ]
|
||||
[ [ to-string ] map flatten ]
|
||||
if ;
|
||||
|
||||
! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
|
||||
|
||||
: cpu- ( -- cpu ) cpu unparse "." split "-" join ;
|
||||
|
||||
: platform ( -- string ) { [ os unparse ] cpu- } to-strings "-" join ;
|
||||
|
||||
! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
|
||||
|
||||
: branch-name ( -- string ) "clean-" platform append ;
|
||||
|
||||
! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
|
||||
|
||||
: gnu-make ( -- string )
|
||||
os { freebsd openbsd netbsd } member? [ "gmake" ] [ "make" ] if ;
|
||||
|
||||
! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
|
||||
|
||||
: git-id ( -- id )
|
||||
{ "git" "show" } utf8 <process-reader> [ readln ] with-input-stream
|
||||
" " split second ;
|
||||
|
||||
! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
|
||||
|
||||
: datestamp ( -- string )
|
||||
now
|
||||
{ year>> month>> day>> hour>> minute>> } <arr>
|
||||
[ pad-00 ] map "-" join ;
|
Loading…
Reference in New Issue