v9.4.0

--- tron.bat
+++ tron.bat
@@ -8,7 +8,8 @@
 ::                      + tron_cli_flag: Add -sdu switch and associated SKIP_DEBLOAT_UPDATE variable. Use this to prevent Tron from automatically updating the debloat lists prior to execution
 ::                      + tron_update:   Add SKIP_DEBLOAT_UPDATE output to config dump screen (-c)
 ::                      / tron_update:   Rename all instances of UPDATE_CHECK and update_check to CHECK_UPDATE and check_update to make names consistent
-::                      - tron_update:   Remove all references to sub-stage update. The idea behind this functionality was ported over to updating the debloat lists instead
+::                      - tron_update:   Remove all references to substage update. The idea behind this functionality was ported over to updating the debloat lists instead
+::                      * misc:          Replace two relative calls to FIND with references to the Tron's full path variable %FIND%
 ::
 :: Usage:         Run this script as an Administrator (Safe Mode preferred but not required), follow the prompts, and reboot when finished. That's it.
 ::
@@ -166,7 +167,7 @@
 :::::::::::::::::::::
 color 0f
 set SCRIPT_VERSION=9.4.0
-set SCRIPT_DATE=2016-09-xx
+set SCRIPT_DATE=2016-09-03
 title Tron v%SCRIPT_VERSION% (%SCRIPT_DATE%)

 :: Initialize script-internal variables. Most of these get clobbered later so don't change them here
@@ -314,8 +315,8 @@
 :: INTERNAL PREP: Detect the version of Windows we're on. This determines a few things later on
 set WIN_VER=undetected
 set WIN_VER_NUM=undetected
-for /f "tokens=3*" %%i IN ('reg query "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion" /v ProductName ^| Find "ProductName"') DO set WIN_VER=%%i %%j
-for /f "tokens=3*" %%i IN ('reg query "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion" /v CurrentVersion ^| Find "CurrentVersion"') DO set WIN_VER_NUM=%%i
+for /f "tokens=3*" %%i IN ('reg query "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion" /v ProductName ^| %FIND% "ProductName"') DO set WIN_VER=%%i %%j
+for /f "tokens=3*" %%i IN ('reg query "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion" /v CurrentVersion ^| %FIND% "CurrentVersion"') DO set WIN_VER_NUM=%%i

 :: INTERNAL PREP: Check if we're on an unsupported OS. If we are, complain to the user and bail
@@ -393,8 +394,8 @@

 :: INTERNAL PREP: Check for updates
-if /i %DRY_RUN%==yes set SKIP_CHECK_UPDATE=yes
-if /i %AUTORUN%==yes set SKIP_CHECK_UPDATE=yes
+REM if /i %DRY_RUN%==yes set SKIP_CHECK_UPDATE=yes
+REM if /i %AUTORUN%==yes set SKIP_CHECK_UPDATE=yes
 if /i %SKIP_CHECK_UPDATE%==no (
 	cls
 	echo.
@@ -404,7 +405,7 @@
 	call functions\log.bat "   Done."
 	echo.
 	if /i %SKIP_DEBLOAT_UPDATE%==no (
-		call functions\log.bat "   Checking repo for updated debloat lists..."
+		call functions\log.bat "   Checking Github for updated debloat lists..."
 		echo.
 		call stage_0_prep\check_update\check_update_debloat_lists.bat
 		call functions\log.bat "   Done."
@@ -1147,6 +1148,6 @@
 	if /i %%i==-v set VERBOSE=yes
 	if /i %%i==-x set SELF_DESTRUCT=yes
 	if %%i==-UPM set UNICORN_POWER_MODE=on
-	)
+)
 goto :eof
 :eof


Updated to v1.7 (in progress)

Updated to v1.7 (in progress)

Not complete

--- tron.bat
+++ tron.bat
@@ -4,7 +4,11 @@
 :: Requirements:  1. Administrator access
 ::                2. Safe mode is strongly recommended
 :: Author:        vocatus on reddit.com/r/sysadmin ( vocatus.gate@gmail.com ) // PGP key ID: 0x82A211A2
-:: Version:       1.5  + tron.bat:          Added "-auto" flag to support silent/scripted execution. Run the script and pass "-auto"
+:: Version:       1.7  + tron.bat:          Added check for Administrator rights. Thanks to reddit.com/user/apcomputerworks
+::                1.6  + stage_2_disinfect: Added System File Checker scan to repair broken Windows core files. Skipped on XP and Server 2003 since
+::                                          these require an original install disk to function. Thanks to reddit.com/user/cyr4n0
+::                     + stage_0_prep:      Added code to detect and repair broken WMI configurations
+::                1.5  + tron.bat:          Added "-auto" flag to support silent/scripted execution. Run the script and pass "-auto"
 ::                                          as the first argument and Tron will run silently while still using all settings configured
 ::                                          in the VARIABLES section
 ::                     * tron.bat:          Set power mode to "Always On/High Performance" at start of script, then reset power settings to Windows defaults when finished
@@ -17,7 +21,7 @@
 ::                     * stage_2_disinfect: Switched Sophos and Vipre to log to console instead of log file.
 ::                                          This way you can see which file they're on, and prevents people from thinking
 ::                                          the scanner is stalled.
-::                1.3  * tron.bat: patch:   Updated links for Adobe Flash and Notepad++ to reflect new versions
+::                1.3  * stage_4_patch:     Updated links for Adobe Flash and Notepad++ to reflect new versions
 ::                1.2  + stage_5_optimize:  Added detection of SSD drives. If drive is detected, post-run defrag is skipped
 ::                                          Thanks to reddit.com/user/you_drown_now for help with this function.
 ::                     * stage_3_de-bloat:  Improved logic, logging, and robustness for WMIC removal section
@@ -47,9 +51,10 @@
 :: Prep and Checks :: -- Don't change anything in this section
 ::::::::::::::::::::: -- Set the variables in the "variables" section below
 @echo off && cls
+echo. && echo  Loading... && echo.
 SETLOCAL
-set VERSION=1.5
-set UPDATED=2014-07-15
+set VERSION=1.7
+set UPDATED=2014-07-xx
 title TRON v%VERSION% (%UPDATED%)
 :: Get the date into a format we can use
 if "%DATE:~-5,1%"=="/" (set CUR_DATE=%DATE:~-4%-%DATE:~4,2%-%DATE:~7,2%) else (set CUR_DATE=%DATE%)
@@ -58,7 +63,7 @@
 :: Get in the correct drive. This is useful if we start from a network share; convert CWD to a drive letter
 pushd %~dp0 2>NUL

-:: Detect if we're on XP/2k3-series kernel
+:: Detect if we're on an XP/2k3-series kernel
 :: This is used to determine which powercfg.exe commands to run in the Prep section
 set WIN_VER=undetected
 ver | find /i "Version 5." >NUL
@@ -108,6 +113,7 @@

 :: -------------------------- Don't edit anything below this line -------------------------- ::

+
 :: Check for autorun
 if "%1"=="-auto" goto execute_jobs

@@ -121,13 +127,14 @@
 :: WELCOME SCREEN ::
 ::::::::::::::::::::
 :welcome_screen
+cls
 echo  *****************  TRON v%VERSION% (%UPDATED%)  ******************
 echo  * Script to automate a series of cleanup/disinfect tools.   *
 echo  * Author: vocatus on reddit.com/r/sysadmin                  *
 echo  *                                                           *
 echo  * Stage:         Tools:                                     *
 echo  * --------------------------------------------------------- *
-echo  *  0 Prep:       rkill                                      *
+echo  *  0 Prep:       rkill, WMI repair                          *
 echo  *  1 TempClean:  BleachBit, CCleaner                        *
 echo  *  2 Disinfect:  Vipre, Sophos, MBAM                        *
 echo  *  3 De-bloat:   Remove OEM bloatware apps                  *
@@ -198,6 +205,28 @@
 		pause
 		cls
 		)
+
+::::::::::::::::::::::::
+:: ADMIN RIGHTS CHECK ::
+::::::::::::::::::::::::
+set ADMINDIR=%WINDIR%\System32\Test_%RANDOM%
+mkdir "%ADMINDIR%" 2>NUL
+if not "%ERRORLEVEL%"=="" (
+		color 0c
+		cls
+		echo.
+		echo  ERROR
+		echo.
+		echo  Tron is not running as an Administrator. Tron MUST
+		echo  be run with full Administrator rights to function.
+        echo  Run from an elevated command-prompt, or right-click
+		echo  and "Run as Administrator."
+		echo.
+		pause
+		exit /b 1
+	) else (
+		rmdir /s /q "%ADMINDIR%"
+	)

 ::::::::::::::::::
@@ -225,17 +254,6 @@
 echo %CUR_DATE% %TIME%   Launching stage_0_prep jobs...>> "%LOGPATH%\%LOGFILE%"
 echo %CUR_DATE% %TIME%   Launching stage_0_prep jobs...

-
-:: JOB: Disable sleep mode
-echo %CUR_DATE% %TIME%   Disabling Sleep mode...>> "%LOGPATH%\%LOGFILE%"
-echo %CUR_DATE% %TIME%   Disabling Sleep mode...
-pushd disable_sleep
-:: Check for Windows XP and run the appropriate powercfg command
-if "%WIN_VER%"=="xp2k3" (powercfg /SETACTIVE "Always On") else (powercfg /SETACTIVE 8c5e7fda-e8bf-4a96-9a85-a6e23a8c635c)
-popd
-echo %CUR_DATE% %TIME%   Done.>> "%LOGPATH%\%LOGFILE%"
-echo %CUR_DATE% %TIME%   Done.
-
 :: JOB: rkill (kills running malware processes)
 echo %CUR_DATE% %TIME%   Launching job 'rkill'...>> "%LOGPATH%\%LOGFILE%"
 echo %CUR_DATE% %TIME%   Launching job 'rkill'...
@@ -254,6 +272,49 @@
 echo %CUR_DATE% %TIME%   Done.>> "%LOGPATH%\%LOGFILE%"
 echo %CUR_DATE% %TIME%   Done.

+:: JOB: Disable sleep mode
+echo %CUR_DATE% %TIME%   Disabling Sleep mode...>> "%LOGPATH%\%LOGFILE%"
+echo %CUR_DATE% %TIME%   Disabling Sleep mode...
+pushd disable_sleep
+:: Check for Windows XP and run the appropriate powercfg command
+if "%WIN_VER%"=="xp2k3" (powercfg /SETACTIVE "Always On") else (powercfg /SETACTIVE 8c5e7fda-e8bf-4a96-9a85-a6e23a8c635c)
+popd
+echo %CUR_DATE% %TIME%   Done.>> "%LOGPATH%\%LOGFILE%"
+echo %CUR_DATE% %TIME%   Done.
+
+:: JOB: Check and Repair WMI if it's broken
+echo %CUR_DATE% %TIME%   Checking WMI...>> "%LOGPATH%\%LOGFILE%"
+echo %CUR_DATE% %TIME%   Checking WMI...
+pushd wmi_repair
+
+:: Do a quick check to make sure WMI is working, and if not, repair it
+wmic timezone >NUL
+if not %ERRORLEVEL%==0 (
+    echo %CUR_DATE% %TIME% ! WMI appears to be broken. Running WMI repair. This might take a minute, please be patient...>> "%LOGPATH%\%LOGFILE%"
+    echo %CUR_DATE% %TIME% ! WMI appears to be broken. Running WMI repair. This might take a minute, please be patient...
+    net stop winmgmt
+    pushd %WINDIR%\system32\wbem
+    for %%i in (*.dll) do RegSvr32 -s %%i
+    :: Kill this random window that pops up
+    tskill wbemtest /a 2>NUL
+    scrcons.exe /RegServer
+    unsecapp.exe /RegServer
+    start "" wbemtest.exe /RegServer
+    tskill wbemtest /a 2>NUL
+    tskill wbemtest /a 2>NUL
+    :: winmgmt.exe /resetrepository       -- optional; forces full rebuild instead of a repair like the line below this
+	winmgmt.exe /salvagerepository /resyncperf
+    wmiadap.exe /RegServer
+    wmiapsrv.exe /RegServer
+    wmiprvse.exe /RegServer
+    net start winmgmt
+    popd
+	)
+
+popd
+echo %CUR_DATE% %TIME%   Done.>> "%LOGPATH%\%LOGFILE%"
+echo %CUR_DATE% %TIME%   Done.
+
 popd
 echo %CUR_DATE% %TIME%   Completed stage_0_prep jobs.>> "%LOGPATH%\%LOGFILE%"
 echo %CUR_DATE% %TIME%   Completed stage_0_prep jobs.
@@ -336,10 +397,23 @@
 pushd "%ProgramFiles(x86)%\Malwarebytes Anti-Malware"
 start "" "mbam.exe"
 popd
-popd
-
-echo %CUR_DATE% %TIME%   Done.>> "%LOGPATH%\%LOGFILE%"
-echo %CUR_DATE% %TIME%   Done.
+
+
+popd
+echo %CUR_DATE% %TIME%   Done.>> "%LOGPATH%\%LOGFILE%"
+echo %CUR_DATE% %TIME%   Done.
+
+:: JOB: System File Checker scan
+echo %CUR_DATE% %TIME%   Launching job 'System File Checker'...>> "%LOGPATH%\%LOGFILE%"
+echo %CUR_DATE% %TIME%   Launching job 'System File Checker'...
+pushd sfc
+:: Basically this says "If OS is NOT XP or 2003, then go ahead and run system file checker
+if not "%WIN_VER%"=="xp2k3" sfc /scannow
+popd
+echo %CUR_DATE% %TIME%   Done.>> "%LOGPATH%\%LOGFILE%"
+echo %CUR_DATE% %TIME%   Done.
+
+

 popd
 echo %CUR_DATE% %TIME%   Completed stage_2_disinfect jobs.>> "%LOGPATH%\%LOGFILE%"


Removed NuGet package restore command

Removed NuGet package restore command

--- prestore.cmd
+++ prestore.cmd
@@ -1,23 +0,0 @@
-@echo off
-setlocal
-for %%i in (NuGet.exe) do set nuget_path=%%~dpnx$PATH:i
-if "%nuget_path%"=="" goto :nonuget
-set packages_path=%~dp0packages
-if exist "%packages_path%\repositories.config" (
-    for /f "usebackq delims=" %%p in (`PowerShell -C "[xml](Get-Content '%packages_path%\repositories.config') | Select-Xml //repository/@path | %%{$_.Node.Value}"`) do call :restore "%packages_path%\%%p" || exit /b 1
-) else (
-    for /r %%d in (.) do if exist "%%~d\packages.config" call :restore "%%~d\packages.config" || exit /b 1
-)
-goto :EOF
-
-:restore
-setlocal
-echo Restoring packages for "%~dp1"
-cd "%~dp1"
-"%nuget_path%" install %1 -OutputDirectory "%packages_path%"
-exit /b %errorlevel%
-
-:nonuget
-echo NuGet executable not found in PATH
-echo For more on NuGet, see http://nuget.codeplex.com
-exit /b 2


Fix quotes

Fix quotes

--- recipes/dcgp-python/bld.bat
+++ recipes/dcgp-python/bld.bat
@@ -31,7 +31,7 @@
     -DCMAKE_INSTALL_PREFIX=%LIBRARY_PREFIX% ^
     -DDCGP_BUILD_DCGP=no ^
     -DDCGP_BUILD_DCGPY=yes ^
-    -DDCGP_CXX_FLAGS_EXTRA="-D_copysign=copysign -Dand=&& -Dnot=!" ^
+    "-DDCGP_CXX_FLAGS_EXTRA=-D_copysign=copysign -Dand=&& -Dnot=!" ^
     ..

 cmake --build . -- -v


Delete stop.bat

Delete stop.bat

--- stop.bat
+++ stop.bat
@@ -1,2 +0,0 @@
-@echo off
-@heroku ps:scale worker=0


Should be fine now.

Should be fine now.

