From a5547b99380f1a2915c1abd7838a56cd76c90001 Mon Sep 17 00:00:00 2001 From: nomennescio Date: Thu, 24 Aug 2023 19:14:37 +0100 Subject: [PATCH] Sync with some build.sh features: fallback to boot image from master and support for update-boot-image --- build.cmd | 23 ++++++++++++++++++++--- 1 file changed, 20 insertions(+), 3 deletions(-) diff --git a/build.cmd b/build.cmd index 49d56dc1c6..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 @@ -82,9 +96,11 @@ if "%_compile_vm%"=="1" ( 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 -- 2.34.1