X-Git-Url: https://gitweb.factorcode.org/gitweb.cgi?p=factor.git;a=blobdiff_plain;f=build.cmd;h=49d56dc1c62522d14f0bafa68d70a1407eb0f91f;hp=f80f59bd075446ee945ee5af68329c31c069c8a4;hb=HEAD;hpb=15d1afa675e7cf4ec32a5995adbdd454cb314184 diff --git a/build.cmd b/build.cmd index f80f59bd07..1fd1ab54f7 100644 --- a/build.cmd +++ b/build.cmd @@ -1,6 +1,15 @@ @echo off setlocal +goto start + +:download +rem branch url filename +echo Fetching %1 boot image from %2 +cscript /nologo misc\http-get.vbs %2 %3 +exit /b + +:start : Check which branch we are on, or just assume master if we are not in a git repository for /f %%z in ('git rev-parse --abbrev-ref HEAD') do set GIT_BRANCH=%%z if not defined GIT_BRANCH ( @@ -12,38 +21,43 @@ if "%1"=="/?" ( ) else if "%1"=="" ( set _git_pull=1 set _compile_vm=1 - set _bootimage=download + set _bootimage_type=download set _bootstrap_factor=1 ) else if "%1"=="latest" ( set _git_pull=1 set _compile_vm=1 - set _bootimage=download + set _bootimage_type=download set _bootstrap_factor=1 ) else if "%1"=="update" ( set _git_pull=1 set _compile_vm=1 - set _bootimage=download + set _bootimage_type=download set _bootstrap_factor=1 ) else if "%1"=="compile" ( set _git_pull=0 set _compile_vm=1 - set _bootimage=current + set _bootimage_type=current set _bootstrap_factor=0 ) else if "%1"=="self-bootstrap" ( set _git_pull=1 set _compile_vm=0 - set _bootimage="make" + set _bootimage_type=make set _bootstrap_factor=1 ) else if "%1"=="bootstrap" ( set _git_pull=0 set _compile_vm=0 - set _bootimage=current + set _bootimage_type=current set _bootstrap_factor=1 ) else if "%1"=="net-bootstrap" ( set _git_pull=0 set _compile_vm=1 - set _bootimage=download + set _bootimage_type=download set _bootstrap_factor=1 +) else if "%1"=="update-boot-image" ( + set _git_pull=0 + set _compile_vm=0 + set _bootimage_type=download + set _bootstrap_factor=0 ) else goto usage if not exist Nmakefile goto wrongdir @@ -80,13 +94,15 @@ if "%_compile_vm%"=="1" ( if errorlevel 1 goto fail ) -if "%_bootimage%"=="download" ( - echo Fetching %GIT_BRANCH% boot image... - set boot_image_url=http://downloads.factorcode.org/images/%GIT_BRANCH%/%_bootimage% %_bootimage% - echo URL: %boot_image_url% - cscript /nologo misc\http-get.vbs %boot_image_url% %_bootimage% +set _bootimage_url=https://downloads.factorcode.org/images/%GIT_BRANCH%/%_bootimage% +if "%_bootimage_type%"=="download" ( + call :download %GIT_BRANCH% %_bootimage_url% %_bootimage% + if errorlevel 1 ( + echo boot image for branch %GIT_BRANCH% is not on server, trying master instead + call :download master https://downloads.factorcode.org/images/master/%_bootimage% %_bootimage% + ) if errorlevel 1 goto fail -) else if "%_bootimage%"=="make" ( +) else if "%_bootimage_type%"=="make" ( echo Making boot image... .\factor.com -run=bootstrap.image %_bootimage% if errorlevel 1 goto fail @@ -130,4 +146,5 @@ echo update - git pull, recompile vm, download a boot image, bootstrap echo self-bootstrap - git pull, make a boot image, bootstrap echo bootstrap - existing boot image, bootstrap echo net-bootstrap - recompile vm, download a boot image, bootstrap +echo update-boot-image - get the boot image for the current branch goto :EOF