--- sync.bat
+++ sync.bat
@@ -1,2 +1,4 @@
+::Launch git in cmd, assuming already in path.
+git init
 ::Switch to gh-pages, pull from master, commit, then switch back to master.
-git checkout gh-pages && git checkout master psdle*.js && git commit -a -m "Sync with master" && git checkout master+git checkout gh-pages && git checkout master psdle*.js && git commit -a -m "Sync with master." && git checkout master


fixed appveyor vstest logger

fixed appveyor vstest logger

--- test.cmd
+++ test.cmd
@@ -3,7 +3,7 @@
 packages\xunit.runner.console\tools\xunit.console.x86.exe FsMessageTemplates.Tests\bin\Release\FsMessageTemplates.Tests.dll

 IF ['%APPVEYOR%'] == ['True'] (
-	vstest.console /Logger:AppVeyor /Logger:timelineLogger MessageTemplates.PerfTests\bin\Release\MessageTemplates.PerfTests.exe
+	vstest.console /Logger:AppVeyor MessageTemplates.PerfTests\bin\Release\MessageTemplates.PerfTests.exe
 ) ELSE (
 	vstest.console /Logger:timelineLogger MessageTemplates.PerfTests\bin\Release\MessageTemplates.PerfTests.exe
 )


Add bolt build usage. Implement help mode

--- src/bolt-build.subr.bat
+++ src/bolt-build.subr.bat
@@ -1,10 +1,76 @@
 @echo off

 goto entry
