]> gitweb.factorcode.org Git - factor.git/blobdiff - build.cmd
scryfall: parse mtga deck format
[factor.git] / build.cmd
index dbb36399c36df7ff74c211422c7a7758c0956ac0..1fd1ab54f7eb33decfafb811d0012228a9db1a40 100644 (file)
--- 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
@@ -128,6 +144,7 @@ echo:
 echo     compile - recompile vm
 echo     update - git pull, recompile vm, download a boot image, bootstrap
 echo     self-bootstrap - git pull, make a boot image, bootstrap
-echo     bootstrap - git pull, existing 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