X-Git-Url: https://gitweb.factorcode.org/gitweb.cgi?p=factor.git;a=blobdiff_plain;f=build.cmd;h=49d56dc1c62522d14f0bafa68d70a1407eb0f91f;hp=85466486b55e15f1ea342d0f4e2b91175456d07a;hb=HEAD;hpb=9c0a9f9cc69b522879545db809ef355d4296be52 diff --git a/build.cmd b/build.cmd index 85466486b5..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 ( @@ -44,6 +53,11 @@ if "%1"=="/?" ( set _compile_vm=1 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,11 +94,13 @@ if "%_compile_vm%"=="1" ( if errorlevel 1 goto fail ) -set _bootimage_url=http://downloads.factorcode.org/images/%GIT_BRANCH%/%_bootimage% +set _bootimage_url=https://downloads.factorcode.org/images/%GIT_BRANCH%/%_bootimage% if "%_bootimage_type%"=="download" ( - echo Fetching %GIT_BRANCH% boot image... - echo URL: %_bootimage_url% - cscript /nologo misc\http-get.vbs %_bootimage_url% %_bootimage% + 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_type%"=="make" ( echo Making boot image... @@ -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