64 lines
		
	
	
		
			1.5 KiB
		
	
	
	
		
			Factor
		
	
	
			
		
		
	
	
			64 lines
		
	
	
		
			1.5 KiB
		
	
	
	
		
			Factor
		
	
	
 | 
						|
USING: kernel system sequences io.files io.launcher bootstrap.image
 | 
						|
       http.client
 | 
						|
       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 |