+
+:usage
+  echo usage: bolt build [-c^|--config CONFIG_JS] [-o^|--output OUTPUT_DIR] [-s^|--src-dir SRC_DIR]
+  echo                   [-i^|--inline] [-n^|--invoke-main MAIN_MODULE] [-r^|--register]
+  echo                   [-m^|--modules] [-e^|--entry-points FILE ...] [-g^|--entry-group NAME FILE ...]
+  echo.
+  echo options:
+  echo   -c^|--config CONFIG_JS         override bolt configuration file
+  echo                                    default: config/bolt/prod.js
+  echo   -o^|--output OUTPUT_DIR         override output directory, note this is different
+  echo                                  to the jsc compile directory, the compiled output,
+  echo                                  will be located at $OUTPUT_DIR/compile
+  echo                                    default: scratch/main/js
+  echo   -s^|--src-dir SRC_DIR           override source directory
+  echo                                    default: src/main/js
+  echo   -i^|--inline                    enable generation of inline scripts (only produces output
+  echo                                  in conjunction with -e or -g).
+  echo   -n^|--invoke-main MAIN_MODULE   specify main module of inline scripts.
+  echo   -r^|--register                  register modules in global namespace for inline scripts,
+  echo                                  this will default to true unless -n is specified.
+  echo   -m^|--modules                   enable generation of flat module files.
+  echo   -e^|--entry-points FILE ...     specify a set of entry points, a compiled output
+  echo                                  will be generated for each entry point. Multiple
+  echo                                  -e flags may be specified.
+  echo   -g^|--entry-group NAME FILE ... specify an entry group, a single compiled output
+  echo                                  will be generated with NAME for each entry-group.
+  echo                                  Multiple -g flags may be specified.
+  echo.
+  echo example:
+  echo   Produce a bolt build for a top level application. A compiled file will be
+  echo   generated for each Main module in this example.
+  echo.
+  echo     bolt build -e src/main/js/**/*Main.js
+  echo.
+  echo.
+  echo   Produce a bolt build for a top level library. A self contained script registering
+  echo   all modules in their namespace will be produced.
+  echo.
+  echo     bolt build -i -g example src/main/js/**/api/*.js
+  echo.
+  echo.
+  echo   Produce a bolt build for a general purpose library, in this build we only want
+  echo   modules to be produced, no compiled output.
+  echo.
+  echo     bolt build -m src/main/js
+
+  exit /b 0
+
+:fail_usage
+  echo.
+  call :usage
+  exit /b 1
+
+:fail
+  exit /b 1
+
+:is_dir
+  setlocal
+  set olddir=%CD%
+  cd "%~1" 2>NUL
+  set err=%errorlevel%
+  cd "%olddir%"
+  exit /b %err%
+

 :entry

 set base=%~dp0

+if "%help_mode%"=="true" call :usage && exit /b 0
+
 echo Windows support for bolt build is currently not implemented.
 exit /b 1


cleaned up batch file

cleaned up batch file

--- runTests.bat
+++ runTests.bat
@@ -1,2 +1 @@
-java -jar thirdparty\jstestdriver\JsTestDriver-1.3.4.b.jar --server http://localhost:60000 --tests all --config jsTestDriver.conf --captureConsole
---reset+java -jar thirdparty\jstestdriver\JsTestDriver-1.3.4.b.jar --server http://localhost:60000 --tests all --config jsTestDriver.conf --captureConsole --reset


Add bin copy

Add bin copy

--- MyGet.bat
+++ MyGet.bat
@@ -5,4 +5,4 @@
 dnu publish
 cd ..
 cd ..
-cd ./artifacts+xcopy ./artifacts/bin/AspNet.Mvc.Formatters.Protobuf ./src/AspNet.Mvc.Formatters.Protobuf /s


Folder cleaning before build and package compilation added

--- NuGet.bat
+++ NuGet.bat
@@ -5,16 +5,17 @@

 @echo ==========================
 @echo Building NConfig.
+@rmdir bin /s /q
 %DEVENV100% /nologo /build Release "NConfig.sln"
 @if errorlevel 1 goto error

 @echo ==========================
 @echo Copying NConfig assemblies.
-mkdir NuGet\lib
+@rmdir NuGet\lib /s /q
+@mkdir NuGet\lib
 xcopy bin\Release NuGet\lib /s /y
 @if errorlevel 0 goto nuget
 @goto error
-

 :nuget
 @echo ==========================


S-64842 Verify index folder checksums

S-64842 Verify index folder checksums

error: pathspec 'Azure.Migration/verify_checksums-index.bat' did not match any file(s) known to git

--- Azure.Migration/verify_checksums-index.bat
+++ Azure.Migration/verify_checksums-index.bat
@@ -0,0 +1,2 @@
+REM Verify the checksums on just the index folder files
+C:\CommitStream\dependencies\bin\fciv -v -sha1 -xml checksums-index.xml


restore old alias.cmd without 'create' option

--- vendor/bin/alias.cmd
+++ vendor/bin/alias.cmd
@@ -48,28 +48,9 @@
       doskey /macros | %WINDIR%\System32\findstr /b %currentarg%= && exit /b
       echo insufficient parameters.
       goto :p_help
-    ) else if "%currentarg%" == "create" (
+    ) else (
+      :: handle quotes within command definition, e.g. quoted long file names
       set _x=%*
-
-      set _x=!_x:^^=^^^^!
-      set action=create
-      if ["%_f%"] neq [""] (
-        for /f "tokens=1,2,3,* usebackq" %%G in (`echo !_x!`) do (
-          set _x=%%J
-        )
-      ) else (
-        for /f "tokens=1,2,* usebackq" %%G in (`echo !_x!`) do (
-          set _x=%%H %%I
-        )
-      )
-    ) else (
-      set _x=%*
-      if ["%_f%"] neq [""] (
-        set _x=!_x:^^=^^^^!
-        for /f "tokens=1,2,* usebackq" %%G in (`echo !_x!`) do (
-          set _x=%%I
-        )
-      )
     )
   )

@@ -88,25 +69,17 @@
   )
 )

-:: create with multiple parameters
-if [%action%] == [create] (
-  for /f "tokens=1,* usebackq" %%G in (`echo !_x!`) do (
-    set alias_name=%%G
-    set alias_value=%%H
-  )
-) else (
-  :: validate alias
-  for /f "delims== tokens=1,* usebackq" %%G in (`echo "!_x!"`) do (
-    set alias_name=%%G
-    set alias_value=%%H
-  )
+:: validate alias
+for /f "delims== tokens=1,* usebackq" %%G in (`echo "!_x!"`) do (
+  set alias_name=%%G
+  set alias_value=%%H
+)

-  :: leading quotes added while validating
-  set alias_name=!alias_name:~1!
-
-  :: trailing quotes added while validating
-  set alias_value=!alias_value:~0,-1!
-)
+:: leading quotes added while validating
+set alias_name=!alias_name:~1!
+
+:: trailing quotes added while validating
+set alias_value=!alias_value:~0,-1!

 ::remove spaces
 set _temp=%alias_name: =%


readme.md

readme.md

--- vendor/bin/cexec.cmd
+++ vendor/bin/cexec.cmd
@@ -22,7 +22,7 @@
   set "ccall=call %~dp0cexec.cmd"
   set "cexec=%~dp0cexec.cmd"
 ) else if /i "%currenArgu%" == "/?" (
-  call :help
+  goto :help
 ) else if /i "%currenArgu%" equ "/help" (
   goto :help
 ) else if /i "%currenArgu%" equ "/h" (


build: patch Windows container, fixing Node 10 (#314)

--- .kokoro/test.bat
+++ .kokoro/test.bat
@@ -17,7 +17,15 @@
 cd /d %~dp0
 cd ..

-call npm install -g npm@latest || goto :error
+@rem The image we're currently running has a broken version of Node.js enabled
+@rem by nvm (v10.15.3), which has no npm bin. This hack uses the functional
+@rem Node v8.9.1 to install npm@latest, it then uses this version of npm to
+@rem install npm for v10.15.3.
+call nvm use v8.9.1 || goto :error
+call node C:\Users\kbuilder\AppData\Roaming\nvm-ps\versions\v8.9.1\node_modules\npm-bootstrap\bin\npm-cli.js i npm -g || goto :error
+call nvm use v10.15.3 || goto :error
+call node C:\Users\kbuilder\AppData\Roaming\nvm-ps\versions\v8.9.1\node_modules\npm\bin\npm-cli.js i npm -g || goto :error
+
 call npm install || goto :error
 call npm run test || goto :error


chore: use latest npm on Windows (#576)

chore: use latest npm on Windows (#576)

--- .kokoro/test.bat
+++ .kokoro/test.bat
@@ -1,4 +1,4 @@
-@rem Copyright 2018 gRPC authors.
+@rem Copyright 2018 Google LLC. All rights reserved.
 @rem
 @rem Licensed under the Apache License, Version 2.0 (the "License");
 @rem you may not use this file except in compliance with the License.
@@ -17,8 +17,7 @@
 cd /d %~dp0
 cd ..

-call npm install -g npm@5 || goto :error
-
+call npm install -g npm@latest || goto :error
 call npm install || goto :error
 call npm run test || goto :error


add all_test.bat

add all_test.bat

error: pathspec 'test/all_test.bat' did not match any file(s) known to git

--- test/all_test.bat
+++ test/all_test.bat
@@ -0,0 +1,15 @@
+@setlocal enabledelayedexpansion
+
+@if [%1] == [] goto exit_with_usage
+
+set utils_dir=%~1
+
+nist-sp-800-38a.py --path "%utils_dir%" || exit /b !errorlevel!
+cavp.py            --path "%utils_dir%" || exit /b !errorlevel!
+file.py            --path "%utils_dir%" || exit /b !errorlevel!
+
+@goto :eof
+
+:exit_with_usage
+@echo usage: %0 UTILS_DIR >&2
+@exit /b 1


Add NuPush.bat

Add NuPush.bat

error: pathspec 'pkg/NuPush.bat' did not match any file(s) known to git

--- pkg/NuPush.bat
+++ pkg/NuPush.bat
@@ -0,0 +1,12 @@
+@echo off
+setlocal
+set PkgDir=%~dp0
+set PATH=%PATH%;%PkgDir%
+set Version=4.0.0-alpha1
+
+cd %PkgDir%\System.Waf\Release
+
+nuget Push System.Waf.Core.%Version%.nupkg
+nuget Push System.Waf.UnitTesting.Core.%Version%.nupkg
+nuget Push System.Waf.Wpf.%Version%.nupkg
+nuget Push System.Waf.UnitTesting.Wpf.%Version%.nupkg


test write permission

test write permission

git-svn-id: ecbadac9c76e8cf640a0bca86f6bd796c98521e3@22284 27541ba8-7e3a-0410-8455-c3a389f83636

--- cint/tool/ifdef/setup.bat
+++ cint/tool/ifdef/setup.bat
@@ -1,4 +1,4 @@
-
+

 nmake -nologo -f ifdef.mak


Fix : remove a bad call to iexplore to the windows install script.

--- windows/install-all.bat
+++ windows/install-all.bat
@@ -42,7 +42,6 @@
 if exist %PATH_INSTSRV%\instsrv.exe goto main
 echo You need to install  %PATH_INSTSRV%\instsrv.exe from Microsoft Website !!!
 echo  http://www.microsoft.com/downloads/details.aspx?FamilyID=9D467A69-57FF-4AE7-96EE-B18C4790CFFD
-start /w iexplorer  http://www.microsoft.com/downloads/details.aspx?FamilyID=9D467A69-57FF-4AE7-96EE-B18C4790CFFD
 pause
 exit


update minor version

update minor version

--- test/test_app.bat
+++ test/test_app.bat
@@ -1 +1,6 @@
 ### test_app.bat - 201x - Fabien Desert ###
+version = "1.2.0-b"
+build_hour = "11H00"
+
+echo "Build ${build_hour}"
+echo "version ${version}"


updated sdk automation messages

updated sdk automation messages

--- scripts/sdk-update.cmd
+++ scripts/sdk-update.cmd
@@ -1,5 +1,6 @@
 SET VERSION=v19.1.1
 SET JSON="{\"title\": \"Update for %VERSION%\", \"head\": \"avaDev:%VERSION%\", \"base\": \"master\", \"maintainer_can_modify\": true, \"body\": \"Update for %VERSION%\"}"
+

 START /WAIT "" "%PROGRAMFILES%\Git\bin\sh.exe" -c "sh git-branch.sh %VERSION%"


rm YC.Core build script

rm YC.Core build script

--- BuildScripts/YC.Core.bat
+++ BuildScripts/YC.Core.bat
@@ -1 +0,0 @@
-..\tools\Build.Tools\Fake\FAKE.exe ..\tools\Build.Tools\YC.Core.fsx "user=%1" "password=%2"


Update patch.bat

Update patch.bat

--- Patchers_Auto_Update/IOS-Patcher/patch.bat
+++ Patchers_Auto_Update/IOS-Patcher/patch.bat
@@ -1,6 +1,6 @@
 @echo off
 :: The version variable - it's being used to check for update and just to show user what version is user using.
-set version=1.8.0
+set version=1.8.1
 if exist temp.bat del /q temp.bat
 if exist "C:\Users\%username%\Desktop\IOSPatcherDebug.txt" goto debug_load
 :1
@@ -9,16 +9,16 @@
 :: Window size (Lines, columns)
 set mode=126,35
 mode %mode%
-:: Coding page
-chcp 65001
-
+:: Coding page (in order to make IOS Patcher on Windows XP working, this command has been disabled)
+:: chcp 65001
 set error4112=0
 set filcheck=0
 set patchingok=1
+
 :: Window Title
 title IOS Patcher for RiiConnect24 v.%version%  Created by @Larsenv, @KcrPL
-set last_build=2017/08/14
-set at=15:51
+set last_build=2017/08/18
+set at=21:55
 :: ### Auto Update ###
 :: 1=Enable 0=Disable
 :: IOSPatcher_Update_Activate - If disabled, patcher will not even check for updates, default=1
@@ -93,9 +93,14 @@
 echo                                   -odhhhhyddmmmmmNNmhs/:`
 echo                                     :syhdyyyyso+/-`
 pause>NUL
+set /a errorwinxp=0
+timeout -0 /nobreak >NUL || set /a errorwinxp=1
+if %errorwinxp%==1 goto winxp_notice
+
+set /a eula=0
 if not exist %MainFolder% md %MainFolder%
 if not exist %MainFolder%\eula.txt echo 0 >>%MainFolder%\eula.txt
-set /p eula=<%MainFolder%\eula.txt
+if exist %MainFolder%\eula.txt set /p eula=<%MainFolder%\eula.txt
 if %eula%==0 goto show_eula

 goto startup_script
@@ -175,9 +180,6 @@
 echo                                     :syhdyyyyso+/-`

 :: We don't support Windows XP anymore. Windows XP don't have timeout command, it means that if that command will be runned on Windows XP it will return exit code 1.
-set /a errorwinxp=0
-timeout -0 /nobreak >NUL || set /a errorwinxp=1
-if %errorwinxp%==1 goto winxp_notice

 :: Update script.
 set updateversion=0.0.0
@@ -471,7 +473,7 @@
 echo   /     \  Thanks for using the program but support for any system older than Windows 7 has been ended.
 echo  /   !   \ It means that you can still use this program but if you encounter any problem with it we will not help you.
 echo  --------- We may release ESR if needed. (Extended Support Release)
-echo.
+echo  We will allow you to use this program. But make sure to have .NET Framework 3.5 installed in order to make it work.
 echo            Press any key to continue.
 echo ------------------------------------------------------------------------------------------------------------------------------
 echo           -mddmmo`mNMNNNNMMMNNNmdyoo+mMMMNmNMMMNyyys
@@ -606,8 +608,6 @@
 goto begin_main
 :begin
 cls
-if exist "%appdata%\temprc24.txt" del /q "%appdata%\temprc24.txt"
-if %language%==NotDefined goto set_language
 if not exist 00000006-80.delta set /a delta80=2
 if not exist 00000006-31.delta set /a delta31=2
 if not exist libWiiSharp.dll goto error_runtime_error
@@ -790,41 +790,6 @@

 :set_language_en
 cls
-set text1=Some of the files needed to run this program were not found.
-set text2=Redownload the package and try again.
-set text3=Click any button to close the patcher.
-set text4=Are you gonna be using this patcher for Wii or WiiU?
-set text5=Unfortunately, you cannot use this patcher for Wii U :(
-set text6=If you were joking, click something to go back.
-set text7=If not, close this program.
-set text8=We need to download IOS 31 and 80.
-set text9=Click any button to proceed to download.
-set text10=We cannot download the files because your Internet connection is disabled!
-set text11=Enable your connection and click any button to try again.
-set text12=Please wait... files are being downloaded...
-set text13=Patching is done.
-set text14=Patched IOS files will be in folder called "WAD".
-set text15=There was an error while patching.
-set text16=Press any button to try again.
-set text17=Check your internet connection and try again.
-set text18=That problem was probably caused by your internet connection.
-set text19=Do you want to copy patched files to an SD Card?
-set text20=Yes
-set text21=No
-set text22=Please wait...
-set text23=An SD card was not found in the system.
-set text24=Please connect SD Card and press any button to try again.
-set text25=Current SD Card Letter:
-set text26=Do you want to change SD Card drive letter?
-set text27=Continue and copy files to SD Card
-set text28=Change drive letter
-set text29=Exit
-set text30=Type in new drive letter
-set text31=There was an error while copying files.
-set text32=Please wait... copying.
-set text33=Files has been copied to SD Card to folder called "WAD"
-
-set language=English
 goto begin

 :DoNotTouchThisSection
@@ -867,7 +832,7 @@
 echo ---------------------------------------------------------------------------------------------------------------------------
 echo  [*] Configuring
 echo.
-echo %text4%
+echo Are you gonna be using this patcher for Wii or WiiU?
 echo.
 echo ---------------------------------------------------------------------------------------------------------------------------
 echo                          1. Wii                                                 2. WiiU
@@ -883,10 +848,10 @@
 echo ---------------------------------------------------------------------------------------------------------------------------
 echo  [*] Error.
 echo.
-echo %text5%
-echo.
-echo %text6%
-echo %text7%
+echo Unfortunately, you cannot use this patcher for Wii U :(
+echo.
+echo If you were joking, press anything to go back
+echo If not, close this program.
 pause>NUL
 goto 3
 :4
@@ -899,8 +864,8 @@
 echo ---------------------------------------------------------------------------------------------------------------------------
 echo  [*] Info.
 echo.
-echo %text8%
-echo %text9%
+echo We need to download IOS 31 and 80.
+echo Click any button to proceed to download.
 echo.
 pause>NUL
 goto 5
@@ -1083,9 +1048,10 @@
 echo  /   !   \ Error Code: %temperrorlev%
 echo  --------- Failing module: %modul%
 echo.
-if not %temperrorlev%==-532459699 echo.
-if %temperrorlev%==-532459699 echo  Please check your internet connection.
-echo       Press any key to start patching again.
+echo.
+if %temperrorlev%==-532459699 echo Please check your internet connection.
+if %temperrorlev%==-2146232576 echo Please install .NET Framework 3.5, than try to patch again.
+echo       Press any key to return to main menu.
 echo ---------------------------------------------------------------------------------------------------------------------------
 echo           :mdmmmo-mNNNNNNNNNNdyo++sssyNMMMMMMMMMhs+-
 echo          .+mmdhhmmmNNNNNNmdysooooosssomMMMNNNMMMm
@@ -1109,11 +1075,11 @@
 echo ---------------------------------------------------------------------------------------------------------------------------
 echo  [*] SD Card
 echo.
-echo %text13%
-echo %text19%
-echo.
-echo ---------------------------------------------------------------------------------------------------------------------------
-echo                   1. %text20%              3. Copy files to Desktop and exit                2. %text21%
+echo Patching is done.
+echo Do you want to copy patched files to an SD Card?
+echo.
+echo ---------------------------------------------------------------------------------------------------------------------------
+echo                   1. Yes              3. Copy files to Desktop and exit                2. No
 set /p s=
 if %s%==1 goto sd_card_check
 if %s%==2 goto end
@@ -1137,7 +1103,7 @@
 echo  [*] SD Card
 echo.
 set sdcard=NotDefined
-echo %text22%
+echo Please wait...
 goto sd_a
 :: Shitty script but it works, duh. :P
 :: Every Wii SD Card should have two folders in it: apps and private. That's how it's being checked :)
@@ -1292,8 +1258,8 @@
 echo ---------------------------------------------------------------------------------------------------------------------------
 echo  [*] SD Card
 echo.
-if %sdcard%==NotDefined echo %text23%
-if %sdcard%==NotDefined echo %text24%
+if %sdcard%==NotDefined echo An SD card was not found in the system.
+if %sdcard%==NotDefined echo Please connect SD Card and press any button to try again.
 if not %sdcard%==NotDefined goto sd_card_defined
 pause>NUL
 goto ask_for_copy_to_an_sd_card
@@ -1304,11 +1270,11 @@
 echo ---------------------------------------------------------------------------------------------------------------------------
 echo  [*] SD Card
 echo.
-echo %text25% %sdcard%
-echo %text26%
-echo.
-echo ---------------------------------------------------------------------------------------------------------------------------
-echo 1. %text27%             2. %text28%                  3. %text29%
+echo Current SD Card Letter: %sdcard%
+echo Do you want to change SD Card drive letter?
+echo.
+echo ---------------------------------------------------------------------------------------------------------------------------
+echo 1. Continue and copy files to SD Card             2. Change drive letter                  3. Exit
 set /p s=
 if %s%==1 goto sd_card_copying
 if %s%==2 goto change_sd_card_letter
@@ -1321,9 +1287,9 @@
 echo ---------------------------------------------------------------------------------------------------------------------------
 echo  [*] SD Card
 echo.
-echo %text25% %sdcard%
-echo.
-echo %text30% (e.g H)
+echo Current SD Card Letter: %sdcard%
+echo.
+echo Type in new drive letter (e.g H)
 set /p sdcard=
 goto sd_card_defined
 :sd_card_error
@@ -1334,7 +1300,7 @@
 echo ---------------------------------------------------------------------------------------------------------------------------
 echo  [*] Error.
 echo.
-echo %text31%
+echo There was an error while copying files.
 pause
 goto ask_for_copy_to_an_sd_card
 :sd_card_copying
@@ -1346,7 +1312,7 @@
 echo ---------------------------------------------------------------------------------------------------------------------------
 echo  [*] SD Card
 echo.
-echo %text32%
+echo Please wait... copying.
 copy "WAD" "%sdcard%:\" >NUL || set /a errorcopying=1
 if %errorcopying%==1 goto sd_card_error
 goto end
@@ -1366,10 +1332,10 @@
 echo ---------------------------------------------------------------------------------------------------------------------------
 echo  [*] Thanks for using the Patcher! :)
 echo.
-if %patchingok%==1 echo %text13%
-if %patchingok%==1 echo %text14%
-echo.
-if %copyingsdcard%==1 echo %text33%
+if %patchingok%==1 echo Patching is done.
+if %patchingok%==1 echo Patched IOS files will be in folder called "WAD".
+echo.
+if %copyingsdcard%==1 echo Files has been copied to SD Card to folder called "WAD"
 echo.
 echo Exiting the patcher in...
 if %exiting%==10 echo :----------: 10


deploy.bat

deploy.bat

--- L13.1/deploy.bat
+++ L13.1/deploy.bat
@@ -1,3 +1 @@
-mvn clean package
-
-copy target\L13.1.war %JETTY_HOME%otus-base\webapps\root.war+copy target\L13.1.war %JETTY_BASE%\webapps\root.war


Update Premake

Update Premake

error: pathspec 'build/Build_VS2017.bat' did not match any file(s) known to git

--- build/Build_VS2017.bat
+++ build/Build_VS2017.bat
@@ -0,0 +1 @@
+premake5 vs2017


More tweaks to archiving

More tweaks to archiving

--- build/buildrelease.bat
+++ build/buildrelease.bat
@@ -19,7 +19,10 @@
 git checkout %VERSION%
 IF ERRORLEVEL 1 EXIT /B 1

-git archive %VERSION% -o NodaTime-%VERSION%-src.zip ..
+REM TODO: Work out how to avoid having this cd...
+cd ..
+git archive %VERSION% -o build/NodaTime-%VERSION%-src.zip --prefix=NodaTime-%VERSION%-src
+cd build
 IF ERRORLEVEL 1 EXIT /B 1

 set STAGING=tmp\NodaTime-%VERSION%


Fixed Python 3.5 build by defining MSVC_VER since this allows the build to add the extra lib required. Left this build skipping until GEOS is updated for Python 3.5

--- recipe/bld.bat
+++ recipe/bld.bat
@@ -4,8 +4,26 @@
     set WIN64=
 )

+:: Work out MSVC_VER - needed for build process.
+:: Currently guess from Python version
+if "%CONDA_PY%" == "27" (
+    set MSVC_VER=1500
+)
+if "%CONDA_PY%" == "34" (
+    set MSVC_VER=1600
+)
+if "%CONDA_PY%" == "35" (
+    set MSVC_VER=1900
+)
+
+IF "%MSVC_VER%"=="" (
+    echo "Python version not supported. Please update bld.bat"
+    exit 1
+)
+
 :: Need consistent flags between build and install.
 set BLD_OPTS=%WIN64% ^
+    MSVC_VER=%MSVC_VER% ^
     PYDIR=%PREFIX% ^
     GDAL_HOME=%LIBRARY_PREFIX% ^
     BINDIR=%LIBRARY_BIN% ^


try not using JOM

try not using JOM

--- recipe/bld.bat
+++ recipe/bld.bat
@@ -31,7 +31,7 @@
      -system-libjpeg ^
      -system-libpng ^
      -system-zlib ^
-     -skip activeqt
+     -mp
 if errorlevel 1 exit /b 1

 :: re-enable echoing which is disabled by configure
@@ -39,10 +39,12 @@

 :: Note - webengine only built when you ask - so we can skip it easily.

-jom -U Release -j%CPU_COUNT%
+::jom -U Release -j%CPU_COUNT%
+nmake -U Release
 if errorlevel 1 exit /b 1

-jom -U install -j%CPU_COUNT%
+::jom -U install -j%CPU_COUNT%
+nmake -U install
 if errorlevel 1 exit /b 1

 :: To rewrite qt.conf contents per conda environment


install modules bat

install modules bat

--HG--
branch : typescript_modules

error: pathspec 'frontend/install_modules.bat' did not match any file(s) known to git

--- frontend/install_modules.bat
+++ frontend/install_modules.bat
@@ -0,0 +1,11 @@
+npm install ..\Filter & ^
+ npm install ..\OverTlecBuilder &^
+ npm install ..\Route &^
+ npm install ..\SerializationContext &^
+ npm install ..\TestTransport &^
+ npm install ..\TlecBuilder &^
+ npm install ..\Tlgr &^
+ npm install ..\Tlht &^
+ npm install ..\TlhtBuilder &^
+ npm install ..\TlkeBuilder &^
+ npm install ..\modules


Try another appveyor fix

Try another appveyor fix

--- ci/appveyor/deploy.cmd
+++ ci/appveyor/deploy.cmd
@@ -2,13 +2,13 @@
 IF "%APPVEYOR_REPO_TAG%" == "true" (

 :: Create shared library archive for Bintray only ig Python 3.6
-if "%PYTHON_VERSION%" == "3.6" (
+IF "%PYTHON_VERSION%" == "3.6" (
     cd %APPVEYOR_BUILD_FOLDER%\build\out

-    if "%PLATFORM%" == "x86" (
-        set OSQP_DEPLOY_DIR=osqp-0.2.0.dev0-windows32
+    IF "%PLATFORM%" == "x86" (
+        set OSQP_DEPLOY_DIR="osqp-0.2.0.dev0-windows32"
     ) ELSE (
-        set OSQP_DEPLOY_DIR=osqp-0.2.0.dev0-windows64
+        set OSQP_DEPLOY_DIR="osqp-0.2.0.dev0-windows64"
     )
     :: Create directories
     mkdir %OSQP_DEPLOY_DIR%


Updating tests/runtest.cmd to use delayed expansion for instances of `_msbuildexe`

--- tests/runtest.cmd
+++ tests/runtest.cmd
@@ -120,7 +120,7 @@
   set "__VCToolsRoot=%VS140COMNTOOLS%\..\..\VC"

   set _msbuildexe="%ProgramFiles(x86)%\MSBuild\14.0\Bin\MSBuild.exe"
-  if not exist %_msbuildexe% set _msbuildexe="%ProgramFiles%\MSBuild\14.0\Bin\MSBuild.exe"
+  if not exist !_msbuildexe! set _msbuildexe="%ProgramFiles%\MSBuild\14.0\Bin\MSBuild.exe"
 )

 :: Does VS really exist?


Fix missing IWAD handling

Fix missing IWAD handling

Seems to have been broken for some time

--- PortaDOOM/files/doom.bat
+++ PortaDOOM/files/doom.bat
@@ -871,21 +871,19 @@
 	)
 )

-IF EXIST "%IWADS%\%IWAD%" (
-	REM # the IWAD exists as-is and requires no special provisions
-	SET PARAMS=%PARAMS% -iwad "%FIX_PATH%\%IWADS%\%IWAD%"
-	ECHO         -iwad : %IWADS%\%IWAD%
-	REM # skip ahead, no edge-cases to handle
-	GOTO :params
-)
+REM # this is where the IWAD is assumed to be
+SET "IWAD_PATH=%IWADS%\%IWAD%"
+REM # the IWAD exists as-is and requires no special provisions,
+REM # skip ahead; no edge-cases to handle
+IF EXIST "%IWAD_PATH%" GOTO :iwad_found

 REM # IWAD is missing,
 REM # now search GOG / Steam for the IWAD:
-SET "IWAD_PATH="

 :iwad_doomu
 REM --------------------------------------------------------------------------------------------------------------------
 REM # are we looking for "The Ultimate DOOM"?
+REM # (if not, skip ahead to DOOM II)
 IF /I NOT "%IWAD%" == "DOOM.WAD" GOTO :iwad_doom2

 REM # is Steam : The Ultimate DOOM installed?
@@ -910,6 +908,7 @@
 :iwad_doom2
 REM --------------------------------------------------------------------------------------------------------------------
 REM # are we looking for "DOOM II"?
+REM # (if not, skip ahead to TNT)
 IF /I NOT "%IWAD%" == "DOOM2.WAD" GOTO :iwad_tnt

 REM # is Steam : DOOM II installed?
@@ -934,6 +933,7 @@
 :iwad_tnt
 REM --------------------------------------------------------------------------------------------------------------------
 REM # are we looking for "Final DOOM: Evilution"?
+REM # (if not, skip ahead to Plutonia)
 IF /I NOT "%IWAD%" == "TNT.WAD" GOTO :iwad_plutonia

 REM # is Steam : Final DOOM installed?
@@ -970,13 +970,7 @@
 :iwad_check
 REM # did we find the IWAD in GOG / Steam?
 REM # TODO: if IWAD was found in GOG / Steam, offer to copy it into PortaDOOM
-IF NOT "%IWAD_PATH%" == "" (
-	REM # this will an absolute path
-	SET PARAMS=%PARAMS% -iwad "%IWAD_PATH%"
-	ECHO         -iwad : %IWAD_PATH%
-	REM # skip ahead, no more edge-cases to handle
-	GOTO :params
-)
+IF EXIST "%IWAD_PATH%" GOTO :iwad_found

 :iwad_missing
 REM --------------------------------------------------------------------------------------------------------------------
@@ -988,7 +982,7 @@
 :iwad_shareware
 REM # if the user is trying to play just DOOM as-is without a PWAD,
 REM # then the best thing to do is offer them the shareware version:
-IF /I "%SAVE_WAD%" == "DOOM" (
+IF /I "%IWAD%" == "DOOM.WAD" (
 	ECHO:
 	ECHO   WARNING! Could not find registered DOOM.WAD:
 	ECHO:
@@ -1002,7 +996,7 @@

 	REM # we keep %SAVE_WAD% as "DOOM" so that save games from
 	REM # shareware DOOM can be re-used in the full game
-	SET "IWAD=SHAREWARE\DOOM1.WAD"
+	SET "IWAD_PATH=SHAREWARE\DOOM1.WAD"

 	GOTO :iwad_found
 )
@@ -1035,8 +1029,8 @@
 REM # if this was DOOM or DOOM2, we could use FreeDOOM instead
 SET "FREEDOOM="
 REM # TODO: check these files exist too
-IF /I "%SAVE_WAD%" == "DOOM"  SET "FREEDOOM=freedoom\freedoom1.wad"
-IF /I "%SAVE_WAD%" == "DOOM2" SET "FREEDOOM=freedoom\freedoom2.wad"
+IF /I "%IWAD%" == "DOOM.WAD"  SET "FREEDOOM=%IWADS%\freedoom\freedoom1.wad"
+IF /I "%IWAD%" == "DOOM2.WAD" SET "FREEDOOM=%IWADS%\freedoom\freedoom2.wad"

 IF NOT "%FREEDOOM%" == "" (
 	ECHO:
@@ -1044,9 +1038,10 @@
 	ECHO   -- USING FREEDOOM AS REPLACEMENT
 	ECHO:
 	ECHO      press any key to continue
-	PAUSE >NUL
-
-	SET "IWAD=%FREEDOOM%"
+	PAUSE  >NUL
+	ECHO:
+
+	SET "IWAD_PATH=%FREEDOOM%"

 ) ELSE (
 	REM # no other choice
@@ -1073,9 +1068,8 @@
 )

 :iwad_found
-REM # at this point, the shareware / FreeDOOM substitution has occurred and we can continue
-SET PARAMS=%PARAMS% -iwad "%FIX_PATH%\%IWADS%\%IWAD%"
-ECHO         -iwad : %IWADS%\%IWAD%
+SET PARAMS=%PARAMS% -iwad "%FIX_PATH%\%IWAD_PATH%"
+ECHO         -iwad : %IWAD_PATH%

 :params


remove echo from pandoc script

remove echo from pandoc script

--- cmd/compile_pandoc.cmd
+++ cmd/compile_pandoc.cmd
@@ -1 +1,2 @@
+@ECHO OFF
 pandoc -o out.pdf %*


Add globbing support for test file arguments passed into bolt test

--- src/bolt-test.subr.bat
+++ src/bolt-test.subr.bat
@@ -73,7 +73,8 @@
 set remaining=
 :remaining
 if "%~1"=="" goto end_remaining
-set remaining=%remaining% "%~1"
+for /F "usebackq delims=" %%s in (`glob -w "%~1"`) do set globbed=%%s
+set remaining=%remaining% %globbed%
 shift
 goto remaining
 :end_remaining


Allow overwriting DATADIR completly so ramdisk can be used

--- autotest.cmd
+++ autotest.cmd
@@ -10,7 +10,7 @@
 @echo off

 set BASEDIR=%~dp0
-set DATADIR=data-autotest
+set DATADIR=%BASEDIR%data-autotest

 :: create autoconfig for sqlite, mysql, postgresql and mssql
 echo ^<?php                                      > .\tests\autoconfig-sqlite.php
@@ -20,7 +20,7 @@
 echo  'dbtableprefix' ^=^> 'oc_'^,               >> .\tests\autoconfig-sqlite.php
 echo  'adminlogin' ^=^> 'admin'^,                >> .\tests\autoconfig-sqlite.php
 echo  'adminpass' ^=^> 'admin'^,                 >> .\tests\autoconfig-sqlite.php
-echo  'directory' ^=^> '%BASEDIR%%DATADIR%'^,    >> .\tests\autoconfig-sqlite.php
+echo  'directory' ^=^> '%DATADIR%'^,             >> .\tests\autoconfig-sqlite.php
 echo ^)^;                                        >> .\tests\autoconfig-sqlite.php

 echo ^<?php                                      > .\tests\autoconfig-mysql.php
@@ -30,7 +30,7 @@
 echo   'dbtableprefix' ^=^> 'oc_'^,              >> .\tests\autoconfig-mysql.php
 echo   'adminlogin' ^=^> 'admin'^,               >> .\tests\autoconfig-mysql.php
 echo   'adminpass' ^=^> 'admin'^,                >> .\tests\autoconfig-mysql.php
-echo   'directory' ^=^> '%BASEDIR%%DATADIR%'^,   >> .\tests\autoconfig-mysql.php
+echo   'directory' ^=^> '%DATADIR%'^,            >> .\tests\autoconfig-mysql.php
 echo   'dbuser' ^=^> 'oc_autotest'^,             >> .\tests\autoconfig-mysql.php
 echo   'dbname' ^=^> 'oc_autotest'^,             >> .\tests\autoconfig-mysql.php
 echo   'dbhost' ^=^> 'localhost'^,               >> .\tests\autoconfig-mysql.php
@@ -44,7 +44,7 @@
 echo   'dbtableprefix' ^=^> 'oc_'^,              >> .\tests\autoconfig-pgsql.php
 echo   'adminlogin' ^=^> 'admin'^,               >> .\tests\autoconfig-pgsql.php
 echo   'adminpass' ^=^> 'admin'^,                >> .\tests\autoconfig-pgsql.php
-echo   'directory' ^=^> '%BASEDIR%%DATADIR%'^,   >> .\tests\autoconfig-pgsql.php
+echo   'directory' ^=^> '%DATADIR%'^,            >> .\tests\autoconfig-pgsql.php
 echo   'dbuser' ^=^> 'oc_autotest'^,             >> .\tests\autoconfig-pgsql.php
 echo   'dbname' ^=^> 'oc_autotest'^,             >> .\tests\autoconfig-pgsql.php
 echo   'dbhost' ^=^> 'localhost'^,               >> .\tests\autoconfig-pgsql.php
@@ -58,7 +58,7 @@
 echo   'dbtableprefix' ^=^> 'oc_'^,              >> .\tests\autoconfig-mssql.php
 echo   'adminlogin' ^=^> 'admin'^,               >> .\tests\autoconfig-mssql.php
 echo   'adminpass' ^=^> 'admin'^,                >> .\tests\autoconfig-mssql.php
-echo   'directory' ^=^> '%BASEDIR%%DATADIR%'^,   >> .\tests\autoconfig-mssql.php
+echo   'directory' ^=^> '%DATADIR%'^,            >> .\tests\autoconfig-mssql.php
 echo   'dbuser' ^=^> 'oc_autotest'^,             >> .\tests\autoconfig-mssql.php
 echo   'dbname' ^=^> 'oc_autotest'^,             >> .\tests\autoconfig-mssql.php
 echo   'dbhost' ^=^> 'localhost\sqlexpress'^,    >> .\tests\autoconfig-mssql.php


do not add args_file twice, generated by cuttlefish

included in generated_config_args variable

--- bin/emqx.cmd
+++ bin/emqx.cmd
@@ -203,7 +203,7 @@
 :: @%erlsrv% start %service_name%
 @call :create_mnesia_dir
 @call :generate_app_config
-@set args=-detached %sys_config% %args_file% %generated_config_args% -mnesia dir '%mnesia_dir%'
+@set args=-detached %sys_config% %generated_config_args% -mnesia dir '%mnesia_dir%'
 @echo off
 cd /d %rel_root_dir%
 @echo on
@@ -233,7 +233,7 @@
 :console
 @call :create_mnesia_dir
 @call :generate_app_config
-@set args=%sys_config% %args_file% %generated_config_args% -mnesia dir '%mnesia_dir%'
+@set args=%sys_config% %generated_config_args% -mnesia dir '%mnesia_dir%'
 @echo off
 cd /d %rel_root_dir%
 @echo on


IDEA-2021

--- bin/idea.bat
+++ bin/idea.bat
@@ -29,7 +29,7 @@
 :: You may specify your own JVM arguments in idea.exe.vmoptions file. Put one option per line there.
 :: ---------------------------------------------------------------------
 SET ACC=
-FOR /F "delims=" %%i in (%IDEA_HOME%\bin\idea.exe.vmoptions) DO call %IDEA_HOME%\bin\append.bat %%i
+FOR /F "delims=" %%i in (%IDEA_HOME%\bin\idea.exe.vmoptions) DO call %IDEA_HOME%\bin\append.bat "%%i"

 set REQUIRED_IDEA_JVM_ARGS=-Xbootclasspath/p:%IDEA_HOME%/lib/boot.jar %IDEA_PROPERTIES_PROPERTY%
 SET JVM_ARGS=%ACC% %REQUIRED_IDEA_JVM_ARGS%


Convert lein.bat to DOS-style line endings.

--- bin/lein.bat
+++ bin/lein.bat
@@ -1,152 +1,152 @@
-@echo off
-
-set LEIN_VERSION=1.4.0-SNAPSHOT
-
-rem it is possible to set LEIN_JAR variable manually
-rem if it's set, don't overwrite it
-if "x%LEIN_JAR%" == "x" goto SET_LEIN
-goto ARGS_HANDLING
-
-:SET_LEIN
-set LEIN_DIR=%~dp0
-set LEIN_JAR=%LEIN_DIR%leiningen-%LEIN_VERSION%-standalone.jar
-
-:ARGS_HANDLING
-if "x%1" == "xself-install" goto SELF_INSTALL
-if "x%1" == "xupgrade"      goto NO_UPGRADE
-
-if not exist "%LEIN_JAR%" goto NO_LEIN_JAR
-
-
-rem ##################################################
-rem count number of command line arguments
-rem
-set ARGCOUNT=0
-for %%a in (%*) do set /a ARGCOUNT+=1
-rem ##################################################
-
-
-rem ##################################################
-rem add jars found under "lib" directory to CLASSPATH
-rem
-
-call :FIND_DIR_CONTAINING_UPWARDS project.clj
-
-if "%DIR_CONTAINING%" neq "" cd "%DIR_CONTAINING%"
-
-setLocal EnableDelayedExpansion
-set CP="
-for /R ./lib %%a in (*.jar) do (
-   set CP=!CP!;%%a
-)
-set CP=!CP!"
-
-set CLASSPATH="%LEIN_JAR%";%CP%;"%CLASSPATH%"
-if "x%DEBUG%" == "x" goto RUN
-echo CLASSPATH=%CLASSPATH%
-rem ##################################################
-
-:RUN
-if "x%1" == "xrepl" goto RUN_REPL
-if "%ARGCOUNT%" == "2" goto RUN_ARG2
-if "%ARGCOUNT%" == "3" goto RUN_ARG3
-java -client -cp %CLASSPATH% clojure.main -e "(use 'leiningen.core) (-main \"%1\")"
-goto EOF
-
-:RUN_ARG2
-java -client -cp %CLASSPATH% clojure.main -e "(use 'leiningen.core) (-main \"%1\" \"%2\")"
-goto EOF
-
-:RUN_ARG3
-java -client -cp %CLASSPATH% clojure.main -e "(use 'leiningen.core) (-main \"%1\" \"%2\" \"%3\")"
-goto EOF
-
-:RUN_REPL
-%RLWRAP% java -client %JAVA_OPTS% -cp src;classes;%CLASSPATH% clojure.main %2 %3 %4
-goto EOF
-
-:NO_LEIN_JAR
-echo.
-echo "%LEIN_JAR%" can not be found.
-echo You can try running "lein self-install"
-echo or change LEIN_JAR environment variable
-echo or edit lein.bat to set appropriate LEIN_JAR path.
-echo.
-goto EOF
-
-:SELF_INSTALL
-if exist "%LEIN_JAR%" (
-    echo %LEIN_JAR% already exists. Delete and retry.
-    goto EOF
-)
-set HTTP_CLIENT=wget -O
-wget>nul 2>&1
-if ERRORLEVEL 9009 (
-    curl>nul 2>&1
-    if ERRORLEVEL 9009 goto NO_HTTP_CLIENT
-    set HTTP_CLIENT=curl -f -L -o
-)
-set LEIN_JAR_URL=http://github.com/downloads/technomancy/leiningen/leiningen-%LEIN_VERSION%-standalone.jar
-%HTTP_CLIENT% "%LEIN_JAR%" %LEIN_JAR_URL%
-if ERRORLEVEL 1 (
-    del "%LEIN_JAR%">nul 2>&1
-    goto DOWNLOAD_FAILED
-)
-goto EOF
-
-:DOWNLOAD_FAILED
-echo.
-echo *** DOWNLOAD FAILED! Check URL/Version. ***
-echo.
-goto EOF
-
-:NO_HTTP_CLIENT
-echo.
-echo ERROR: Wget/Curl not found. Make sure at least either of Wget and Curl is
-echo        installed and is in PATH. You can get them from URLs below:
-echo.
-echo Wget: "http://users.ugent.be/~bpuype/wget/"
-echo Curl: "http://curl.haxx.se/dlwiz/?type=bin&os=Win32&flav=-&ver=2000/XP"
-echo.
-goto EOF
-
-:NO_UPGRADE
-echo.
-echo Upgrade feature is not available on Windows. Please edit the value of
-echo variable LEIN_VERSION in file %~f0
-echo then run "lein self-install".
-echo.
-goto EOF
-
-
-rem Find directory containing filename supplied in first argument
-rem looking in current directory, and looking up the parent
-rem chain until we find it, or run out
-rem returns result in %DIR_CONTAINING%
-rem empty string if we don't find it
-:FIND_DIR_CONTAINING_UPWARDS
-set DIR_CONTAINING=%CD%
-set LAST_DIR=
-
-:LOOK_AGAIN
-if "%DIR_CONTAINING%" == "%LAST_DIR%" (
-    rem didn't find it
-    set DIR_CONTAINING=
-    goto :EOF
-)
-
-if EXIST "%DIR_CONTAINING%\%1" (
-    rem found it - use result in DIR_CONTAINING
-    goto :EOF
-)
-
-set LAST_DIR=%DIR_CONTAINING%
-call :GET_PARENT_PATH "%DIR_CONTAINING%\.."
-set DIR_CONTAINING=%PARENT_PATH%
-goto :LOOK_AGAIN
-
-:GET_PARENT_PATH
-set PARENT_PATH=%~f1
-goto :EOF
-
-:EOF
+@echo off
+
+set LEIN_VERSION=1.4.0-SNAPSHOT
+
+rem it is possible to set LEIN_JAR variable manually
+rem if it's set, don't overwrite it
+if "x%LEIN_JAR%" == "x" goto SET_LEIN
+goto ARGS_HANDLING
+
+:SET_LEIN
+set LEIN_DIR=%~dp0
+set LEIN_JAR=%LEIN_DIR%leiningen-%LEIN_VERSION%-standalone.jar
+
+:ARGS_HANDLING
+if "x%1" == "xself-install" goto SELF_INSTALL
+if "x%1" == "xupgrade"      goto NO_UPGRADE
+
+if not exist "%LEIN_JAR%" goto NO_LEIN_JAR
+
+
+rem ##################################################
+rem count number of command line arguments
+rem
+set ARGCOUNT=0
+for %%a in (%*) do set /a ARGCOUNT+=1
+rem ##################################################
+
+
+rem ##################################################
+rem add jars found under "lib" directory to CLASSPATH
+rem
+
+call :FIND_DIR_CONTAINING_UPWARDS project.clj
+
+if "%DIR_CONTAINING%" neq "" cd "%DIR_CONTAINING%"
+
+setLocal EnableDelayedExpansion
+set CP="
+for /R ./lib %%a in (*.jar) do (
+   set CP=!CP!;%%a
+)
+set CP=!CP!"
+
+set CLASSPATH="%LEIN_JAR%";%CP%;"%CLASSPATH%"
+if "x%DEBUG%" == "x" goto RUN
+echo CLASSPATH=%CLASSPATH%
+rem ##################################################
+
+:RUN
+if "x%1" == "xrepl" goto RUN_REPL
+if "%ARGCOUNT%" == "2" goto RUN_ARG2
+if "%ARGCOUNT%" == "3" goto RUN_ARG3
+java -client -cp %CLASSPATH% clojure.main -e "(use 'leiningen.core) (-main \"%1\")"
+goto EOF
+
+:RUN_ARG2
+java -client -cp %CLASSPATH% clojure.main -e "(use 'leiningen.core) (-main \"%1\" \"%2\")"
+goto EOF
+
+:RUN_ARG3
+java -client -cp %CLASSPATH% clojure.main -e "(use 'leiningen.core) (-main \"%1\" \"%2\" \"%3\")"
+goto EOF
+
+:RUN_REPL
+%RLWRAP% java -client %JAVA_OPTS% -cp src;classes;%CLASSPATH% clojure.main %2 %3 %4
+goto EOF
+
+:NO_LEIN_JAR
+echo.
+echo "%LEIN_JAR%" can not be found.
+echo You can try running "lein self-install"
+echo or change LEIN_JAR environment variable
+echo or edit lein.bat to set appropriate LEIN_JAR path.
+echo.
+goto EOF
+
+:SELF_INSTALL
+if exist "%LEIN_JAR%" (
+    echo %LEIN_JAR% already exists. Delete and retry.
+    goto EOF
+)
+set HTTP_CLIENT=wget -O
+wget>nul 2>&1
+if ERRORLEVEL 9009 (
+    curl>nul 2>&1
+    if ERRORLEVEL 9009 goto NO_HTTP_CLIENT
+    set HTTP_CLIENT=curl -f -L -o
+)
+set LEIN_JAR_URL=http://github.com/downloads/technomancy/leiningen/leiningen-%LEIN_VERSION%-standalone.jar
+%HTTP_CLIENT% "%LEIN_JAR%" %LEIN_JAR_URL%
+if ERRORLEVEL 1 (
+    del "%LEIN_JAR%">nul 2>&1
+    goto DOWNLOAD_FAILED
+)
+goto EOF
+
+:DOWNLOAD_FAILED
+echo.
+echo *** DOWNLOAD FAILED! Check URL/Version. ***
+echo.
+goto EOF
+
+:NO_HTTP_CLIENT
+echo.
+echo ERROR: Wget/Curl not found. Make sure at least either of Wget and Curl is
+echo        installed and is in PATH. You can get them from URLs below:
+echo.
+echo Wget: "http://users.ugent.be/~bpuype/wget/"
+echo Curl: "http://curl.haxx.se/dlwiz/?type=bin&os=Win32&flav=-&ver=2000/XP"
+echo.
+goto EOF
+
+:NO_UPGRADE
+echo.
+echo Upgrade feature is not available on Windows. Please edit the value of
+echo variable LEIN_VERSION in file %~f0
+echo then run "lein self-install".
+echo.
+goto EOF
+
+
+rem Find directory containing filename supplied in first argument
+rem looking in current directory, and looking up the parent
+rem chain until we find it, or run out
+rem returns result in %DIR_CONTAINING%
+rem empty string if we don't find it
+:FIND_DIR_CONTAINING_UPWARDS
+set DIR_CONTAINING=%CD%
+set LAST_DIR=
+
+:LOOK_AGAIN
+if "%DIR_CONTAINING%" == "%LAST_DIR%" (
+    rem didn't find it
+    set DIR_CONTAINING=
+    goto :EOF
+)
+
+if EXIST "%DIR_CONTAINING%\%1" (
+    rem found it - use result in DIR_CONTAINING
+    goto :EOF
+)
+
+set LAST_DIR=%DIR_CONTAINING%
+call :GET_PARENT_PATH "%DIR_CONTAINING%\.."
+set DIR_CONTAINING=%PARENT_PATH%
+goto :LOOK_AGAIN
+
+:GET_PARENT_PATH
+set PARENT_PATH=%~f1
+goto :EOF
+
+:EOF


add less command

add less command

error: pathspec 'bin/less.bat' did not match any file(s) known to git

--- bin/less.bat
+++ bin/less.bat
@@ -0,0 +1 @@
+@more %*


open.bat: initial checkin

open.bat: initial checkin

error: pathspec 'bin/open.bat' did not match any file(s) known to git

--- bin/open.bat
+++ bin/open.bat
@@ -0,0 +1,6 @@
+@echo off
+rem
+rem Open a file or URL in the user's preferred application.
+rem
+
+start %*


Fix build exit status

Fix build exit status

I realised that I accidentally broke the way in which
the build status is reported.  That means some builds
would have passed when they should have failed.

--- Tools/appveyor-build.cmd
+++ Tools/appveyor-build.cmd
@@ -29,6 +29,11 @@
     --test-adapter-path:. ^
     --logger:\"nunit;LogFilePath=../.TestResults\TestResults.xml\"

+REM ---
+REM 'Capture' the exit code from dotnet test for later use
+REM ---
+set generalexitcode=%errorlevel%
+
 move .TestResults\TestResults.xml .TestResults\TestResults.ZptSharp.Tests.xml
 move .TestResults\coverage.opencover.xml .TestResults\coverage.opencover.ZptSharp.Tests.xml

@@ -45,7 +50,7 @@
 REM ---
 REM 'Capture' the exit code from dotnet test for later use
 REM ---
-set exitcode=%errorlevel%
+set mvcexitcode=%errorlevel%

 dotnet-sonarscanner end ^
     /d:"sonar.login=%SONARCLOUD_SECRET_KEY%"
@@ -55,4 +60,6 @@
 REM ---
 FOR %%F IN (.TestResults\*.*) DO appveyor PushArtifact %%F

+REM If both exit codes are zero then this is exit 0, otherwise it will raise an error.
+set /A "exitcode=generalexitcode+mvcexitcode"
 exit /B %exitcode%


Call Ruby with code page 1252 in order to support path with accents

--- shims/ruby.bat
+++ shims/ruby.bat
@@ -34,6 +34,11 @@
 	if exist "%RUBY_PATH%\bin\%~n0.exe" set SCRIPT="%RUBY_PATH%\bin\%~n0.exe"
 )

-
+:: Save current code page
+@ for /f "usebackq tokens=2 delims=:" %%i in (`chcp`) do @ set CURRENTCP=%%i
+:: Change current code page to 1252 as it is expected by Ruby
+@ chcp 1252 > NUL
 :: Call the good Ruby
 @ call %SCRIPT% %*
+:: Restore old code page
+@ chcp %CURRENTCP% > NUL


Don't use embedded Ant. An Ant installation is now required.

git-svn-id: 102839466c3b40dd9c7e25c0a1a6d26afc40150a@197032 13f79535-47bb-0310-9956-ffa450edef68

--- build.bat
+++ build.bat
@@ -1,37 +1,36 @@
 @echo off
+rem $Id$

-echo Fop Build System
-echo ----------------
+echo Apache FOP: Build System
+echo --------------------------

-if "%JAVA_HOME%" == "" goto error
+if "%JAVA_HOME%" == "" goto no_java_home
+if "%ANT_HOME%" == "" goto no_ant_home

-set LIBDIR=lib
-set LOCALCLASSPATH=%JAVA_HOME%\lib\tools.jar;%JAVA_HOME%\lib\classes.zip
-set LOCALCLASSPATH=%LOCALCLASSPATH%;%LIBDIR%\ant.jar
-set LOCALCLASSPATH=%LOCALCLASSPATH%;%LIBDIR%\xml-apis.jar
-set LOCALCLASSPATH=%LOCALCLASSPATH%;%LIBDIR%\xercesImpl-2.2.1.jar
-set LOCALCLASSPATH=%LOCALCLASSPATH%;%LIBDIR%\xalan-2.4.1.jar
+call %ANT_HOME%\bin\ant.bat %1 %2 %3 %4 %5 %6 %7 %8

-set ANT_HOME_BAK=%ANT_HOME%
-set ANT_HOME=%LIBDIR%
-
-echo Building with classpath %LOCALCLASSPATH%
-
-echo Starting Ant...
-
-%JAVA_HOME%\bin\java.exe -Dant.home=%ANT_HOME% -classpath "%LOCALCLASSPATH%" org.apache.tools.ant.Main %1 %2 %3 %4 %5
-
-set ANT_HOME=%ANT_HOME_BAK%
 goto end

-:error
-
+:no_java_home
 echo ERROR: JAVA_HOME not found in your environment.
 echo Please, set the JAVA_HOME variable in your environment to match the
 echo location of the Java Virtual Machine you want to use.
+goto end
+
+:no_ant_home
+echo ERROR: ANT_HOME not found in your environment.
+echo Please install Apache Ant first. FOP uses Ant as its build system.
+echo You can download Apache Ant from http://ant.apache.org
+echo 1. Download and install Ant
+echo 2. Set the ANT_HOME environment variable to the directory where you've
+echo    placed Ant.
+echo 3. Add "%%ANT_HOME%%\bin" to your PATH so the "ant.bat" batch file
+echo    can be executed from wherever needed.
+echo 4. (optional) Download JUnit and place junit-*.jar in %%ANT_HOME%%\lib.
+echo    This enables the JUnit test cases.
+echo You will now be directed to the Apache Ant website...
+pause
+start http://ant.apache.org
+goto end

 :end
-
-rem set LOCALCLASSPATH=
-
-pause;


More upgrades: junit3.8.1, apache-ant-1.6.0, tomcat-4.1.24.

[git-p4: depot-paths = "//open/mondrian/": change = 1130]

--- build.bat
+++ build.bat
@@ -2,7 +2,7 @@
 @rem This software is subject to the terms of the Common Public License
 @rem Agreement, available at the following URL:
 @rem http://www.opensource.org/licenses/cpl.html.
-@rem (C) Copyright 2001-2003 Kana Software, Inc. and others.
+@rem (C) Copyright 2001-2004 Kana Software, Inc. and others.
 @rem All Rights Reserved.
 @rem You must accept the terms of that agreement to use this software.

@@ -22,7 +22,7 @@
 @set PATH=%JAVA_HOME%/bin;%PATH%

 @if exist "%ANT_HOME%" goto antHomeOk
-@set ANT_HOME=%HOME_DRIVE%:\jakarta-ant-1.5
+@set ANT_HOME=%HOME_DRIVE%:\apache-ant-1.6.0
 @if exist "%ANT_HOME%" goto antHomeOk
 @echo ANT_HOME (%ANT_HOME%) does not exist
 @goto end


build

build

--- build.bat
+++ build.bat
@@ -9,12 +9,12 @@

 echo "config = [%config%]"

-set version=
+set vv=-Version 1.0.0
 if not "%PackageVersion%" == "" (
-   set version=-Version %PackageVersion%
+   set vv=-Version %PackageVersion%
 )

-echo "version = [%version%]"
+echo "version = [%vv%]"

 REM variables
 set msbuild=%ProgramFiles(x86)%\MSBuild\14.0\Bin\MSBuild.exe
@@ -40,7 +40,8 @@
 echo "====================> Package"

 mkdir Build
-call %nuget% pack "src\SearchAThing.Sci.csproj" -symbols -o Build -p Configuration=%config% -Version %PackageVersion%
+call %nuget% pack "src\SearchAThing.Sci.csproj" -symbols -o Build -p Configuration=%config% %vv%
+goto debugend
 if not "%errorlevel%"=="0" goto failure

 REM Code Coverage
@@ -57,12 +58,9 @@
 if not "%errorlevel%"=="0" goto failure

 echo "---> ensuring codecov"
-rem call %nuget% install Codecov -Version 1.0.1 -OutputDirectory packages
-rem if not "%errorlevel%"=="0" goto failure
 call npm install codecov -g > nul
 if not "%errorlevel%"=="0" goto failure

-rem packages\Codecov.1.0.1\tools\codecov.exe -f coverage.xml -t %CODECOV_TOKEN%
 echo "---> running codecov -f coverage.xml"
 codecov -f coverage.xml
 if not "%errorlevel%"=="0" goto failure


typescript and java upgraded

typescript and java upgraded

--- build.bat
+++ build.bat
@@ -3,10 +3,10 @@
 set version=0.0.0
 set /p version=Version [ MAJOR.MINOR.PATCH or 'enter' for %version% ]?:

-cmd /c npm install -g typescript@1.8.7
+cmd /c npm install -g typescript@1.8.9

-set JAVA_HOME=C:\Program Files\Java\jdk1.8.0_73
+set JAVA_HOME=C:\Program Files\Java\jdk1.8.0_77

-cmd /c C:\development\gradle-2.12\bin\gradle.bat -Pversion=%version%
+cmd /c C:\Users\guru\development\gradle-2.12\bin\gradle.bat -Pversion=%version%

 pause


adapt to zlib and harfbuzz build changes

--- build.bat
+++ build.bat
@@ -78,9 +78,9 @@
 IF %ERRORLEVEL% NEQ 0 GOTO ERROR
 xcopy /i /d /s /q %DEPSDIR%\libxml2\include ..\mapnik-sdk\includes\libxml2 /Y
 IF %ERRORLEVEL% NEQ 0 GOTO ERROR
-xcopy /i /d /s /q %DEPSDIR%\zlib-1.2.5\zlib.h ..\mapnik-sdk\includes\ /Y
-IF %ERRORLEVEL% NEQ 0 GOTO ERROR
-xcopy /i /d /s /q %DEPSDIR%\zlib-1.2.5\zconf.h ..\mapnik-sdk\includes\ /Y
+xcopy /i /d /s /q %DEPSDIR%\zlib\zlib.h ..\mapnik-sdk\includes\ /Y
+IF %ERRORLEVEL% NEQ 0 GOTO ERROR
+xcopy /i /d /s /q %DEPSDIR%\zlib\zconf.h ..\mapnik-sdk\includes\ /Y
 IF %ERRORLEVEL% NEQ 0 GOTO ERROR
 xcopy /i /d /s /q %DEPSDIR%\libpng\png.h ..\mapnik-sdk\includes\ /Y
 IF %ERRORLEVEL% NEQ 0 GOTO ERROR
@@ -128,7 +128,7 @@
 IF %ERRORLEVEL% NEQ 0 GOTO ERROR

 :: libs
-xcopy /i /d /s /q %DEPSDIR%\harfbuzz-build\Release\harfbuzz.lib ..\mapnik-sdk\libs\ /Y
+xcopy /i /d /s /q %DEPSDIR%\harfbuzz-build\harfbuzz.lib ..\mapnik-sdk\libs\ /Y
 IF %ERRORLEVEL% NEQ 0 GOTO ERROR
 xcopy /i /d /s /q %DEPSDIR%\freetype\freetype.lib ..\mapnik-sdk\libs\ /Y
 IF %ERRORLEVEL% NEQ 0 GOTO ERROR
@@ -156,7 +156,7 @@
 ::IF %ERRORLEVEL% NEQ 0 GOTO ERROR
 xcopy /i /d /s /q %DEPSDIR%\libtiff\libtiff\libtiff_i.lib ..\mapnik-sdk\libs\ /Y
 IF %ERRORLEVEL% NEQ 0 GOTO ERROR
-xcopy /i /d /s /q %DEPSDIR%\zlib-1.2.5\zlib.lib ..\mapnik-sdk\libs\ /Y
+xcopy /i /d /s /q %DEPSDIR%\zlib\zlib.lib ..\mapnik-sdk\libs\ /Y
 IF %ERRORLEVEL% NEQ 0 GOTO ERROR
 xcopy /i /d /s /q %DEPSDIR%\proj\src\proj.lib ..\mapnik-sdk\libs\ /Y
 IF %ERRORLEVEL% NEQ 0 GOTO ERROR


fix build.bat

fix build.bat

--- build.bat
+++ build.bat
@@ -1 +1 @@
-python C:\Python27\pyinstaller\pyinstaller.py --onefile --noconsole --icon=resources\img\icon.ico --name=CargoScan  src\main.py
+python C:\Python27\pyinstaller\pyinstaller.py --onefile --noconsole --icon=resources\ui\img\icon.ico --name=CargoScan  src\main.py


added build.bat

added build.bat

error: pathspec 'build.bat' did not match any file(s) known to git

--- build.bat
+++ build.bat
@@ -0,0 +1,23 @@
+@echo off
+set /p version=Enter Releaseversion:
+
+if [%version%] == [] (
+  echo No version specified! Please specify a valid version like 1.2.3!
+  goto Done
+)
+if [%version%] == [""] (
+  echo No version specified! Please specify a valid version like 1.2.3!
+  goto Done
+)
+
+echo version: %version%
+
+echo Restore solution
+dotnet restore microwf.sln
+
+echo Packaging solution
+dotnet pack src/microwf.Core -c Release /p:PackageVersion=%version% /p:Version=%version% -o ./../../dist/nupkgs
+dotnet pack src/microwf.AspNetCoreEngine -c Release /p:PackageVersion=%version% /p:Version=%version% -o ./../../dist/nupkgs
+
+:Done
+echo Done


Fixed path errro on build.bat

Fixed path errro on build.bat

--- build.bat
+++ build.bat
@@ -20,4 +20,4 @@
 mkdir Build\lib
 mkdir Build\lib\net47

-%nuget% pack "src\GuiStracini.Mandae.nuspec" -NoPackageAnalysis -verbosity detailed -o Build -Version %version% -p Configuration="%config%"
+%nuget% pack "GuiStracini.Mandae\GuiStracini.Mandae.nuspec" -NoPackageAnalysis -verbosity detailed -o Build -Version %version% -p Configuration="%config%"


Return the error code from build.cmd

Return the error code from build.cmd

--- build.cmd
+++ build.cmd
@@ -1,2 +1,2 @@
 @ECHO OFF
-PowerShell -NoProfile -NoLogo -ExecutionPolicy unrestricted -Command "[System.Threading.Thread]::CurrentThread.CurrentCulture = ''; [System.Threading.Thread]::CurrentThread.CurrentUICulture = '';& '%~dp0build.ps1' %*"+PowerShell -NoProfile -NoLogo -ExecutionPolicy unrestricted -Command "[System.Threading.Thread]::CurrentThread.CurrentCulture = ''; [System.Threading.Thread]::CurrentThread.CurrentUICulture = '';& '%~dp0build.ps1' %*; exit $LASTEXITCODE"


Run unit tests after build.

Run unit tests after build.

--- build.cmd
+++ build.cmd
@@ -1 +1,2 @@
-msbuild NuPack.sln+msbuild NuPack.sln
+mstest /testcontainer:NuPack.Test\bin\Debug\NuPack.Test.dll


Add build.cmd

Add build.cmd

error: pathspec 'build.cmd' did not match any file(s) known to git

--- build.cmd
+++ build.cmd
@@ -0,0 +1,40 @@
+@echo off
+set DEPENDENCIES_PREFIX=%cd%\dependencies
+set BOOST_PREFIX=%DEPENDENCIES_PREFIX%\boost
+set PROTOBUF_PREFIX=%DEPENDENCIES_PREFIX%\protobuf
+set TMSP_PREFIX=%DEPENDENCIES_PREFIX%\tmsp
+set INSTALL_PREFIX=%DEPENDENCIES_PREFIX%\install
+call "C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\vcvarsall.bat" amd64
+
+if exist "%INSTALL_PREFIX%" (goto done)
+
+pushd "%BOOST_PREFIX%"
+call bootstrap.bat
+b2 headers
+b2 --toolset=msvc-14.0 --prefix="%INSTALL_PREFIX%\debug" --layout=tagged -j8 -a address-model=64 link=static runtime-link=static variant=debug install
+b2 --toolset=msvc-14.0 --prefix="%INSTALL_PREFIX%\release" --layout=tagged -j8 -a address-model=64 link=static runtime-link=static variant=release install
+popd
+
+pushd "%PROTOBUF_PREFIX%\cmake"
+if exist debug (rmdir /s /q debug)
+mkdir debug
+pushd debug
+cmake -G "NMake Makefiles" -DCMAKE_INSTALL_PREFIX="%INSTALL_PREFIX%\debug" -DCMAKE_BUILD_TYPE=Debug -Dprotobuf_BUILD_TESTS=OFF ..
+nmake install
+popd
+if exist release (rmdir /s /q release)
+mkdir release
+pushd release
+cmake -G "NMake Makefiles" -DCMAKE_INSTALL_PREFIX="%INSTALL_PREFIX%\release" -DCMAKE_BUILD_TYPE=Release -Dprotobuf_BUILD_TESTS=OFF ..
+nmake install
+popd
+popd
+
+pushd "%TMSP_PREFIX%\types"
+mkdir "%INSTALL_PREFIX%\debug\include\tmsp"
+"%INSTALL_PREFIX%\release\bin\protoc" --cpp_out="%INSTALL_PREFIX%\debug\include\tmsp" types.proto
+mkdir "%INSTALL_PREFIX%\release\include\tmsp"
+"%INSTALL_PREFIX%\release\bin\protoc" --cpp_out="%INSTALL_PREFIX%\release\include\tmsp" types.proto
+popd
+
+:done


Less verbose output when running build.cmd.

--- build.cmd
+++ build.cmd
@@ -2,6 +2,6 @@
 cls
 SET DIR=%~dp0%
 SET SRCDIR=./src/
-dotnet publish %SRCDIR%OwinRequestScopeContext/OwinRequestScopeContext.csproj --framework netstandard2.0 --configuration Release --verbosity detailed --output "bin/Publish/netstandard2.0" /p:IsPublishing="true"
-dotnet publish %SRCDIR%OwinRequestScopeContext/OwinRequestScopeContext.csproj --framework net461 --configuration Release --verbosity detailed --output "bin/Publish/net461" /p:IsPublishing="true"
+dotnet publish %SRCDIR%OwinRequestScopeContext/OwinRequestScopeContext.csproj --framework netstandard2.0 --configuration Release --output "bin/Publish/netstandard2.0" /p:IsPublishing="true"
+dotnet publish %SRCDIR%OwinRequestScopeContext/OwinRequestScopeContext.csproj --framework net461 --configuration Release --output "bin/Publish/net461" /p:IsPublishing="true"
 pause


Scintilla nmake in QUIET mode to avoid many copyright notices.

--- scripts/checkbuilds.bat
+++ scripts/checkbuilds.bat
@@ -23,7 +23,8 @@
 rem Target 2: Microsoft VC++ build
 call scite\scripts\clearboth
 cd scintilla\win32
-nmake -f scintilla.mak
+cl
+nmake -f scintilla.mak QUIET=1
 if ERRORLEVEL 2 goto ERROR
 cd ..\..\scite\win32
 nmake -f scite.mak
@@ -72,7 +73,7 @@
 rem Target 7: GTK+ version using Visual C++ on scintilla\gtk\scintilla.mak
 call scite\scripts\clearboth
 cd scintilla\gtk
-nmake -f scintilla.mak
+nmake -f scintilla.mak QUIET=1
 if ERRORLEVEL 2 goto ERROR
 cd ..\..
 call scite\scripts\clearboth


added "nmake install" to the build qt static script

git-svn-id: 353be9ac11a1e711854a13efcc2fc17d9d6b83e7@575 c36c8488-0289-0348-9b64-b301f74bd9a7

--- Scripts/MakeStaticQT.bat
+++ Scripts/MakeStaticQT.bat
@@ -1,2 +1,3 @@
 echo y | configure -static -qt-libtiff -qt-libpng -qt-libjpeg
-nmake sub-src+nmake sub-src
+nmake install


Fix win-pnacl-x86_32 bot

Fix win-pnacl-x86_32 bot

Yes another git repo (dummydir) which is affected in CYGWIN upgrade process.
Directories binutils/clang/compiler-rt/gcc/llvm/llvm-test-suite are not
really used anymore, but if old versions found they break git update anyway.

BUG=none
TEST=try run on nacl-toolchain-win7-pnacl-x86_64 bot
R=bradnelson@google.com

Review URL: https://codereview.chromium.org/23039016

git-svn-id: 721b910a23eff8a86f00c8fd261a7587cddf18f8@12036 fcba33aa-ac0c-11dd-b9e7-8d5594d729c2

--- buildbot/cygwin_env.bat
+++ buildbot/cygwin_env.bat
@@ -4,8 +4,16 @@

 @echo off
 setlocal
-set HERMETIC_CYGWIN=hermetic_cygwin_1_7_24-1_0
-if exist "%~dp0..\cygwin\%HERMETIC_CYGWIN%.installed" goto :skip_cygwin_install
+set CYGWIN_VERSION=cygwin_1_7_24-1_0
+set HERMETIC_CYGWIN=hermetic_%CYGWIN_VERSION%
+if exist "%~dp0..\cygwin\%CYGWIN_VERSION%.installed" goto :skip_cygwin_install
+if exist "%~dp0..\pnacl\git\binutils" rmdir /s /q "%~dp0..\pnacl\git\binutils"
+if exist "%~dp0..\pnacl\git\clang" rmdir /s /q "%~dp0..\pnacl\git\clang"
+if exist "%~dp0..\pnacl\git\compiler-rt" rmdir /s /q "%~dp0..\pnacl\git\compiler-rt"
+if exist "%~dp0..\pnacl\git\dummydir" rmdir /s /q "%~dp0..\pnacl\git\dummydir"
+if exist "%~dp0..\pnacl\git\gcc" rmdir /s /q "%~dp0..\pnacl\git\gcc"
+if exist "%~dp0..\pnacl\git\llvm" rmdir /s /q "%~dp0..\pnacl\git\llvm"
+if exist "%~dp0..\pnacl\git\llvm-test-suite" rmdir /s /q "%~dp0..\pnacl\git\llvm-test-suite"
 if exist "%~dp0..\tools\BUILD\.gcc-extras-version" del "%~dp0..\tools\BUILD\.gcc-extras-version"
 if exist "%~dp0..\tools\BACKPORTS\binutils" rmdir /s /q "%~dp0..\tools\BACKPORTS\binutils"
 if exist "%~dp0..\tools\BACKPORTS\gcc" rmdir /s /q "%~dp0..\tools\BACKPORTS\gcc"
@@ -24,7 +32,7 @@
 start /WAIT %~dp0%HERMETIC_CYGWIN%.exe /DEVEL /S /D=%~dp0..\cygwin
 if errorlevel 1 goto :install_fail
 set CYGWIN=nodosfilewarning
-"%~dp0..\cygwin\bin\touch" "%~dp0..\cygwin\%HERMETIC_CYGWIN%.installed"
+"%~dp0..\cygwin\bin\touch" "%~dp0..\cygwin\%CYGWIN_VERSION%.installed"
 if errorlevel 1 goto :install_fail
 del /f /q "%~dp0%HERMETIC_CYGWIN%.exe"
 :skip_cygwin_install


Update bld_cxx.bat

Update bld_cxx.bat

--- recipes/gz-sim/bld_cxx.bat
+++ recipes/gz-sim/bld_cxx.bat
@@ -1,3 +1,4 @@
+rmdir /s /q build
 mkdir build
 cd build


only set BuildOrleansChocolatey=true if cpack is present

--- src/Build/PostBuild.cmd
+++ src/Build/PostBuild.cmd
@@ -22,9 +22,15 @@
         set BuildOrleansNuGet=false
     )
 )
+
 if "%BuildOrleansChocolatey%" == "" (
     if "%Configuration%" == "Release" (
-        set BuildOrleansChocolatey=true
+		where /q cpack
+		if ERRORLEVEL 1 (
+			set BuildOrleansChocolatey=false
+		) else (
+			set BuildOrleansChocolatey=true
+		)
     ) else (
         set BuildOrleansChocolatey=false
     )


Fixed Windows building

Fixed Windows building

--- winbuild.bat
+++ winbuild.bat
@@ -10,7 +10,7 @@
 cd tool
 qmake
 mingw32-make release
-xcopy release\KanColleTool.exe ..\dist\KanColleTool
+xcopy bin\KanColleTool.exe ..\dist\KanColleTool
 mingw32-make clean
 rmdir /s /q debug
 rmdir /s /q release


Update launchClient.bat

Update launchClient.bat

Add mkdir for run\config

--- Minecraft/launchClient.bat
+++ Minecraft/launchClient.bat
@@ -65,6 +65,9 @@
 :: eg: echo The value of -username is: !-username!

 REM now output the config file:
+if not exist run\config\ (
+  mkdir run\config
+)
 (
 echo # Configuration file
 echo # Autogenerated from command-line options


Wix 3.11

Wix 3.11

--- trunc/Sudoku/Build.bat
+++ trunc/Sudoku/Build.bat
@@ -7,7 +7,7 @@
 rem 32Bit Systems
 rem Set MsBuildPath="%windir%\Microsoft.NET\Framework\v4.0.30319\MsBuild.exe"
 Set MsBuildPath="%ProgramFiles%\MsBuild\14.0\bin\MsBuild.exe"
-Set Wix3xPath=%ProgramFiles%\WiX Toolset v3.10\bin
+Set Wix3xPath=%ProgramFiles%\WiX Toolset v3.11\bin
 rem cd %AppName%
 %MsBuildPath% %AppName%.sln /p:Configuration=Debug /p:Platform="Any CPU"
 %MsBuildPath% %AppName%.sln /p:Configuration=Release /p:Platform="Any CPU"


batch file to run unit tests must be running in emulator to work!

error: pathspec 'rapidandroid/unittests/runall.bat' did not match any file(s) known to git

--- rapidandroid/unittests/runall.bat
+++ rapidandroid/unittests/runall.bat
@@ -0,0 +1 @@
+adb shell am instrument -w org.rapidandroid/android.test.InstrumentationTestRunner


samples: update winpack python samples launcher

- accepts script parameter (allows drag & drop from 'explorer')
- use script dir instead of current dir (can launch samples from 'samples/dnn')
- added 'pause' to show error messages (about missing numpy) instead of instant closing

--- samples/python/_run_winpack_demo_python27.cmd
+++ samples/python/_run_winpack_demo_python27.cmd
@@ -1,12 +1,15 @@
 @echo off
-if NOT exist %CD%\..\..\..\build (
+setlocal enableDelayedExpansion
+
+set SCRIPTDIR=%~dp0
+if NOT exist %SCRIPTDIR%\..\..\..\build (
   echo ERROR: OpenCV Winpack installation is required
   pause
   exit
 )

 :: Path to FFMPEG binary files
-set PATH=%PATH%;%CD%\..\..\..\build\bin\
+set PATH=%PATH%;%SCRIPTDIR%\..\..\..\build\bin\

 :: Detect Python binary
 python -V
@@ -43,5 +46,17 @@
   )
 )

-:: Launch demo
+:: Don't generate unnecessary .pyc cache files
+set PYTHONDONTWRITEBYTECODE=1
+
+if [%1]==[] goto rundemo
+%PYTHON% %*
+set result=%errorlevel%
+IF %result% NEQ 0 (pause)
+EXIT /B %result%
+
+:rundemo
 %PYTHON% demo.py
+set result=%errorlevel%
+IF %result% NEQ 0 (pause)
+EXIT /B %result%


Create alias.cmd

Create alias.cmd

error: pathspec 'alias.cmd' did not match any file(s) known to git

--- alias.cmd
+++ alias.cmd
@@ -0,0 +1 @@
+doskey comit =python c:\Windows\ComIt\runWithoutRequests.py $*


Build script fixes for UWP.

Build script fixes for UWP.

--- Build-UWP.bat
+++ Build-UWP.bat
@@ -8,10 +8,20 @@

 set msbuild=%fdir%\msbuild.exe

+set outDir=bin\UWP\Debug
 FOR /F "tokens=*" %%G IN ('DIR /B /AD /S obj') DO RMDIR /S /Q "%%G"
-%msbuild% WebSocket4Net.UWP.sln /p:Configuration=Debug /t:Clean;Rebuild /p:OutputPath=..\bin\UWP\Debug
+%msbuild% WebSocket4Net.UWP.sln /p:Configuration=Debug /t:Clean;Rebuild /p:OutDir=..\%outDir%

+set outDir=%outDir%\WebSocket4Net.UWP
+del %outDir%\*.pdb
+del %outDir%\*.pri
+
+set outDir=bin\UWP\Release
 FOR /F "tokens=*" %%G IN ('DIR /B /AD /S obj') DO RMDIR /S /Q "%%G"
-%msbuild% WebSocket4Net.UWP.sln /p:Configuration=Release /t:Clean;Rebuild /p:OutputPath=..\bin\UWP\Release
+%msbuild% WebSocket4Net.UWP.sln /p:Configuration=Release /t:Clean;Rebuild /p:OutDir=..\%outDir%
+
+set outDir=%outDir%\WebSocket4Net.UWP
+del %outDir%\*.pdb
+del %outDir%\*.pri

 pause


create-package.cmd removed

create-package.cmd removed

--- build/create-package.cmd
+++ build/create-package.cmd
@@ -1,11 +0,0 @@
-@echo off
-setlocal
-
-set PATH=%PATH%;C:\Program Files (x86)\MSBuild\12.0\Bin
-set PATH=%PATH%;C:\Windows\Microsoft.NET\Framework64\v4.0.30319
-
-msbuild /verbosity:normal packager.msbuild
-
-pause
-
-endlocal


MONDRIAN: changed build.bat to support variables defined in the SO environment

[git-p4: depot-paths = "//open/mondrian/": change = 701]

--- build.bat
+++ build.bat
@@ -7,28 +7,42 @@
 @rem You must accept the terms of that agreement to use this software.

 @set SRCROOT=%~dp0
+
+@if exist "%HOME_DRIVE%" goto x001
 @set HOME_DRIVE=E
+:x001
+
+@if exist "%JAVA_HOME%" goto x002
 @set JAVA_HOME=%HOME_DRIVE%:/j2sdk1.4.1_01
+@if exist "%JAVA_HOME%" goto x002
+@echo JAVA_HOME (%JAVA_HOME%) does not exist
+@goto end
+:x002
+
 @set PATH=%JAVA_HOME%/bin;%PATH%

+@if exist "%ANT_HOME%" goto x010
 @set ANT_HOME=%HOME_DRIVE%:\jakarta-ant-1.5
 @if exist "%ANT_HOME%" goto x010
 @echo ANT_HOME (%ANT_HOME%) does not exist
 @goto end
 :x010

+@if exist "%XALAN_HOME%" goto x030
 @set XALAN_HOME=%HOME_DRIVE%:/xalan-j_2_4_1
 @if exist "%XALAN_HOME%" goto x030
 @echo XALAN_HOME (%XALAN_HOME%) does not exist
 @goto end
 :x030

+@if exist "%JUNIT_HOME%" goto x040
 @set JUNIT_HOME=%HOME_DRIVE%:/junit3.7
 @if exist "%JUNIT_HOME%" goto x040
 @echo JUNIT_HOME (%JUNIT_HOME%) does not exist
 @goto end
 :x040

+@if exist "%CATALINA_HOME%" goto x050
 @set CATALINA_HOME=%HOME_DRIVE%:\jakarta-tomcat-4.1.18
 @if exist "%CATALINA_HOME%" goto x050
 @echo CATALINA_HOME (%CATALINA_HOME%) does not exist


Add -fwarn-tabs and -fwarn-unused-imports.

--- build.bat
+++ build.bat
@@ -1,2 +1,3 @@
 @mkdir _shake 2> nul
-@ghc --make src/Main.hs -isrc -rtsopts -with-rtsopts=-I0 -outputdir=_shake -o _shake/build && _shake\build --lint --directory ".." %*
+@ghc --make -fwarn-tabs -fwarn-unused-imports src/Main.hs -isrc -rtsopts -with-rtsopts=-I0 -outputdir=_shake -o _shake/build
+@_shake\build --lint --directory ".." %*


Use mvn.cmd instead of mvn.bat in build.bat


Cleaned up build commands

Cleaned up build commands

--- build.bat
+++ build.bat
@@ -2,9 +2,10 @@

 if not exist mercury-x64 mkdir mercury-x64

+:: x64-debug
 pushd mercury-x64
-set CommonCompilerFlags=-nologo -Od -I.. -I..\glfw-3.1.1\include -MTd -fp:fast -fp:except- -Gm- -GR- -EHa- -Oi -W4 -WX -wd4201 -wd4100 -wd4189 -wd4505 -wd4127
-set CommonLinkerFlags= -incremental:no -opt:ref user32.lib gdi32.lib winmm.lib glfw3dll.lib opengl32.lib -libpath:..\glfw-x64\src\Release
+set CommonCompilerFlags=/nologo /Od /I".." /I"..\glfw-3.1.1\include" /MTd /fp:fast /fp:except- /Gm- /GR- /EHa- /Oi /W4 /WX /wd4201 /wd4100 /wd4189 /wd4505 /wd4127
+set CommonLinkerFlags=/INCREMENTAL:NO /OPT:REF "user32.lib" "gdi32.lib" "glfw3dll.lib" "opengl32.lib" /LIBPATH:"..\glfw-x64\src\Release"

 cl %CommonCompilerFlags% ..\mercury.cpp /link %CommonLinkerFlags%
 popd


build

build

--- build.bat
+++ build.bat
@@ -1,2 +1,5 @@
-scriptcs -V
+call %NuGet% install scriptcs -Version 0.17.1 -Source https://www.myget.org/F/scriptcsnightly/api/v3/index.json
+
+packages\scriptcs.0.17.1\tools\scriptcs.exe -V
+
 scriptcs build.csx


feat(build) : run a specific target from the Release script using build.bat

--- build.bat
+++ build.bat
@@ -1,15 +1,21 @@
 @echo OFF
 cls
+
+ECHO [INFO] Checking if FAKE was downloaded from Nuget
+IF NOT EXIST %~dp0\src\packages\FAKE\tools\FAKE.exe (
+	ECHO [INFO] Downloading FAKE from Nuget
+	"src\.nuget\NuGet.exe" "Install" "FAKE" "-OutputDirectory" "src\packages" "-ExcludeVersion"
+)

 IF "%1"=="api" (
 	CALL :API
 	GOTO EXIT
 )

-ECHO [INFO] Checking if FAKE was downloaded from Nuget
-IF NOT EXIST %~dp0\src\packages\FAKE\tools\FAKE.exe (
-	ECHO [INFO] Downloading FAKE from Nuget
-	"src\.nuget\NuGet.exe" "Install" "FAKE" "-OutputDirectory" "src\packages" "-ExcludeVersion"
+IF "%1"=="target" (
+	SET _target=%2
+	CALL :TARGET
+	GOTO EXIT
 )

 ECHO [INFO] ------------------------------------------------------------------------
@@ -26,5 +32,11 @@
 "src\packages\FAKE\tools\Fake.exe" scripts\GenerateAPI.fsx
 EXIT /B 0

+:TARGET
+ECHO [INFO] ------------------------------------------------------------------------
+ECHO [INFO] Running the specified target from the Release script
+"src\packages\FAKE\tools\Fake.exe" scripts\Release.fsx %_target% -st
+EXIT /B 0
+
 :EXIT
 ECHO [INFO] ------------------------------------------------------------------------


Making AppVeyor build not timeout

Making AppVeyor build not timeout

--- build.cmd
+++ build.cmd
@@ -4,4 +4,3 @@
   .nuget\nuget.exe install FAKE -OutputDirectory packages -ExcludeVersion
 )
 packages\FAKE\tools\FAKE.exe build.fsx %*
-pause


Added a build script.

Added a build script.

--- build.cmd
+++ build.cmd
@@ -0,0 +1,13 @@
+@echo off
+msbuild Certifier.sln /t:Clean /p:Configuration=Release;TargetFrameworkVersion=v4.6
+if errorlevel 1 (goto fail)
+
+packages\NUnit.ConsoleRunner.3.6.0\tools\nunit3-console.exe Core.Test\bin\Debug\Core.Test.dll
+if errorlevel 1 (goto fail)
+
+:success
+echo Build OK!
+exit /b
+
+:fail
+echo Build Failed.


use VS2022 msbuild if exists

use VS2022 msbuild if exists

--- build.cmd
+++ build.cmd
@@ -8,7 +8,9 @@
 set MsBuildExe="%WINDIR%\Microsoft.NET\Framework\v4.0.30319\msbuild"

 :: prefer vs2019, vs2017, vs2015 then vs2013
-if exist "%PROGRAMFILES%\Microsoft Visual Studio\2019\Professional\MSBuild\Current\Bin\MSBuild.exe" (
+if exist "%PROGRAMFILES%\Microsoft Visual Studio\2022\Enterprise\MSBuild\Current\Bin\MSBuild.exe" (
+    set MsBuildExe="%PROGRAMFILES%\Microsoft Visual Studio\2022\Enterprise\MSBuild\Current\Bin\MSBuild.exe"
+) else if exist "%PROGRAMFILES%\Microsoft Visual Studio\2019\Professional\MSBuild\Current\Bin\MSBuild.exe" (
     set MsBuildExe="%PROGRAMFILES%\Microsoft Visual Studio\2019\Professional\MSBuild\Current\Bin\MSBuild.exe"
 ) else if exist "%PROGRAMFILES(X86)%\Microsoft Visual Studio\2019\Professional\MSBuild\Current\Bin\MSBuild.exe" (
     set MsBuildExe="%PROGRAMFILES(X86)%\Microsoft Visual Studio\2019\Professional\MSBuild\Current\Bin\MSBuild.exe"


Fixed build script.

Fixed build script.

--- build.cmd
+++ build.cmd
@@ -1,2 +1,3 @@
-REM xfbuild -g -debug -unittest -version=Unittest +oLexerTest LexerTest.d
-xfbuild -g -debug -unittest -version=Unittest +oAstTest AstTest.d
+call dmdenv 1.057-tango-0.99.9
+xfbuild -g -debug -unittest -version=Unittest +D.xf/LexerTest.deps +O.xf/LexerTest.objs +oLexerTest LexerTest.d
+xfbuild -g -debug -unittest -version=Unittest +D.xf/AstTest.deps +O.xf/AstTest.objs +oAstTest AstTest.d


AS7-2156 Add to appclient.conf.bat -Djava.net.preferIPv4Stack=true

--- build/src/main/resources/bin/appclient.conf.bat
+++ build/src/main/resources/bin/appclient.conf.bat
@@ -7,9 +7,9 @@
 rem # $Id: run.conf.bat 88820 2009-05-13 15:25:44Z dimitris@jboss.org $

 rem #
-rem # This batch file is executed by run.bat to initialize the environment
+rem # This batch file is executed by run.bat to initialize the environment
 rem # variables that run.bat uses. It is recommended to use this file to
-rem # configure these variables, rather than modifying run.bat itself.
+rem # configure these variables, rather than modifying run.bat itself.
 rem #

 if not "x%JAVA_OPTS%" == "x" goto JAVA_OPTS_SET
@@ -45,6 +45,9 @@
 rem # Reduce the RMI GCs to once per hour for Sun JVMs.
 set "JAVA_OPTS=%JAVA_OPTS% -Dsun.rmi.dgc.client.gcInterval=3600000 -Dsun.rmi.dgc.server.gcInterval=3600000"

+rem # Prefer IPv4
+set "JAVA_OPTS=%JAVA_OPTS%  -Djava.net.preferIPv4Stack=true "
+
 rem # Warn when resolving remote XML DTDs or schemas.
 set "JAVA_OPTS=%JAVA_OPTS% -Dorg.jboss.resolver.warning=true"

@@ -55,7 +58,7 @@
 rem # Sample JPDA settings for remote socket debugging
 rem set "JAVA_OPTS=%JAVA_OPTS% -Xrunjdwp:transport=dt_socket,address=8787,server=y,suspend=n"

-rem # Sample JPDA settings for shared memory debugging
+rem # Sample JPDA settings for shared memory debugging
 rem set "JAVA_OPTS=%JAVA_OPTS% -Xrunjdwp:transport=dt_shmem,address=jboss,server=y,suspend=n"

 rem # Use JBoss Modules lockless mode


don't try to delete python source file directory in build.bat

--- build.bat
+++ build.bat
@@ -1,9 +1,7 @@
 rmdir /q /s gam
 rmdir /q /s gam-64
-rmdir /q /s python-src-%1
 rmdir /q /s build
 rmdir /q /s dist
-del /q /f gam-%1-python-src.zip
 del /q /f gam-%1-windows.zip
 del /q /f gam-%1-windows-x64.zip


Removed pause

Removed pause

--- build.cmd
+++ build.cmd
@@ -15,5 +15,3 @@
 IF NOT [%1]==[] (set TARGET="%1")

 "packages\FAKE\tools\Fake.exe" "build.fsx" "target=%TARGET%"
-
-PAUSE


Update build.cmd

Update build.cmd

--- build.cmd
+++ build.cmd
@@ -19,7 +19,9 @@
 where yarn 2>nul >nul
 IF %ERRORLEVEL% NEQ 0 (
   echo "Missing yarn, installing via npm"
-  npm i -g yarn
+  call npm install yarn -g --silent
+  IF !ERRORLEVEL! NEQ 0 goto error
+  echo "Finished installing Yarn."
 )

 echo "Yarn installed, continuing to deployment"


build.cmd: github is source of truth now

--- build.cmd
+++ build.cmd
@@ -39,7 +39,7 @@
 del temp\staging.*.image

 echo Updating working copy from %GIT_BRANCH%...
-call git pull git://factorcode.org/git/factor.git %GIT_BRANCH%
+call git pull https://github.com/factor/factor %GIT_BRANCH%
 if errorlevel 1 goto fail

 echo Building vm...


Build both release and pre-release packages.

--- build.cmd
+++ build.cmd
@@ -11,8 +11,10 @@
 @SET PACKAGE_VERSION=%APPVEYOR_BUILD_VERSION%

 IF "%PACKAGE_VERSION%"=="" (
-	SET PACKAGE_VERSION=2.0.0-pre%DATE:~10,4%%DATE:~4,2%%DATE:~7,2%%TIME:~0,2%%TIME:~3,2%%TIME:~6,2%
+	SET PACKAGE_VERSION=0.0.1
 )
+
+SET PRERELEASE_PACKAGE_VERSION=%PACKAGE_VERSION%-prerelease

 @SET NUGET_PACKAGE_ID=Serilog.Sinks.Kafka
 @SET SOLUTION=%THIS_SCRIPT_FOLDER%src\Serilog.Sinks.Kafka.sln
@@ -25,6 +27,8 @@
 RMDIR /Q /S "%ARTIFACTS%" >nul 2>&1
 MKDIR "%ARTIFACTS%"

+@ECHO.
+@ECHO  **** RESTORE NUGET PACKAGES  ****
 "%NUGET_COMMAND%" restore "%SOLUTION%"  -Verbosity quiet ||  GOTO BuildFailed

 @ECHO.
@@ -38,7 +42,7 @@
 COPY msbuild.log "%ARTIFACTS%\msbuild.RELEASE.log" ||  GOTO BuildFailed

 @ECHO.
-@ECHO  **** CREATE NUGET PACKAGE  ****
+@ECHO  **** STAGE NUGET PACKAGE FOLDER ****
 MKDIR "%NUGET_FRAMEWORK_FOLDER%" ||  GOTO BuildFailed
 COPY "%PROJECT_FOLDER%\bin\Release\%NUGET_PACKAGE_ID%.??l" "%NUGET_FRAMEWORK_FOLDER%\" ||  GOTO BuildFailed
 COPY "%PROJECT_FOLDER%\bin\Release\%NUGET_PACKAGE_ID%.pdb" "%NUGET_FRAMEWORK_FOLDER%\" ||  GOTO BuildFailed
@@ -46,9 +50,17 @@
 COPY "%PROJECT_FOLDER%\bin\Release\CodeContracts\*.*" "%NUGET_FRAMEWORK_FOLDER%\CodeContracts\" ||  GOTO BuildFailed
 COPY "%PROJECT_FOLDER%\bin\Release\%NUGET_PACKAGE_ID%.nuspec" "%NUGET_PACKAGE_FOLDER%\" ||  GOTO BuildFailed

+@ECHO.
+@ECHO  **** CREATE PRERELEASE NUGET PACKAGE ****
+%NUGET_COMMAND% pack "%NUGET_PACKAGE_FOLDER%\%NUGET_PACKAGE_ID%.nuspec" -Version %PRERELEASE_PACKAGE_VERSION% ^
+     -NonInteractive -OutputDirectory %ARTIFACTS% -Properties version=%PACKAGE_VERSION%||  GOTO BuildFailed
+
+@ECHO.
+@ECHO  **** CREATE RELEASE NUGET PACKAGE ****
 %NUGET_COMMAND% pack "%NUGET_PACKAGE_FOLDER%\%NUGET_PACKAGE_ID%.nuspec" -Version %PACKAGE_VERSION% ^
      -NonInteractive -OutputDirectory %ARTIFACTS% -Properties version=%PACKAGE_VERSION%||  GOTO BuildFailed

+
 @ECHO.
 @ECHO **** BUILD SUCCESSFUL ****
 GOTO:EOF


faster build for MSVC

faster build for MSVC

--- build.cmd
+++ build.cmd
@@ -3,7 +3,7 @@
 call "C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\Common7\Tools\VsDevCmd.bat" -arch=amd64 -host_arch=amd64
 cd /d "%~dp0"

-set CL=/nologo /errorReport:none /Gm- /GF /GS- /MT /W4 /WX /wd4324 /D_CRT_SECURE_NO_DEPRECATE
+set CL=/nologo /errorReport:none /Gm- /GF /GS- /MP /MT /W4 /WX /wd4324 /D_CRT_SECURE_NO_DEPRECATE
 set LINK=/errorReport:none /INCREMENTAL:NO

 set CL=%CL% /Ox


Update `build.cmd` to match latest template - aspnet/Universe#347 - `%KOREBUILD_VERSION%` doesn't work without this fix

--- build.cmd
+++ build.cmd
@@ -28,12 +28,11 @@
     copy %CACHED_NUGET% %NUGET_PATH% > nul
 )

+SET KOREBUILD_DOWNLOAD_ARGS=
+IF NOT "%KOREBUILD_VERSION%"=="" (
+    SET KOREBUILD_DOWNLOAD_ARGS=-version %KOREBUILD_VERSION%
+)
 IF NOT EXIST %KOREBUILD_FOLDER% (
-    SET KOREBUILD_DOWNLOAD_ARGS=
-    IF NOT "%KOREBUILD_VERSION%"=="" (
-        SET KOREBUILD_DOWNLOAD_ARGS=-version %KOREBUILD_VERSION%
-    )
-
     %BUILD_FOLDER%\nuget.exe install KoreBuild-dotnet -ExcludeVersion -o %BUILD_FOLDER% -nocache -pre %KOREBUILD_DOWNLOAD_ARGS%
 )


Fixed msbuild exe path in build.cmd again

--- build.cmd
+++ build.cmd
@@ -8,14 +8,13 @@
 	set nuget=nuget
 )

-set msbuildpath="%WINDIR%\Microsoft.NET\Framework\v4.0.30319\msbuild"
-if "%MsBuildExe%" == "" (
-  set msbuildpath=  %MsBuildExe%
+if "%msbuild%" == "" (
+  set msbuild= "%WINDIR%\Microsoft.NET\Framework\v4.0.30319\msbuild"
 )

 %nuget% restore src\FantasyPremierLeagueApi.sln

-%msbuildpath% src\FantasyPremierLeagueApi.sln /p:Configuration="%config%" /m /v:M /fl /flp:LogFile=msbuild.log /nr:false
+%msbuild% src\FantasyPremierLeagueApi.sln /p:Configuration="%config%" /m /v:M /fl /flp:LogFile=msbuild.log /nr:false

 mkdir build


Removed leftover temporary debug directives

--- win32/winget/setup.bat
+++ win32/winget/setup.bat
@@ -565,8 +565,6 @@
 set "SRCDIR=!SRCDIR[%PROC%]!"
 if not defined SRCDIR set "SRCDIR=WIN32"
 if not defined bindir set "bindir=%windir%"
-set FOUND
-set SRCDIR
 if not defined FOUND_%SRCDIR% (
   %COMMENT% No ag.exe found for the %SRCDIR% architecture
   call :InstallAg %SRCDIR% bindir


file removed

file removed

--- tools/nuget-release.bat
+++ tools/nuget-release.bat
@@ -1,30 +0,0 @@
-@echo off
-cls
-echo ***
-echo *** Packaging NODUS.JS
-echo ***
-echo.
-
-SET "feed=C:\Workenv\Tools\Nuget\feed\"
-SET "prev=%feed%..\previous_versions\"
-set "nuget=%CD%\..\Tools\NuGet.exe"
-
-IF NOT EXIST %feed% MKDIR %feed%
-IF NOT EXIST %prev% MKDIR %prev%
-
-IF EXIST %feed%"epic.ui.1.*" MOVE /Y %feed%"epic.ui.1.*" %prev%
-
-CALL %nuget% pack "../epic.ui/epic.ui.nuspec" -OutputDirectory %feed%
-echo.
-
-SET cmd="dir %feed%*.nupkg /s /b | findstr /i "epic.ui.1""
-FOR /F %%F IN (' %cmd% ') DO (
-	echo Pushing file %%F
-	call %nuget% push "%%F"
-	echo.
-)
-
-echo I'm done :)
-echo.
-
-PAUSE


Delete Create_VM.bat

Delete Create_VM.bat

--- Create_VM.bat
+++ Create_VM.bat
@@ -1,81 +0,0 @@
-@ECHO OFF
-
-REM Put the 7zip and VirtualBox directories in the PATH so we can find their executables.
-REM
-setlocal
-set PATH=%PATH%;"C:\Program Files\Oracle\VirtualBox";"C:\Program Files\7-Zip"
-
-REM The default VirtualBox Machine Folder is "%HOMEDRIVE%%HOMEPATH%\VirtualBox VMs" on Windows which is usually something like
-REM "C:\Users\<username>\VirtualBox VMs".
-REM This is where the machine definition files, disk files, and snapshot folder will be placed.
-REM Change the value of the MACHINE_FOLDER variable below if you have changed the location of your VirtualBox
-REM default Machine Folder.
-
-set MACHINE_FOLDER=%HOMEDRIVE%%HOMEPATH%\VirtualBox VMs
-
-REM  CockroachDB Virtual Machine
-
-
-REM  Create the VM
-
-VboxManage createvm --name "CockroachDB" --ostype "Linux_64" --register
-
-
-REM  Use 7zip to uncompress the .vdi disk from the downloaded file.
-
-7z e LinuxLite_*.7z -o%MACHINE_FOLDER%"\CockroachDB"
-
-
-REM  Rename the .vdi file
-
-rename %MACHINE_FOLDER%"\CockroachDB\Linux Lite *.vdi" CockroachDB_disk1.vdi
-
-
-REM Configure the amount of memory and video memory for the VM (in Mb)
-
-VboxManage modifyvm "CockroachDB" --memory 2048 --vram 128
-VboxManage modifyvm "CockroachDB" --cpus 2
-
-
-REM  Add a SATA controller and attach the disk.
-
-VBoxManage storagectl "CockroachDB" --name "SATA Controller" --add sata --bootable on --portcount 2
-VBoxManage storageattach "CockroachDB" --storagectl "SATA Controller" --port 0 --device 0 --type hdd --medium %MACHINE_FOLDER%\CockroachDB\CockroachDB_disk1.vdi
-
-
-REM  Add an IDE controller and attach a DVD drive (with no dvd inside).
-
-REM VBoxManage storagectl    "CockroachDB" --name "IDE Controller" --add ide
-REM VBoxManage storageattach "CockroachDB" --storagectl "IDE Controller" --port 0 --device 0 --type dvddrive --medium emptydrive
-
-REM  Set the boot device order.
-
-VboxManage modifyvm "CockroachDB" --boot1 disk --boot2 none --boot3 none --boot4 none
-
-
-REM  Add a NAT network interface as nic1
-
-VboxManage modifyvm "CockroachDB" --nic1 nat
-
-
-REM  Enable bi-directional cutting and pasting between the host and guest.
-
-VboxManage modifyvm "CockroachDB" --clipboard bidirectional
-
-
-REM  Clustered machines are sensitive to changes in time. VirtualBox tries to keep the guest's time in synchronization
-REM  with the host by making small adjustments which can cause timing errors in CockroachDB.
-REM  This cluster is on one virtual machine so it's more important the time be consistent more than accurate.
-REM  Disable the time synchronization between guest and host.
-
-VBoxManage setextradata "CockroachDB" "VBoxInternal/Devices/VMMDev/0/Config/GetHostTimeDisabled" 1
-
-
-REM  Start the machine
-
-VBoxManage startvm "CockroachDB" --type gui
-
-
-pause
-
-exit


Change build.bat to create output/ folder artifact layout that matches deployment layout

--- web/source/build.bat
+++ web/source/build.bat
@@ -73,7 +73,7 @@
 rem Update any changed resources

 echo Copy or update resources
-xcopy %SOURCE%\resources\*.* %EMBED_OUTPUT%\resources /D /E /Y  >nul
+xcopy %SOURCE%\resources\*.* %EMBED_OUTPUT%\resources /E /Y  >nul

 rem Update build number if successful
 echo.
@@ -89,7 +89,11 @@
 @echo off
 setlocal enableextensions
 if not exist %WEB_OUTPUT% mkdir %WEB_OUTPUT%
-if not exist %WEB_OUTPUT%\resources mkdir %WEB_OUTPUT%\resources
+if not exist %WEB_OUTPUT%\ui mkdir %WEB_OUTPUT%\ui
+if not exist %WEB_OUTPUT%\osk mkdir %WEB_OUTPUT%\osk
+if not exist %WEB_OUTPUT%\src mkdir %WEB_OUTPUT%\src
+if not exist %WEB_OUTPUT%\src\ui mkdir %WEB_OUTPUT%\src\ui
+if not exist %WEB_OUTPUT%\src\osk mkdir %WEB_OUTPUT%\src\osk
 endlocal

 rem Compile supplementary plane string handing extensions
@@ -113,8 +117,15 @@

 rem Update any changed resources

-echo Copy or update resources
-xcopy %SOURCE%\resources\*.* %WEB_OUTPUT%\resources /D /E /Y  >nul
+echo Copy resources to %WEB_OUTPUT%\ui, ...\osk
+xcopy %SOURCE%\resources\ui\* %WEB_OUTPUT%\ui /E /Y  >nul
+xcopy %SOURCE%\resources\osk\* %WEB_OUTPUT%\osk /E /Y  >nul
+
+echo Copy source to %WEB_OUTPUT%\src
+xcopy %SOURCE%\*.js %WEB_OUTPUT%\src /Y
+echo %BUILD% > %WEB_OUTPUT%\src\version.txt
+xcopy %SOURCE%\resources\ui\* %WEB_OUTPUT%\src\ui /E /Y  >nul
+xcopy %SOURCE%\resources\osk\* %WEB_OUTPUT%\src\osk /E /Y  >nul

 rem Update build number if successful
 echo.


Add batch file to produce and open coverage report directly from PyCharm. (#206)

Simply define it as an external tool.

error: pathspec '.idea/coverage.bat' did not match any file(s) known to git

--- .idea/coverage.bat
+++ .idea/coverage.bat
@@ -0,0 +1,16 @@
+@echo off
+rem -------------------------------------------------------------
+rem In PyCharm create "external tool" pointing to this file, with
+rem Arguments: $PyInterpreterDirectory$ $FilePath$
+rem WorkingDirectory $ProjectFileDir$
+rem -------------------------------------------------------------
+set python=%1\python.exe
+set arguments=%2
+
+
+%python% -m coverage run -m pytest %arguments%
+if %errorlevel% EQU 0 (
+	%python% -m coverage html
+	cd htmlcov
+	index.html
+)


Update RingOpenGL 1.2 - buildvc.bat - use locatevc.bat

--- extensions/ringopengl/opengl12/buildvc.bat
+++ extensions/ringopengl/opengl12/buildvc.bat
@@ -1,5 +1,5 @@
 cls
-call "C:\Program Files\Microsoft Visual Studio 12.0\VC\vcvarsall.bat" x86
+call ../../../src/locatevc.bat
 cl /c /DEBUG ring_opengl12.c -I "..\..\..\libdepwin\glew\include" -I "..\..\..\libdepwin\freeglut\include" -I"..\..\..\include"
 link /DEBUG ring_opengl12.obj  ..\..\..\lib\ring.lib ..\..\..\libdepwin\glew\lib\release\win32\glew32.lib ..\..\..\libdepwin\freeglut\lib\freeglut.lib /DLL /OUT:..\..\..\bin\ring_opengl12.dll /SUBSYSTEM:CONSOLE,"5.01"
 del ring_opengl12.obj


Update RingOpenGL 2.0 - buildvc.bat - use locatevc.bat

--- extensions/ringopengl/opengl20/buildvc.bat
+++ extensions/ringopengl/opengl20/buildvc.bat
@@ -1,5 +1,5 @@
 cls
-call "C:\Program Files\Microsoft Visual Studio 12.0\VC\vcvarsall.bat" x86
+call ../../../src/locatevc.bat
 cl /c /DEBUG ring_opengl20.c -I "..\..\..\libdepwin\glew\include" -I "..\..\..\libdepwin\freeglut\include" -I"..\..\..\include"
 link /DEBUG ring_opengl20.obj  ..\..\..\lib\ring.lib ..\..\..\libdepwin\glew\lib\release\win32\glew32.lib ..\..\..\libdepwin\freeglut\lib\freeglut.lib /DLL /OUT:..\..\..\bin\ring_opengl20.dll /SUBSYSTEM:CONSOLE,"5.01"
 del ring_opengl20.obj