Fixed ! quoting and added |&<> quoting to :CondQuote. Added %XCALL% for calling functions in a 2nd script inst. Fixed %EXEC% with commands containing a ^ character. Fixed tracing %FUNCTION% arguments with ^ and % chars. Updated %POPARG% to work with trick characters ! and ^ in delayed expansion mode. The old and faster version is now called %POPSARG%. Moved character entity definitions from the :Debug section to the :PopArg section, where they're now needed first. Added routine :Prep2ExpandVars allowing to pass any tricky string across call or endlocal barriers.

--- Batch/Library.bat
+++ Batch/Library.bat
@@ -166,6 +166,7 @@
 :#   2016-11-06 JFL Updated the 10/19 errorlevel fix to work for DO and EXEC. #
 :#   2016-11-09 JFL Bug fix: %RETURN% failed if an UPVAR contained a '?'.     #
 :#                  Added routine :lsort.                                     #
+:#                  Fixed :condquote, which was severely broken :-(	      #
 :#   2016-11-10 JFL Added another implementation for routine :now.            #
 :#   2016-11-11 JFL Simplified routine :strlen, now 5% faster.                #
 :#                  Added routine :strlen.q. No tracing but twice as fast.    #
@@ -173,7 +174,18 @@
 :#   2016-11-13 JFL Bug fix: Correctly return special characters & | < > ? *  #
 :#   2016-11-17 JFL Fixed tracing %EXEC% command exit code when exp. disabled.#
 :#		    Several other :Exec bug fixes and perf. improvements.     #
-:#                                                                            #
+:#   2016-11-21 JFL Fixed ! quoting and added |&<> quoting to :CondQuote.     #
+:#   2016-11-24 JFL Added %XCALL% for calling functions in a 2nd script inst. #
+:#                  Fixed %EXEC% with commands containing a ^ character.      #
+:#                  Fixed tracing %FUNCTION% arguments with ^ and % chars.    #
+:#                  Updated %POPARG% to work with trick characters ! and ^ in #
+:#                  delayed expansion mode. The old and faster version is now #
+:#		    called %POPSARG%.                                         #
+:#		    Moved character entity definitions from the :Debug section#
+:#		    to the :PopArg section, where they're now needed first.   #
+:#		    Added routine :Prep2ExpandVars allowing to pass any       #
+:#		    tricky string across call or endlocal barriers.           #
+:#		                                                              #
 :#          Copyright 2016 Hewlett Packard Enterprise Development LP         #
 :# Licensed under the Apache 2.0 license  www.apache.org/licenses/LICENSE-2.0 #
 :##############################################################################
@@ -184,16 +196,22 @@
 ver | find "Windows NT" >NUL && goto ErrNT

 setlocal EnableExtensions EnableDelayedExpansion
-set "VERSION=2016-11-17"
+set "VERSION=2016-11-23"
 set "SCRIPT=%~nx0"
 set "SPATH=%~dp0" & set "SPATH=!SPATH:~0,-1!"
 set "ARG0=%~f0"
 set "ARGS=%*"

+:# Mechanism for calling subroutines in a second external script instance.
+:# Done by %XCALL% :label [arguments]
+if '%1'=='-call' !ARGS:~1! & exit /b
+set XCALL=call "%ARG0%" -call
+
 :# FOREACHLINE macro. (Change the delimiter to none to catch the whole lines.)
 set FOREACHLINE=for /f "delims="

-set "POPARG=call :PopArg"
+:# Default definitions
+call :PopArg.Init
 call :Macro.Init
 call :Debug.Init
 call :Exec.Init
@@ -212,16 +230,29 @@
 :#                                                                            #
 :#  Function        PopArg                                                    #
 :#                                                                            #
-:#  Description     Pop the first arguments from %ARGS% into %ARG%            #
-:#                                                                            #
-:#  Arguments       %ARGS%	    Command line arguments                    #
-:#                                                                            #
-:#  Returns         %ARG%           The unquoted argument                     #
+:#  Description     Pop the first argument from %ARGS% into %ARG% and %"ARG"% #
+:#                                                                            #
+:#  Macros          %POPARG%        Pop one argument                          #
+:#                  %POPSARG%       Faster version, not supporting ! or ^ val.#
+:#                                                                            #
+:#  Input           %ARGS%	    Command line arguments                    #
+:#                                                                            #
+:#  Output          %ARG%           The unquoted argument                     #
 :#                  %"ARG"%         The actual argument, possibly quoted      #
+:#                  %ARGS%	    Remaining command line arguments          #
 :#                                                                            #
 :#  Notes 	    Works around the defect of the shift command, which       #
 :#                  pops the first argument from the %* list, but does not    #
 :#                  remove it from %*.                                        #
+:#                  Also works around another defect with tricky characters   #
+:#                  like ! or ^ being lost when variable expansion is on.     #
+:#                                                                            #
+:#                  Important: The performance of this routine is much better #
+:#                  when invoked with variable expansion disabled. This is    #
+:#                  due to the complex processing done to avoid issues with   #
+:#                  tricky characters like ! or ^ when expansion is enabled.  #
+:#                  If you're sure that NONE of the arguments contain such    #
+:#                  tricky characters, then call :PopSimpleArg.               #
 :#                                                                            #
 :#                  Use an inner call to make sure the argument parsing is    #
 :#                  done by the actual cmd.exe parser. This guaranties that   #
@@ -229,6 +260,13 @@
 :#                                                                            #
 :#                  But call itself has a quirk, which requires a convoluted  #
 :#                  workaround to process the /? argument.                    #
+:#                                                                            #
+:#                  Known limitation: After using :PopArg, all consecutive    #
+:#                  argument separators in %ARGS% are replaced by one space.  #
+:#                  For example: "A==B" becomes "A B"                         #
+:#                  This does not change the result of subsequent calls to    #
+:#                  :PopArg, but this prevents from using the tail itself as  #
+:#                  an argument. => Do not use :PopArg to get :Exec args!     #
 :#                                                                            #
 :#                  To do: Detect if the last arg has mismatched quotes, and  #
 :#                  if it does, append one.                                   #
@@ -240,33 +278,149 @@
 :#  History                                                                   #
 :#   2015-04-03 JFL Bug fix: Quoted args with an & inside failed to be poped. #
 :#   2015-07-06 JFL Bug fix: Call quirk prevented inner call from popping /?. #
-:#                                                                            #
-:#----------------------------------------------------------------------------#
+:#   2016-11-18 JFL Fixed popping arguments containing % characters.          #
+:#   2016-11-21 JFL Fixed popping quoted arguments containing &|<> characters.#
+:#   2016-11-22 JFL Fixed popping arguments containing ^ characters.          #
+:#   2016-11-24 JFL Updated %POPARG% to work with trick characters ! and ^ in #
+:#                  delayed expansion mode. The old and faster version is now #
+:#		    called %POPSARG%.                                         #
+:#		    Added routine :Prep2ExpandVars allowing to pass any       #
+:#		    tricky string across call or endlocal barriers.           #
+:#                                                                            #
+:#----------------------------------------------------------------------------#
+
+call :PopArg.Init
+goto PopArg.end
+
+:PopArg.Init
+set "POPARG=call :PopArg"
+set "POPSARG=call :PopSimpleArg"
+
+:# Define a LF variable containing a Line Feed ('\x0A')
+set LF=^
+%# The two blank lines here are necessary. #%
+%# The two blank lines here are necessary. #%
+
+:# Define a CR variable containing a Carriage Return ('\x0D')
+for /f %%a in ('copy /Z %COMSPEC% nul') do set "CR=%%a"
+
+:# Define a BS variable containing a BackSpace ('\x08')
+:# Use prompt to store a  backspace+space+backspace into a DEL variable.
+for /F "tokens=1 delims=#" %%a in ('"prompt #$H# & echo on & for %%b in (1) do rem"') do set "DEL=%%a"
+:# Then extract the first backspace
+set "BS=%DEL:~0,1%"
+
+:# Define variables for problematic characters, that cause parsing issues
+:# Use the ASCII control character name, or the html entity name.
+:# Warning: The excl and hat characters need different quoting depending on context.
+set  "DEBUG.percnt=%%"	&:# One percent sign
+set  "DEBUG.excl=^!"	&:# One exclamation mark
+set  "DEBUG.hat=^"	&:# One caret, aka. circumflex accent, or hat sign
+set ^"DEBUG.quot=""	&:# One double quote
+set  "DEBUG.apos='"	&:# One apostrophe
+set  "DEBUG.amp=&"	&:# One ampersand
+set  "DEBUG.vert=|"	&:# One vertical bar
+set  "DEBUG.gt=>"	&:# One greater than sign
+set  "DEBUG.lt=<"	&:# One less than sign
+set  "DEBUG.lpar=("	&:# One left parenthesis
+set  "DEBUG.rpar=)"	&:# One right parenthesis
+set  "DEBUG.lbrack=["	&:# One left bracket
+set  "DEBUG.rbrack=]"	&:# One right bracket
+set  "DEBUG.sp= "	&:# One space
+set  "DEBUG.tab=	"	&:# One tabulation
+set  "DEBUG.quest=?"	&:# One question mark
+set  "DEBUG.ast=*"	&:# One asterisk
+set  "DEBUG.cr=!CR!"	&:# One carrier return
+set  "DEBUG.lf=!LF!"	&:# One line feed
+set  "DEBUG.bs=!BS!"	&:# One backspace
+goto :eof

 :PopArg
+if "!!"=="" goto :PopArg.Eon
+:PopArg.Eoff
+:PopSimpleArg
 :# Gotcha: The call parser first scans its command line for an unquoted /?.
 :# If it finds one anywhere on the command line, then it ignores the target label and displays call help.
 :# To work around that, we initialize %ARG% and %"ARG"% with an impossible combination of values.
 set "ARG=Yes"
 set ""ARG"=No"
-call :PopArg.Helper %ARGS% >NUL 2>NUL &:# Output redirections ensure the call help is not actually output.
+set "PopArg.ARGS="
+if defined ARGS (
+  setlocal EnableDelayedExpansion
+  for /f "delims=" %%a in ("!ARGS:%%=%%%%!") do endlocal & set ^"PopArg.ARGS=%%a^"
+)
+call :PopArg.Helper %PopArg.ARGS% >NUL 2>NUL &:# Output redirections ensure the call help is not actually output.
 :# Finding that impossible combination now is proof that the call was not executed.
 :# In this case, try again with the /? quoted, to prevent the call parser from processing it.
 :# Note that we can not systematically do this /? enquoting, else it's "/?" that would break the call.
-if "%ARG%"=="Yes" if [%"ARG"%]==[No] call :PopArg.Helper %ARGS:/?="/?"%
+if "%ARG%"=="Yes" if [%"ARG"%]==[No] call :PopArg.Helper %PopArg.ARGS:/?="/?"%
+set "PopArg.ARGS="
 goto :eof
 :PopArg.Helper
-set "ARG=%~1"	&:# Remove quotes from the argument
-set ""ARG"=%1"	&:# The same with quotes, if any, should we need them
+set "ARG=%~1"		&:# Remove quotes from the argument
+set ^""ARG"=%1^"	&:# The same with quotes, if any, should we need them
+if defined ARG set "ARG=%ARG:^^=^%"
+if defined "ARG" set ^""ARG"=%"ARG":^^=^%^"
 :# Rebuild the tail of the argument line, as shift does not do it
 :# Never quote the set ARGS command, else some complex quoted strings break
 set ARGS=%2
 :PopArg.GetNext
 shift
+if defined ARGS set ^"ARGS=%ARGS:^^=^%^"
 if [%2]==[] goto :eof
 :# Leave quotes in the tail of the argument line
 set ARGS=%ARGS% %2
 goto :PopArg.GetNext
+
+:PopArg.Eon
+setlocal DisableDelayedExpansion
+call :PopArg
+call :Prep2ExpandVars ARG ^""ARG"^" ARGS
+setlocal EnableDelayedExpansion
+for /f %%a in ("-!ARG!") do for /f %%b in ("-!"ARG"!") do for /f %%c in ("-!ARGS!") do (
+  endlocal
+  endlocal
+  set "ARG=%%a"
+  set "ARG=!ARG:~1!"
+  set ^""ARG"=%%b^"
+  set ^""ARG"=!"ARG":~1!^"
+  set ^"ARGS=%%c^"
+  set "ARGS=!ARGS:~1!"
+)
+goto :eof
+
+:# Prepare variables to return from the local scope (with expansion on or off) to a parent scope with expansion on
+:Prep2ExpandVars VAR [VAR ...]
+if "!!"=="" goto :Prep2ExpandVars.Eon
+:Prep2ExpandVars.Eoff	:# The local scope has expansion off
+setlocal EnableDelayedExpansion
+set "VALUE=!%~1!"
+call :Prep2ExpandVars.Eon VALUE
+endlocal & set "%~1=%VALUE%"
+if not [%2]==[] shift & goto :Prep2ExpandVars.Eoff
+goto :eof
+
+:# Prepare variables, assuming the local scope itself has expansion on
+:Prep2ExpandVars.Eon VAR [VAR ...]
+if defined %1 (
+  for %%e in (sp tab cr lf quot amp vert lt gt hat percnt) do ( :# Encode named character entities
+    for %%c in ("!DEBUG.%%e!") do (
+      set "%~1=!%~1:%%~c= DEBUG.%%e !"
+    )
+  )
+  call set "%~1=%%%~1:^!= DEBUG.excl %%" 	& rem :# Encode exclamation points
+  call set "%~1=%%%~1: =^!%%"			& rem :# Encode final expandable entities
+)
+if not [%2]==[] shift & goto :Prep2ExpandVars.Eon
+goto :eof
+
+:# Prepare variables containing pathnames that will be passed as "arguments"
+:PrepArgVars
+set "%~1=!%~1:%%=%%%%!"				&:# Escape percent signs
+if not [%2]==[] shift & goto :PrepArgVars
+goto :eof
+
+:PopArg.end

 :#----------------------------------------------------------------------------#
 :#                                                                            #
@@ -341,13 +495,6 @@
 goto :Macro.End

 :Macro.Init
-:# Define a LF variable containing a Line Feed ('\x0A')
-:# The two blank lines below are necessary.
-set LF=^
-
-
-:# End of define Line Feed. The two blank lines above are necessary.
-
 :# LF generator variables, that become an LF after N expansions
 :# %LF1% == %LF% ; %LF2% == To expand twice ; %LF3% == To expand 3 times ; Etc
 :# Starting with LF2, the right # of ^ doubles on every line,
@@ -389,16 +536,6 @@
 :#       They should be removed from the released code.
 set "XDLEVEL=0" &:# 0=No macro debug; 1=medium debug; 2=full debug; 3=Even more debug
 set "IF_XDLEVEL=for /f %%' in ('call echo.%%XDLEVEL%%') do if %%' GEQ"
-
-:# While at it, and although this is unrelated to macros, define other useful ASCII control codes
-:# Define a CR variable containing a Carriage Return ('\x0D')
-for /f %%a in ('copy /Z %COMSPEC% nul') do set "CR=%%a"
-
-:# Define a BS variable containing a BackSpace ('\x08')
-:# Use prompt to store a  backspace+space+backspace into a DEL variable.
-for /F "tokens=1 delims=#" %%a in ('"prompt #$H# & echo on & for %%b in (1) do rem"') do set "DEL=%%a"
-:# Then extract the first backspace
-set "BS=%DEL:~0,1%"

 goto :eof
 :Macro.end
@@ -521,6 +658,7 @@
 :#   2016-11-02 JFL Bug fix: Avoid log file redirection failures in recursive #
 :#                  scripts.                                                  #
 :#   2016-11-13 JFL Bug fix: Correctly return special characters & | < > ? *  #
+:#   2016-11-24 JFL Fixed tracing %FUNCTION% arguments with ^ and % chars.    #
 :#                                                                            #
 :#----------------------------------------------------------------------------#

@@ -534,29 +672,6 @@
 :# Initialize other debug variables
 set "ECHO=call :Echo"
 set "ECHOVARS=call :EchoVars"
-:# Define variables for problematic characters, that cause parsing issues
-:# Use the ASCII control character name, or the html entity name.
-:# Warning: The excl and hat characters need different quoting depending on context.
-set "DEBUG.percnt=%%"	&:# One percent sign
-set "DEBUG.excl=^!"	&:# One exclamation mark
-set "DEBUG.hat=^"	&:# One caret, aka. circumflex accent, or hat sign
-set ^"DEBUG.quot=""	&:# One double quote
-set "DEBUG.apos='"	&:# One apostrophe
-set "DEBUG.amp=&"	&:# One ampersand
-set "DEBUG.vert=|"	&:# One vertical bar
-set "DEBUG.gt=>"	&:# One greater than sign
-set "DEBUG.lt=<"	&:# One less than sign
-set "DEBUG.lpar=("	&:# One left parenthesis
-set "DEBUG.rpar=)"	&:# One right parenthesis
-set "DEBUG.lbrack=["	&:# One left bracket
-set "DEBUG.rbrack=]"	&:# One right bracket
-set "DEBUG.sp= "	&:# One space
-set "DEBUG.tab=	"	&:# One tabulation
-set "DEBUG.quest=?"	&:# One question mark
-set "DEBUG.ast=*"	&:# One asterisk
-set "DEBUG.cr=!CR!"	&:# One carrier return
-set "DEBUG.lf=!LF!"	&:# One line feed
-set "DEBUG.bs=!BS!"	&:# One backspace
 :# The FUNCTION, UPVAR, and RETURN macros should work with delayed expansion on or off
 set MACRO.GETEXP=(if "%'!2%%'!2%"=="" (set MACRO.EXP=EnableDelayedExpansion) else set MACRO.EXP=DisableDelayedExpansion)
 set UPVAR=call set DEBUG.RETVARS=%%DEBUG.RETVARS%%
@@ -651,7 +766,8 @@
 set "FUNCTION0=rem"
 set FUNCTION=%MACRO.GETEXP% %&% %MACRO% ( %\n%
   call set "FUNCTION.NAME=%%0" %\n%
-  call set "ARGS=%%*"%\n%
+  call set ARGS=%%*%# Do not quote this, to keep string/non string aternance #%%\n%
+  set ARGS=%!%ARGS:^^^^^^^^^^^^^^^^=^^^^^^^^%!%%# ^carets are doubled in quoted strings, halved outside. => Quadruple them if using unquoted ones #%%\n%
   set "DEBUG.RETVARS=" %\n%
   if not defined MACRO.ARGS set "MACRO.ARGS=%'!%MACRO.EXP%'!%" %\n%
   setlocal %!%MACRO.ARGS%!% %\n%
@@ -676,15 +792,16 @@
 set "FUNCTION0=call call :Debug.Entry0 %%0 %%*"
 set FUNCTION=%MACRO.GETEXP% %&% %MACRO% ( %\n%
   call set "FUNCTION.NAME=%%0" %\n%
-  call set "ARGS=%%*"%\n%
+  call set ARGS=%%*%# Do not quote this, to keep string/non string aternance #%%\n%
+  set ARGS=%!%ARGS:^^^^^^^^^^^^^^^^=^^^^^^^^%!%%# ^carets are doubled in quoted strings, halved outside. => Quadruple them if using unquoted ones #%%\n%
   if %!%DEBUG%!%==1 ( %# Build the debug message and display it #% %\n%
     if defined ^^%>%DEBUGOUT ( %# If we use a debugging stream distinct from stdout #% %\n%
-      call :Echo.2DebugOut call %!%FUNCTION.NAME%!% %!%ARGS%!%%# Use a helper routine, as delayed redirection does not work #%%\n%
+      call :Echo.2DebugOut call %!%FUNCTION.NAME%!% %!%ARGS:%%=%%%%%!%%# Use a helper routine, as delayed redirection does not work #%%\n%
     ) else ( %# Output directly here, which is faster #% %\n%
       echo%!%INDENT%!% call %!%FUNCTION.NAME%!% %!%ARGS%!%%\n%
     ) %\n%
     if defined LOGFILE ( %# If we have to send a copy to a log file #% %\n%
-      call :Echo.2LogFile call %!%FUNCTION.NAME%!% %!%ARGS%!%%# Use a helper routine, as delayed redirection does not work #%%\n%
+      call :Echo.2LogFile call %!%FUNCTION.NAME%!% %!%ARGS:%%=%%%%%!%%# Use a helper routine, as delayed redirection does not work #%%\n%
     ) %\n%
     call set "INDENT=%'!%INDENT%'!%  " %\n%
   ) %\n%
@@ -773,14 +890,26 @@

 :Echo.Eval2DebugOut %*=String with variables that need to be evaluated first
 :# Must be called with delayed expansion on, so that !variables! within %* get expanded
+%>DEBUGOUT% echo.%INDENT%%*
+goto :eof
+
 :Echo.2DebugOut	%*=String to output to the DEBUGOUT stream
-%>DEBUGOUT% echo.%INDENT%%*
+setlocal DisableDelayedExpansion &:# Make sure !variables! do _not_ get expanded
+set ^"ARGS=%*^" &:# ^carets within "quoted" strings get doubled.
+if defined ARGS set ^"ARGS=%ARGS:^^=^%^"
+%>DEBUGOUT% echo.%INDENT%%ARGS%
 goto :eof

 :Echo.Eval2LogFile %*=String with variables that need to be evaluated first
 :# Must be called with delayed expansion on, so that !variables! within %* get expanded
+%>>LOGFILE% echo.%INDENT%%*
+goto :eof
+
 :Echo.2LogFile %*=String to output to the LOGFILE
-%>>LOGFILE% echo.%INDENT%%*
+setlocal DisableDelayedExpansion &:# Make sure !variables! do _not_ get expanded
+set ^"ARGS=%*^" &:# ^carets within "quoted" strings get doubled.
+if defined ARGS set ^"ARGS=%ARGS:^^=^%^"
+%>>LOGFILE% echo.%INDENT%%ARGS%
 goto :eof

 :# Echo and log variable values, indented at the same level as the debug output.
@@ -859,6 +988,8 @@
 :#                              %EXEC% can't be used, like in for ('cmd') ... #
 :#                  %IF_EXEC%   Execute a command if _not_ in NOEXEC mode     #
 :#                  %IF_NOEXEC% Execute a command in NOEXEC mode only         #
+:#                  %DOECHO%    Echo and run a command. No logging.           #
+:#                  %DOECHO.D%  Idem, echoing it in debug mode only.          #
 :#                                                                            #
 :#  Variables       %NOEXEC%	Exec mode. 0=Execute commands; 1=Don't. Use   #
 :#                              functions Exec.Off and Exec.On to change it.  #
@@ -902,6 +1033,8 @@
 :#		    optional arguments from the command line to run. (The old #
 :#		    method lost non-white batch argument separators = , ; in  #
 :#		    some cases.)                                              #
+:#   2016-11-24 JFL Fixed executing commands containing a ^ character.        #
+:#		    Added routine :DoEcho.                                    #
 :#		                                                              #
 :#----------------------------------------------------------------------------#

@@ -912,10 +1045,14 @@
 :Exec.Init
 set "DO=call :Do"
 set "EXEC=call :Exec"
+set "DOECHO=call :DoEcho"
+set "DOECHO.D=call :DoEcho.D"
 set "ECHO.X=call :Echo.X"
 set "ECHO.XD=call :Echo.XD"
 set "ECHO.XVD=call :Echo.XVD"
 if not .%NOEXEC%.==.1. set "NOEXEC=0"
+set "XCALL@=%XCALL% :Exec.CallVar"
+set "XEXEC@=%XCALL% :Exec.ExecVar"
 :# Check if there's a tee.exe program available
 set "Exec.HaveTee=0"
 tee.exe --help >NUL 2>NUL
@@ -981,7 +1118,8 @@
 :# Record the command-line to execute.
 :# Never comment (set Exec.cmd) lines themselves, to avoid appending extra spaces.
 :# Use %*, but not %1 ... %9, because %N miss non-white argument separators like = , ;
-set Exec.Cmd=%*
+set ^"Exec.Cmd=%*^" &:# Doubles ^carets within "quoted" strings, and halves those outside
+set ^"Exec.Cmd=%Exec.Cmd:^^=^%^" &:# Fix the # of ^carets within "quoted" strings
 :# Process optional arguments
 goto :Exec.GetArgs
 :Exec.NextArg
@@ -1048,6 +1186,26 @@
   exit /b %%e
 )

+:Exec.CallVar CMDVAR
+call !%1:%%=%%%%!
+exit /b
+
+:Exec.ExecVar CMDVAR
+call :Exec !%1:%%=%%%%!
+exit /b
+
+:# Echo a command, then run it as it is.
+:DoEcho
+%ECHO% %*
+%*
+goto :eof
+
+:# Echo a command in debug mode, then run it as it is.
+:DoEcho.D
+%>DEBUGOUT% %ECHO.D% %*
+%*
+goto :eof
+
 :Exec.End

 :#----------------------------------------------------------------------------#
@@ -1346,6 +1504,28 @@
 set "X=Modified value" & echo X=!X!
 endlocal
 goto :eof
+
+:#----------------------------------------------------------------------------#
+
+:# Check that cmd extensions work
+:check_exts
+verify other 2>nul
+setlocal EnableExtensions EnableDelayedExpansion
+if errorlevel 1 (
+  >&2 echo Error: Unable to enable command extensions.
+  endlocal & exit /b 1
+)
+set VAR=before
+if "%VAR%" == "before" (
+  set VAR=after
+  if not "!VAR!" == "after" (
+    >&2 echo Error: Delayed environment variable expansion must be enabled.
+    >&2 echo Please restart your cmd.exe shell with the /V option,
+    >&2 echo or set HKLM\Software\Microsoft\Command Processor\DelayedExpansion=1
+    endlocal & exit /b 1
+  )
+)
+endlocal & exit /b 0

 :#----------------------------------------------------------------------------#
 :#                                                                            #
@@ -2037,32 +2217,39 @@
 :#                  See "cmd /?" for information about characters needing to  #
 :#                  be quoted.                                                #
 :#                  I've added "@" that needs quoting if first char in cmd.   #
-:#                  I've removed "!" as quoting does NOT prevent expansions.  #
+:#                                                                            #
+:#                  Although this is not the objective of this function,      #
+:#                  some effort is made to also produce a usable string if    #
+:#                  the input contains characters that are invalid in file    #
+:#                  names. Inner '"' are removed. "|&<>" are quoted.	      #
 :#                                                                            #
 :#  History                                                                   #
 :#   2010-12-19 JFL Created this routine                                      #
 :#   2011-12-12 JFL Rewrote using findstr. (Executes much faster.)	      #
 :#		    Added support for empty pathnames.                        #
+:#   2016-11-09 JFL Fixed this routine, which was severely broken :-(	      #
+:#   2016-11-21 JFL Fixed the "!" quoting, and added "|&<>" quoting.	      #
 :#                                                                            #
 :#----------------------------------------------------------------------------#

 :# Quote file pathnames that require it. %1=Input variable. %2=Opt. output variable.
 :condquote
-%FUNCTION% enableextensions enabledelayedexpansion
-set RETVAR=%~2
-if "%RETVAR%"=="" set RETVAR=%~1
+%FUNCTION% EnableExtensions EnableDelayedExpansion
+set "RETVAR=%~2"
+if not defined RETVAR set "RETVAR=%~1" &:# By default, change the input variable itself
+%UPVAR% %RETVAR%
 set "P=!%~1!"
+:# Remove double quotes inside P. (Fails if P is empty, so skip this in this case)
+if defined P set ^"P=!P:"=!"
 :# If the value is empty, don't go any further.
 if not defined P set "P=""" & goto :condquote_ret
-:# Remove double quotes inside P. (Fails if P is empty)
-set "P=%P:"=%"
-:# If the value is empty, don't go any further.
-if not defined P set "P=""" & goto :condquote_ret
-:# Look for any special character that needs quoting
-echo."%P%"|findstr /C:" " /C:"&" /C:"(" /C:")" /C:"@" /C:"," /C:";" /C:"[" /C:"]" /C:"{" /C:"}" /C:"=" /C:"'" /C:"+" /C:"`" /C:"~" >NUL
-if not errorlevel 1 set P="%P%"
+:# Look for any special character that needs "quoting". See list from (cmd /?).
+:# Added "@" that needs quoting ahead of commands.
+:# Added "|&<>" that are not valid in file names, but that do need quoting if used in an argument string.
+echo."!P!"|findstr /C:" " /C:"&" /C:"(" /C:")" /C:"[" /C:"]" /C:"{" /C:"}" /C:"^^" /C:"=" /C:";" /C:"!" /C:"'" /C:"+" /C:"," /C:"`" /C:"~" /C:"@" /C:"|" /C:"&" /C:"<" /C:">" >NUL
+if not errorlevel 1 set P="!P!"
 :condquote_ret
-%UPVAR% %RETVAR%
+set "%RETVAR%=!P!"
 %RETURN%

 :condquote2
@@ -3565,6 +3752,110 @@
 %RETURN%

 :#----------------------------------------------------------------------------#
+:# Test passing tricky characters
+
+:testC
+%FUNCTION% EnableDelayedExpansion
+:# set "STRING=@(())^^^^,,;;  %%%%^!^!**??[[]]==~~''""%%CD%%_^!CD^!"
+:# set STRING=!STRING!"@||&&(())<<>>^^,,;;  %%%%^!^!**??[[]]==~~''%%CD%%_^!CD^!"
+set "STRING0=@||&&(())<<>>^^^^,,;;  %%%%^!^!**??[[]]==~~''%%CD%%_^!CD^!"
+set "STRING1=@(()),,;;  %%%%^!^!**??[[]]==~~''""%%CD%%_^!CD^!" &:# Remove ||&&^^<<>> that cause problems when not quoted
+set STRING=!STRING1! "!STRING0!"
+set STRING
+call :testC2 !STRING:%%=%%%%!
+%RETURN%
+
+:testC2
+%DOECHO% setlocal DisableDelayedExpansion
+set ARGLINE=%*
+set ARGLINE
+set ARG#1=%1
+set ARG#2=%2
+set ARG#3=%3
+set ARG#4=%4
+set ARG#
+
+%ECHO% :# Idem with initial ^^caret
+set ^"ARGLINE=%*^"
+set ARGLINE
+set ^"ARG#1=%1^" &:# yes
+set ^"ARG#2=%2^" & echo {%ARG#1%}
+set ^"ARG#3=%3^" & echo {%ARG#2%}
+set ^"ARG#4=%4^"
+set ARG#
+
+endlocal
+
+%DOECHO% setlocal EnableDelayedExpansion
+set ^"ARGLINE=%*^"
+set ARGLINE
+set ARG#1=%1
+set ARG#2=%2
+set ARG#3=%3
+set ARG#4=%4
+set ARG#
+endlocal
+
+%FUNCTION% EnableDelayedExpansion
+set ARGS
+set "STRING0="
+set "STRING1="
+set "STRING=!ARGS!"
+set STRING
+%DOECHO% setlocal DisableDelayedExpansion
+%POPARG%
+%ECHOVARS% ARG ^""ARG"^"
+%POPARG%
+%ECHOVARS% ARG ^""ARG"^"
+%POPARG%
+%ECHOVARS% ARG ^""ARG"^"
+%POPARG%
+%ECHOVARS% ARG ^""ARG"^"
+endlocal
+
+%DOECHO% setlocal EnableDelayedExpansion
+set ARGS=!STRING!
+%POPARG%
+%ECHOVARS% ARG ^""ARG"^"
+%POPARG%
+%ECHOVARS% ARG ^""ARG"^"
+%POPARG%
+%ECHOVARS% ARG ^""ARG"^"
+%POPARG%
+%ECHOVARS% ARG ^""ARG"^"
+endlocal
+%RETURN%
+
+:# Test preparing tricky arguments for expansion
+:testP
+%FUNCTION% EnableDelayedExpansion
+:# set "STRING=@(())^^^^,,;;  %%%%^!^!**??[[]]==~~''""%%CD%%_^!CD^!"
+:# set STRING=!STRING!"@||&&(())<<>>^^,,;;  %%%%^!^!**??[[]]==~~''%%CD%%_^!CD^!"
+set "STRING0=@||&&(())<<>>^^^^,,;;  %%%%^!^!**??[[]]==~~''%%CD%%_^!CD^!"
+set "STRING1=@(()),,;;  %%%%^!^!**??[[]]==~~''""%%CD%%_^!CD^!" &:# Remove ||&&^^<<>> that cause problems when not quoted
+set STRING=!STRING1! "!STRING0!"
+set STRING
+setlocal DisableDelayedExpansion
+call :Prep2ExpandVars STRING
+endlocal
+%RETURN%
+
+:#----------------------------------------------------------------------------#
+:# Test relative performances of two possible ways to do indirect variable expansion
+
+:call_set
+call set "X=%%windir%%"
+goto :eof
+
+:call_:set
+call :set "X=%%windir%%"
+goto :eof
+
+:set
+set %*
+goto :eof
+
+:#----------------------------------------------------------------------------#
 :#                                                                            #
 :#  Function        Main                                                      #
 :#                                                                            #


Use script directory as dotfilesdir

Use script directory as dotfilesdir

--- install.bat
+++ install.bat
@@ -13,7 +13,7 @@
 :: ############################

 :: dotfiles directory
-set dotfilesdir=%USERPROFILE%\.dotfiles
+set dotfilesdir=%~dp0

 :: backup directory
 set backupdir=%USERPROFILE%\dotfiles_backup
@@ -22,7 +22,7 @@
 set dotfiles=bashrc bash_profile bash dir_colors inputrc minttyrc gitconfig

 for %%A in (%dotfiles%) DO (
-  set target=%dotfilesdir%\%%A
+  set target=%dotfilesdir%%%A
   set link=%USERPROFILE%\.%%A
   set linkExists="0"


added debug/release option for SDK detection

--- install.bat
+++ install.bat
@@ -502,6 +502,7 @@

 	assert(type(vars.UNAME_M) == "string", "requires vars.UNAME_M to be set before calling this function.")
 	local x64 = vars.UNAME_M=="x86_64"
+  local debug = vars.LUA_RUNTIME:find("D$")  -- runtime ending with "D" is a debug runtime

 	-- 1. try visual studio command line tools
 	local vcdir = get_visual_studio_directory()
@@ -525,7 +526,7 @@
 	if wsdkdir then
 		local setenv = wsdkdir.."Bin\\SetEnv.cmd"
 		if exists(setenv) then
-			return ('call "%s" /Release /%s'):format(setenv, x64 and "x64" or "x86")
+			return ('call "%s" /%s /%s'):format(setenv, debug and "Debug" or "Release" ,x64 and "x64" or "x86")
 		end
 	end


Updated this batch file for uPortal 2.0

Updated this batch file for uPortal 2.0

git-svn-id: 477788cc2a8229a747c5b8073e47c1d0f6ec0604@3903 f5dbab47-78f9-eb45-b975-e544023573eb

--- docs/buildPortalJavaDocs.bat
+++ docs/buildPortalJavaDocs.bat
@@ -1,15 +1,16 @@
-set JAVADOC_PATH=D:\jdk1.2.2\bin
-set JAVADOC_DOCSPATH=D:\Projects\JA-SIG\Portal\docs
-set JAVADOC_SOURCEPATH=D:\Projects\JA-SIG\Portal\source
+set JAVADOC_PATH=D:\jdk1.3.0\bin
+set JAVADOC_DOCSPATH=D:\Projects\JA-SIG\uPortal2\docs\JavaDocs
+set JAVADOC_SOURCEPATH=D:\Projects\JA-SIG\uPortal2\source

-set JAVADOC_CLASSPATH=%JAVADOC_CLASSPATH%;D:\JavaClasses\DXML1_2\lib\dxml.jar
-set JAVADOC_CLASSPATH=%JAVADOC_CLASSPATH%;D:\JavaClasses\DXML1_2\lib\xml4j.jar
-set JAVADOC_CLASSPATH=%JAVADOC_CLASSPATH%;D:\Projects\JA-SIG\Portal\classes
-set JAVADOC_CLASSPATH=%JAVADOC_CLASSPATH%;"D:\Program Files\Tomcat\lib\servlet.jar"
+set JAVADOC_CLASSPATH=%JAVADOC_CLASSPATH%;D:\Projects\JA-SIG\uPortal2\classes
+set JAVADOC_CLASSPATH=%JAVADOC_CLASSPATH%;D:\JavaClasses\xalan_1_2\xalan.jar
+set JAVADOC_CLASSPATH=%JAVADOC_CLASSPATH%;D:\JavaClasses\xalan_1_2\xerces.jar
+set JAVADOC_CLASSPATH=%JAVADOC_CLASSPATH%;D:\JavaClasses\log4j-1.0.4\log4j.jar
+set JAVADOC_CLASSPATH=%JAVADOC_CLASSPATH%;D:\JavaClasses\Tomcat3_2_1\lib\servlet.jar

-set JAVADOC_WINDOWTITLE="JA-SIG Portal"
-set JAVADOC_DOCTITLE="JA-SIG Portal"
-set JAVADOC_PACKAGES=org.jasig.portal org.jasig.portal.layout org.jasig.portal.channels org.jasig.portal.channels.rss org.jasig.portal.channels.bookmarks
+set JAVADOC_WINDOWTITLE="uPortal 2.0"
+set JAVADOC_DOCTITLE="uPortal 2.0"
+set JAVADOC_PACKAGES=org.jasig.portal org.jasig.portal.channels org.jasig.portal.channels.UserPreferences org.jasig.portal.security org.jasig.portal.security.provider org.jasig.portal.utils org.jasig.portal.services org.jasig.portal.tools

 %JAVADOC_PATH%\javadoc -d %JAVADOC_DOCSPATH% -sourcepath %JAVADOC_SOURCEPATH% -classpath %JAVADOC_CLASSPATH% -splitindex -version -author -windowtitle %JAVADOC_WINDOWTITLE% -doctitle %JAVADOC_DOCTITLE% %JAVADOC_PACKAGES%


Simple batch file that syncs all languages to English.

error: pathspec 'yafsrc/Tools/LanguageSync/SyncLangtoEnglish.bat' did not match any file(s) known to git

--- yafsrc/Tools/LanguageSync/SyncLangtoEnglish.bat
+++ yafsrc/Tools/LanguageSync/SyncLangtoEnglish.bat
@@ -0,0 +1,23 @@
+@ECHo OFF
+
+YafLanguageSync.exe "..\..\YetAnotherForum.NET\languages\english.xml" "..\..\YetAnotherForum.NET\languages\china.xml" -o
+YafLanguageSync.exe "..\..\YetAnotherForum.NET\languages\english.xml" "..\..\YetAnotherForum.NET\languages\czech.xml" -o
+YafLanguageSync.exe "..\..\YetAnotherForum.NET\languages\english.xml" "..\..\YetAnotherForum.NET\languages\danish.xml" -o
+YafLanguageSync.exe "..\..\YetAnotherForum.NET\languages\english.xml" "..\..\YetAnotherForum.NET\languages\dutch.xml" -o
+YafLanguageSync.exe "..\..\YetAnotherForum.NET\languages\english.xml" "..\..\YetAnotherForum.NET\languages\finnish.xml" -o
+YafLanguageSync.exe "..\..\YetAnotherForum.NET\languages\english.xml" "..\..\YetAnotherForum.NET\languages\french.xml" -o
+YafLanguageSync.exe "..\..\YetAnotherForum.NET\languages\english.xml" "..\..\YetAnotherForum.NET\languages\german-du.xml" -o
+YafLanguageSync.exe "..\..\YetAnotherForum.NET\languages\english.xml" "..\..\YetAnotherForum.NET\languages\hebrew.xml" -o
+YafLanguageSync.exe "..\..\YetAnotherForum.NET\languages\english.xml" "..\..\YetAnotherForum.NET\languages\italian.xml" -o
+YafLanguageSync.exe "..\..\YetAnotherForum.NET\languages\english.xml" "..\..\YetAnotherForum.NET\languages\lithuanian.xml" -o
+YafLanguageSync.exe "..\..\YetAnotherForum.NET\languages\english.xml" "..\..\YetAnotherForum.NET\languages\norwegian.xml" -o
+YafLanguageSync.exe "..\..\YetAnotherForum.NET\languages\english.xml" "..\..\YetAnotherForum.NET\languages\persian.xml" -o
+YafLanguageSync.exe "..\..\YetAnotherForum.NET\languages\english.xml" "..\..\YetAnotherForum.NET\languages\polish.xml" -o
+YafLanguageSync.exe "..\..\YetAnotherForum.NET\languages\english.xml" "..\..\YetAnotherForum.NET\languages\portugues.xml" -o
+YafLanguageSync.exe "..\..\YetAnotherForum.NET\languages\english.xml" "..\..\YetAnotherForum.NET\languages\romanian.xml" -o
+YafLanguageSync.exe "..\..\YetAnotherForum.NET\languages\english.xml" "..\..\YetAnotherForum.NET\languages\russian.xml" -o
+YafLanguageSync.exe "..\..\YetAnotherForum.NET\languages\english.xml" "..\..\YetAnotherForum.NET\languages\slovak.xml" -o
+YafLanguageSync.exe "..\..\YetAnotherForum.NET\languages\english.xml" "..\..\YetAnotherForum.NET\languages\spanish.xml" -o
+YafLanguageSync.exe "..\..\YetAnotherForum.NET\languages\english.xml" "..\..\YetAnotherForum.NET\languages\swedish.xml" -o
+YafLanguageSync.exe "..\..\YetAnotherForum.NET\languages\english.xml" "..\..\YetAnotherForum.NET\languages\turkish.xml" -o
+YafLanguageSync.exe "..\..\YetAnotherForum.NET\languages\english.xml" "..\..\YetAnotherForum.NET\languages\vietnam.xml" -o


Create redeemSteamKey.bat

Create redeemSteamKey.bat

Auto register a steam key and send the result to your desired Discord channel using Discord WebHook,
Requirements:
1. cURL
2. Cookies file of steam store
3. Discord WebHook

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

--- redeemSteamKey.bat
+++ redeemSteamKey.bat
@@ -0,0 +1,103 @@
+@echo off
+
+@powershell -sta "add-type -as System.Windows.Forms; [windows.forms.clipboard]::GetText()" > key.txt
+set /p $Key= < key.txt
+
+echo %$Key% | findstr /r "[a-zA-z0-9][a-zA-z0-9][a-zA-z0-9][a-zA-z0-9][a-zA-z0-9]-[a-zA-z0-9][a-zA-z0-9][a-zA-z0-9][a-zA-z0-9][a-zA-z0-9]-[a-zA-z0-9][a-zA-z0-9][a-zA-z0-9][a-zA-z0-9][a-zA-z0-9]" > nul
+if %errorlevel%==1 (
+	echo Clipboard doesn't contain a Steam Key.
+	Pause
+	exit
+)
+
+set "$ContentType=Content-Type: application/x-www-form-urlencoded; charset=UTF-8"
+set "$Accept=accept: application/json"
+set "$Origin=Origin: https://store.steampowered.com"
+set "$DNT=DNT: 1"
+set "Cache=Cache-Control: no-cache"
+set "$ContentLength=Content-Length: 64"
+set "$Url=https://store.steampowered.com/account/ajaxregisterkey/"
+set "$sessionid=859e41f7f39da804c05088ba"
+set "$DiscordWebHookUrl=" ::Fill with Discord webhook
+
+:: Activating on Steam
+curl -X POST -b cookies.txt -H "%$Cache%" -H "%$DNT%" -H "%$ContentType%" -d "sessionid=%$sessionid%" -d "product_key=%$Key%" %$Url% > res.json
+
+:: Cleaning up the response
+@powershell -sta "(Get-Content -Path 'res.json').replace('`','') | Set-Content cleanResponse.json;"
+@powershell -sta "(Get-Content -Path 'cleanResponse.json').replace('""','') | Set-Content cleanResponse.json;"
+
+:: Saving into Variables
+set /p $cleanResponse= < cleanResponse.json
+
+:: Checking activation response
+type "cleanResponse.json" | find "purchase_result_details:0" > nul
+if %errorlevel%==0 (
+	set "color=\"color\":65280"
+	set "title=\"title\":\"Activated\""
+	set "description=\"description\":\"Key activated successfuly!\""
+	set "result=%$Key%: Key activated successfuly!"
+)
+type "cleanResponse.json" | find "purchase_result_details:9" > nul
+if %errorlevel%==0 (
+	set "color=\"color\":12845619"
+	set "title=\"title\":\"Fail - Already Owns\""
+	set "description=\"description\":\"This Steam account already owns the product contained in this offer. To access them, visit your library in the Steam client.\""
+	set "result=%$Key%: Already Owns"
+)
+type "cleanResponse.json" | find "purchase_result_details:13" > nul
+if %errorlevel%==0 (
+	set "color=\"color\":12845619"
+	set "title=\"title\":\"Fail - Unavailable\""
+	set "description=\"description\":\"Sorry, but this product is not available for purchase in this country. Your product key has not been redeemed.\""
+	set "result=%$Key%: Unavailable"
+)
+type "cleanResponse.json" | find "purchase_result_details:14" > nul
+if %errorlevel%==0 (
+	set "color=\"color\":12845619"
+	set "title=\"title\":\"Fail - Invalid\""
+	set "description=\"description\":\"The product code you have entered is not valid. Please double check to see if you have mistyped your key. I, L, and 1 can look alike, as can V and Y, and 0 and O.\""
+	set "result=%$Key%: Invalid"
+)
+type "cleanResponse.json" | find "purchase_result_details:15" > nul
+if %errorlevel%==0 (
+	set "color=\"color\":12845619"
+	set "title=\"title\":\"Fail - Duplicate\""
+	set "description=\"description\":\"The product code you have entered has already been activated by a different Steam account. This code cannot be used again. Please contact the retailer or online seller where the code was purchased for assistance.\""
+	set "result=%$Key%: Duplicate"
+)
+type "cleanResponse.json" | find "purchase_result_details:24" > nul
+if %errorlevel%==0 (
+	set "color=\"color\":12845619"
+	set "title=\"title\":\"Fail - Missing Base Game\""
+	set "description=\"description\":\"The product code you have entered requires ownership of another product before activation. If you are trying to activate an expansion pack or downloadable content, please first activate the original game, then activate this additional content.\""
+	set "result=%$Key%: Missing Base Game"
+)
+type "cleanResponse.json" | find "purchase_result_details:50" > nul
+if %errorlevel%==0 (
+	set "color=\"color\":12845619"
+	set "title=\"title\":\"Fail - Wallet Code\""
+	set "description=\"description\":\"The code you have entered is from a Steam Gift Card or Steam Wallet Code.\""
+	set "result=%$Key%: Wallet Code"
+)
+type "cleanResponse.json" | find "purchase_result_details:53" > nul
+if %errorlevel%==0 (
+	set "color=\"color\":12845619"
+	set "title=\"title\":\"Fail - Too Many Activations\""
+	set "description=\"description\":\"There have been too many recent activation attempts from this account or Internet address. Please wait and try your product code again later.\""
+	set "result=%$Key%: Too Many Activations"
+)
+
+cls
+
+:: Sending result to Discord
+curl -H "Content-Type: application/json" -X POST -d "{ \"content\": \"%$cleanResponse%\", \"embeds\":[{%title%,%description%,%color%,\"author\": {\"name\": \"%$Key%\"}}]}" %$DiscordWebHookUrl%
+
+:: Cleaning up files
+del res.json
+del cleanResponse.json
+del key.txt
+
+ECHO %result%
+PAUSE
+EXIT


Delete pack.bat

Delete pack.bat

--- XamJam.Screen/pack.bat
+++ XamJam.Screen/pack.bat
@@ -1 +0,0 @@
-nuget pack Plugin.XamJam.Screen.nuspec


Added psake.cmd to allow calling from cmd.exe or CI server.

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

--- psake.cmd
+++ psake.cmd
@@ -0,0 +1,2 @@
+@echo off
+powershell -NoProfile -ExecutionPolicy unrestricted -Command "& {Import-Module %~dp0\psake.psm1; invoke-psake %*; remove-module psake }"


echo variables

echo variables


build-installer-win64:  review fixes

build-installer-win64:  review fixes

--- scripts/build-installer-win64.bat
+++ scripts/build-installer-win64.bat
@@ -2,7 +2,7 @@
 rem   1. Node.js ('npm' binary in PATH)
 rem   2. 7zip    ('7z'  binary in PATH)
 rem
-rem   installer dev mode:  set FAST_REBUILD/FASTER_REBUILD to skip to frontend/installer compilation
+rem   installer dev mode:  set SKIP_TO_FRONTEND/SKIP_TO_INSTALLER

 set MIN_CARDANO_BYTES=50000000
 set LIBRESSL_VERSION=2.5.3
@@ -31,10 +31,10 @@
 @echo ..with LibreSSL version:    %LIBRESSL_VERSION%
 @echo .

-@if not [%FASTER_REBUILD%]==[] (@echo WARNING: FASTER_REBUILD set, skipping to frontend packaging
-    pushd installers & goto :build)
-@if not [%FAST_REBUILD%]==[]   (@echo WARNING: FAST_REBUILD set, skipping directly to installer rebuild
-    pushd installers & goto :fast_rebuild)
+@if not [%SKIP_TO_INSTALLER%]==[] (@echo WARNING: SKIP_TO_INSTALLER set, skipping to frontend packaging
+    pushd installers & goto :build_installer)
+@if not [%SKIP_TO_FRONTEND%]==[]   (@echo WARNING: SKIP_TO_FRONTEND set, skipping directly to installer rebuild
+    pushd installers & goto :build_frontend)

 @echo Obtaining curl
 powershell -Command "try { Import-Module BitsTransfer; Start-BitsTransfer -Source '%CURL_URL%' -Destination 'curl.7z'; } catch { exit 1; }"
@@ -92,7 +92,7 @@
 move   node_modules\daedalus-client-api\cardano-launcher.exe installers\
 del /f node_modules\daedalus-client-api\*.exe

-:fast_rebuild
+:build_frontend
 @echo Packaging frontend
 call npm run package -- --icon installers/icons/64x64
 @if %errorlevel% neq 0 (@echo FAILED: Failed to package the frontend
@@ -140,7 +140,7 @@
     @if %errorlevel% neq 0 (@echo FAILED: stack setup --no-reinstall
 	exit /b 1)

-:build
+:build_installer
     call ..\scripts\appveyor-retry call stack --no-terminal build -j 2 --exec make-installer
     @if %errorlevel% equ 0 goto :built


created src/packer/make.bat script

created src/packer/make.bat script

error: pathspec 'src/packer/make.bat' did not match any file(s) known to git

--- src/packer/make.bat
+++ src/packer/make.bat
@@ -0,0 +1,2 @@
+
+haxe build.hxml && cd ../../dist/ && python prefixer.py && cd ../src/packer/


Correct setup.bat

Correct setup.bat

--- setup.bat
+++ setup.bat
@@ -35,6 +35,7 @@
 )

 if not exist "packages" mkdir packages
+
 ECHO "Set Execution Policy..."
 ECHO.

@@ -123,6 +124,7 @@

 msys\bin\bash -l -c "ECHO '%CD%\mingw64' /mingw>/etc/fstab"
 if not exist "msys\home\developer" mkdir "%CD%\msys\home\developer"
+
 ECHO "Make Sure Previous PYTHONPATH is cleared..."
 ECHO.

@@ -173,8 +175,11 @@
        EXIT /B 1
     )

-    copy "%VS110COMNTOOLS%..\IDE\mspdb110.dll" mingw64\bin\
-    copy "%VS110COMNTOOLS%..\..\VC\bin\x86_amd64\*.*" mingw64\bin\
+    REM BUG!!!copy "%VS110COMNTOOLS%..\IDE\mspdb110.dll" mingw64\bin\
+    REM copy "%VS110COMNTOOLS%..\..\VC\bin\amd64\mspdbsrv.exe" mingw64\bin\
+    REM copy "%VS110COMNTOOLS%..\..\VC\bin\amd64\mspdbcore.dll" mingw64\bin\
+    REM copy "%VS110COMNTOOLS%..\..\VC\bin\amd64\mspdb110.dll" mingw64\bin\
+    REM copy "%VS110COMNTOOLS%..\..\VC\bin\x86_amd64\*.*" mingw64\bin\
 )

 ECHO.
@@ -186,7 +191,7 @@
 )

 ECHO.
-ECHO "Copy 64bit system libraries..."
+ECHO "Copy 64 bit system libraries..."
 ECHO.

 COPY %WINDIR%\System32\gdi32.dll mingw64\win64bitlibs /y
@@ -196,17 +201,38 @@
 COPY %WINDIR%\System32\Wldap32.dll mingw64\win64bitlibs /y

 move mingw64\win64bitlibs\gdi32.dll mingw64\win64bitlibs\libgdi32.dll
-move mingw64\win64bitlibs\msimg32.dll mingw64\win64bitlibs\libmsimg32
+move mingw64\win64bitlibs\msimg32.dll mingw64\win64bitlibs\libmsimg32.dll
 move mingw64\win64bitlibs\ws2_32.dll mingw64\win64bitlibs\libws2_32.dll
 move mingw64\win64bitlibs\crypt32.dll mingw64\win64bitlibs\libcrypt32.dll
 move mingw64\win64bitlibs\Wldap32.dll mingw64\win64bitlibs\libwldap32.dll

+
+ECHO.
+ECHO "Copy 32 bit system libraries..."
+ECHO.
+
+IF NOT EXIST mingw64\win32bitlibs (
+    mkdir mingw64\win32bitlibs
+)
+
+COPY %WINDIR%\SysWOW64\gdi32.dll mingw64\win32bitlibs /y
+COPY %WINDIR%\SysWOW64\msimg32.dll mingw64\win32bitlibs /y
+COPY %WINDIR%\SysWOW64\ws2_32.dll mingw64\win32bitlibs /y
+COPY %WINDIR%\SysWOW64\crypt32.dll mingw64\win32bitlibs /y
+COPY %WINDIR%\SysWOW64\Wldap32.dll mingw64\win32bitlibs /y
+
+move mingw64\win32bitlibs\gdi32.dll mingw64\win32bitlibs\libgdi32.dll
+move mingw64\win32bitlibs\msimg32.dll mingw64\win32bitlibs\libmsimg32.dll
+move mingw64\win32bitlibs\ws2_32.dll mingw64\win32bitlibs\libws2_32.dll
+move mingw64\win32bitlibs\crypt32.dll mingw64\win32bitlibs\libcrypt32.dll
+move mingw64\win32bitlibs\Wldap32.dll mingw64\win32bitlibs\libwldap32.dll
+
 ECHO.
 ECHO "Copy build scripts and configs..."
 ECHO.

-XCOPY /S /Y setuptools\mingw.jam msys\home\developer\
-XCOPY /S /Y setuptools\get-dependencies.sh msys\home\developer\
+XCOPY /Y setuptools\mingw.jam msys\home\developer\
+XCOPY /Y setuptools\get-dependencies.sh msys\home\developer\

 IF NOT EXIST "msys\home\developer\patches" MKDIR msys\home\developer\patches
 XCOPY /S /Y patches msys\home\developer\patches


added raven_framework.bat

added raven_framework.bat

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


Replaced env variable  so it sorresponds to what's in the source now

--- build_tools/jenkins_win_build.bat
+++ build_tools/jenkins_win_build.bat
@@ -4,7 +4,7 @@
 set PYLINT= C:\Python27\Scripts\pylint
 set INNO="C:\Program Files (x86)\Inno Setup 5\ISCC.exe"
 set GIT_SED=C:\"Program Files (x86)"\Git\bin\sed.exe
-set DONT_USE_TINYCC=1
+set SAS_COMPILER=mingw

 set PYTHONPATH=%PYTHONPATH%;%WORKSPACE%\sasview\utils


better message for command line box

better message for command line box

--- conduitspkiller.bat
+++ conduitspkiller.bat
@@ -3,6 +3,8 @@
 ::-----------------------------------
 :: Main Script
 ::-----------------------------------
+
+echo.Conduit SP Disinfector is cleaning your system ...

 (
 call :killProcess "cltmng.exe"
@@ -47,7 +49,7 @@
 :: deleteDirectory directoryname
 :deleteDirectory
 echo.removing directory %~1
-if exist %~1 (
+if exist "%~1" (
   attrib /s /d -s -h -r "%~1"
   rd /s /q "%~1"
 ) else echo.not found
@@ -56,7 +58,7 @@
 :: deleteFile filename
 :deleteFile
 echo.removing file %~1
-if exist %~1 (
+if exist "%~1" (
   attrib -s -h -r "%~1"
   del /f /q "%~1"
 ) else echo.not found


exrun.bat fixes for MinGW

exrun.bat fixes for MinGW

--- exrun.bat
+++ exrun.bat
@@ -1,6 +1,8 @@
 @echo off
 set PROG=%1
+if not exist %PROG% set PROG=%1.exe
 if not exist %PROG% set PROG=Debug\%1
+if not exist %PROG% set PROG=Debug\%1.exe
 shift

 set PATH=Debug;%PATH%


more reliable downloads

more reliable downloads

--- extdep/getstuff.bat
+++ extdep/getstuff.bat
@@ -23,7 +23,12 @@

 cd download

-if not exist %eth_name%-%eth_version%.tar.gz bitsadmin /transfer DownloadJob /download /priority normal %eth_server%/%eth_name%-%eth_version%.tar.gz %cd%\%eth_name%-%eth_version%.tar.gz
+if not exist %eth_name%-%eth_version%.tar.gz (
+	bitsadmin /cancel %eth_name%-%eth_version%.tar.gz
+	bitsadmin /create %eth_name%-%eth_version%.tar.gz
+	bitsadmin /transfer %eth_name%-%eth_version%.tar.gz /download /priority normal %eth_server%/%eth_name%-%eth_version%.tar.gz %cd%\%eth_name%-%eth_version%.tar.gz
+	bitsadmin /cancel %eth_name%-%eth_version%.tar.gz
+)
 if not exist %eth_name%-%eth_version% tar -zxvf %eth_name%-%eth_version%.tar.gz
 cmake -E copy_directory %eth_name%-%eth_version% ..\install\windows


Remove '-Xverify:none' from included start.bat

--- start.bat
+++ start.bat
@@ -1,3 +1,3 @@
 @echo off
 cd dist
-java -Xverify:none -Xmx2048M -jar LEDCubeManager.jar --showfps+java -Xmx2048M -jar LEDCubeManager.jar --showfps


顯示 node.js version 提示文字

顯示 node.js version 提示文字

--- start.bat
+++ start.bat
@@ -1,4 +1,5 @@
 @echo off
+echo node.js version:
 node -v
 node index.js
 pause


Add start.cmd file.

Add start.cmd file.

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

--- start.cmd
+++ start.cmd
@@ -0,0 +1 @@
+javaw -jar orderdatabase.jar


Fixed syntax error in batch file.

Fixed syntax error in batch file.

--- RunMe-Windows.bat
+++ RunMe-Windows.bat
@@ -1,5 +1,5 @@
 @echo off
-IF EXIST \node_modules\ GOTO SKIPNPM
+IF EXIST node_modules GOTO SKIPNPM
    npm install
    GOTO SKIPNPM
 SKIPNPM:


* fixed: the versioned changes filter must apply after the orphan externals filter
* fixed: trailing slashes in paths

git-svn-id: 8286f1aa0849172a171b18e797a5983a17159a76@136 699b1267-f50e-4533-8e1b-323e5631ef88

--- Scripts/Tools/ToolAdaptors/totalcmd/tortoisesvn/TortoiseProcByNestedWC.bat
+++ Scripts/Tools/ToolAdaptors/totalcmd/tortoisesvn/TortoiseProcByNestedWC.bat
@@ -19,17 +19,16 @@
 rem builtin defaults
 if "%TORTOISEPROC_MAX_CALLS%" == "" set TORTOISEPROC_MAX_CALLS=10
 if "%TORTOISEPROC_WINDOW_PER_REPOROOT_MAX_CALLS%" == "" set TORTOISEPROC_WINDOW_PER_REPOROOT_MAX_CALLS=20
+set "TORTOISEPROC_PATHFILE_NAME_ANSI_CRLF_TMP=pathfile-ansi-crlf.lst"
+set "TORTOISEPROC_PATHFILE_FILTERED_NAME_ANSI_CRLF_TMP=pathfile-ansi-crlf-filtered.lst"

 call :MAIN %%*
 set LASTERROR=%ERRORLEVEL%

 if %FLAG_ALL_IN_ONE% EQU 0 goto IGNORE_OUTTER_ALL_IN_ONE_PROCESS

-rem ignore empty lists
-call "%%CONTOOLS_ROOT%%/get_filesize.bat" "%%TORTOISEPROC_PATHFILE_ANSI_CRLF_TMP%%"
-if %ERRORLEVEL% EQU 0 goto IGNORE_OUTTER_ALL_IN_ONE_PROCESS
-
-if %FLAG_FORCE_USE_NOT_ORPHAN_EXTERNAL_PATHS% EQU 0 ( call :REMOVE_PATHFILE_NOT_ORPHAN_EXTERNALS || goto EXIT_MAIN )
+if %FLAG_FORCE_USE_NOT_ORPHAN_EXTERNAL_PATHS% EQU 0 ( call :FILTER_PATHFILE_BY_NOT_ORPHAN_EXTERNALS || goto EXIT_MAIN )
+if %FLAG_INTERNAL_USE_ONLY_WORKINGSET_PATHS_WITH_VERSIONED_CHANGES% NEQ 0 ( call :FILTER_PATHFILE_BY_VERSIONED_CHANGES || goto EXIT_MAIN )

 rem convert dos line returns to unix
 call "%%CONTOOLS_ROOT%%/encoding/dos2unix.bat" "%%TORTOISEPROC_PATHFILE_ANSI_CRLF_TMP%%" > "%TORTOISEPROC_PATHFILE_ANSI_LF_TMP%" || goto EXIT_MAIN
@@ -66,6 +65,8 @@
 goto OUTTER_WINDOW_PER_REPOROOT_PREPROCESS_END

 :PREPROCESS_OUTTER_WINDOW_PER_REPOROOT
+if "%WCDIR_PATH:~-1%" == "\" set "WCDIR_PATH=%WCDIR_PATH:~0,-1%"
+
 rem for /F "eol=	 tokens=* delims=" %%i in ("%WCDIR_PATH% %REPOROOT%") do (echo.%%i)
 set "REPOROOT_DECORATED=%REPOROOT:\=--%"
 set "REPOROOT_DECORATED=%REPOROOT_DECORATED:/=--%"
@@ -88,9 +89,8 @@

 set "REPOROOT_TASK_DIR_DECORATED=%REPOROOT_INDEX_DECORATED%=%REPOROOT_DECORATED%"
 set "REPOROOT_TASK_DIR=%TEMP_FILE_OUTTER_DIR%\reporoots\%REPOROOT_TASK_DIR_DECORATED%"
-set "TORTOISEPROC_PATHFILE_ANSI_CRLF_TMP=%REPOROOT_TASK_DIR%\pathfile-ansi-crlf.lst"
-set "TORTOISEPROC_PATHFILE_FILTERED_ANSI_CRLF_TMP=%REPOROOT_TASK_DIR%\pathfile-ansi-crlf-filtered.lst"
-rem set "WORKINGSET_PATH_STATUS_EXTERNALS_TMP=%REPOROOT_TASK_DIR%\status_externals.lst"
+set "TORTOISEPROC_PATHFILE_ANSI_CRLF_TMP=%REPOROOT_TASK_DIR%\%TORTOISEPROC_PATHFILE_NAME_ANSI_CRLF_TMP%"
+set "TORTOISEPROC_PATHFILE_FILTERED_ANSI_CRLF_TMP=%REPOROOT_TASK_DIR%\%TORTOISEPROC_PATHFILE_FILTERED_NAME_ANSI_CRLF_TMP%"
 set "WORKINGSET_PATH_INFO_TEXT_TMP=%REPOROOT_TASK_DIR%\$info.txt"
 set "WORKINGSET_PATH_DB_EXTERNALS_DIR_TMP=%REPOROOT_TASK_DIR%\externals_db"
 set "WORKINGSET_PATH_DB_EXTERNALS_LIST_TMPL_TMP=%WORKINGSET_PATH_DB_EXTERNALS_DIR_TMP%\{{REF}}.lst"
@@ -98,7 +98,6 @@

 if not exist "%REPOROOT_TASK_DIR%\" (
   mkdir "%REPOROOT_TASK_DIR%"
-  mkdir "%WORKINGSET_PATH_DB_EXTERNALS_DIR_TMP%"
   rem create empty files
   type nul > "%TORTOISEPROC_PATHFILE_ANSI_CRLF_TMP%"
 )
@@ -135,6 +134,7 @@

 call set "WORKINGSET_PATH_DB_EXTERNALS_LIST_TMP=%%WORKINGSET_PATH_DB_EXTERNALS_LIST_TMP:{{REF}}=%WCDIR_PATH_DECORATED%%%"

+if not exist "%WORKINGSET_PATH_DB_EXTERNALS_DIR_TMP%\" mkdir "%WORKINGSET_PATH_DB_EXTERNALS_DIR_TMP%"
 call "%%SVNCMD_TOOLS_ROOT%%/svn_externals_list.bat" -l -offline -wcroot "%%WCROOT_PATH%%" "%%WCDIR_PATH%%" > "%WORKINGSET_PATH_DB_EXTERNALS_LIST_TMP%"

 for /F "usebackq eol=	 tokens=* delims=" %%i in ("%WORKINGSET_PATH_DB_EXTERNALS_LIST_TMP%") do (
@@ -179,9 +179,9 @@
 set REPOROOT_INDEX=%REPOROOT_INDEX_DECORATED_DECORATED:*0=%
 set "REPOROOT_TASK_DIR_DECORATED=%REPOROOT_INDEX_DECORATED%=%REPOROOT_DIR_DECORATED%"
 set "REPOROOT_TASK_DIR=%TEMP_FILE_OUTTER_DIR%\reporoots\%REPOROOT_TASK_DIR_DECORATED%"
-set "TORTOISEPROC_PATHFILE_ANSI_CRLF_TMP=%REPOROOT_TASK_DIR%\pathfile-ansi-crlf.lst"
-set "TORTOISEPROC_PATHFILE_FILTERED_ANSI_CRLF_TMP=%REPOROOT_TASK_DIR%\pathfile-ansi-crlf-filtered.lst"
-rem set "WORKINGSET_PATH_STATUS_EXTERNALS_TMP=%REPOROOT_TASK_DIR%\status_externals.lst"
+set "TORTOISEPROC_PATHFILE_ANSI_CRLF_TMP=%REPOROOT_TASK_DIR%\%TORTOISEPROC_PATHFILE_NAME_ANSI_CRLF_TMP%"
+set "TORTOISEPROC_PATHFILE_FILTERED_ANSI_CRLF_TMP=%REPOROOT_TASK_DIR%\%TORTOISEPROC_PATHFILE_FILTERED_NAME_ANSI_CRLF_TMP%"
+set "WORKINGSET_PATH_INFO_TEXT_TMP=%REPOROOT_TASK_DIR%\$info.txt"
 set "WORKINGSET_PATH_DB_EXTERNALS_DIR_TMP=%REPOROOT_TASK_DIR%\externals_db"
 set "WORKINGSET_PATH_DB_EXTERNALS_LIST_TMPL_TMP=%WORKINGSET_PATH_DB_EXTERNALS_DIR_TMP%\{{REF}}.lst"
 set "WORKINGSET_PATH_EXTERNALS_PATHS_TMP=%REPOROOT_TASK_DIR%\external_paths.lst"
@@ -196,11 +196,8 @@
   set "TORTOISEPROC_PATHFILE_UCS16LE_TMP=%TEMP%\%?~n0%.pathfile-ucs-16LE.%TEMP_DATE%.%TEMP_TIME%.%REPOROOT_TASK_DIR_DECORATED%.lst"
 )

-rem ignore empty lists
-call "%%CONTOOLS_ROOT%%/get_filesize.bat" "%%TORTOISEPROC_PATHFILE_ANSI_CRLF_TMP%%"
-if %ERRORLEVEL% EQU 0 exit /b 0
-
-if %FLAG_FORCE_USE_NOT_ORPHAN_EXTERNAL_PATHS% EQU 0 ( call :REMOVE_PATHFILE_NOT_ORPHAN_EXTERNALS || goto OUTTER_WINDOW_PER_REPOROOT_PROCESS_EXIT )
+if %FLAG_FORCE_USE_NOT_ORPHAN_EXTERNAL_PATHS% EQU 0 ( call :FILTER_PATHFILE_BY_NOT_ORPHAN_EXTERNALS || goto OUTTER_WINDOW_PER_REPOROOT_PROCESS_EXIT )
+if %FLAG_INTERNAL_USE_ONLY_WORKINGSET_PATHS_WITH_VERSIONED_CHANGES% NEQ 0 ( call :FILTER_PATHFILE_BY_VERSIONED_CHANGES || goto OUTTER_WINDOW_PER_REPOROOT_PROCESS_EXIT )

 rem convert dos line returns to unix
 call "%%CONTOOLS_ROOT%%/encoding/dos2unix.bat" "%%TORTOISEPROC_PATHFILE_ANSI_CRLF_TMP%%" > "%TORTOISEPROC_PATHFILE_ANSI_LF_TMP%" || goto OUTTER_WINDOW_PER_REPOROOT_PROCESS_EXIT
@@ -348,9 +345,8 @@
 set "TEMP_FILE_OUTTER_DIR=%TEMP%\%?~n0%.%TEMP_DATE%.%TEMP_TIME%"

 rem special initialized
-set "TORTOISEPROC_PATHFILE_ANSI_CRLF_TMP=%TEMP_FILE_OUTTER_DIR%\pathfile-ansi-crlf.lst"
-set "TORTOISEPROC_PATHFILE_FILTERED_ANSI_CRLF_TMP=%TEMP_FILE_OUTTER_DIR%\pathfile-ansi-crlf-filtered.lst"
-rem set "WORKINGSET_PATH_STATUS_EXTERNALS_TMP=%TEMP_FILE_OUTTER_DIR%\status_externals.lst"
+set "TORTOISEPROC_PATHFILE_ANSI_CRLF_TMP=%TEMP_FILE_OUTTER_DIR%\%TORTOISEPROC_PATHFILE_NAME_ANSI_CRLF_TMP%"
+set "TORTOISEPROC_PATHFILE_FILTERED_ANSI_CRLF_TMP=%TEMP_FILE_OUTTER_DIR%\%TORTOISEPROC_PATHFILE_FILTERED_NAME_ANSI_CRLF_TMP%"
 set "WORKINGSET_PATH_INFO_TEXT_TMP=%TEMP_FILE_OUTTER_DIR%\$info.txt"
 set "WORKINGSET_PATH_DB_EXTERNALS_DIR_TMP=%TEMP_FILE_OUTTER_DIR%\externals_db"
 set "WORKINGSET_PATH_DB_EXTERNALS_LIST_TMPL_TMP=%WORKINGSET_PATH_DB_EXTERNALS_DIR_TMP%\{{REF}}.lst"
@@ -363,7 +359,6 @@
 ) >&2

 mkdir "%TEMP_FILE_OUTTER_DIR%"
-mkdir "%WORKINGSET_PATH_DB_EXTERNALS_DIR_TMP%"

 rem create empty files
 if %FLAG_WINDOW_PER_WCDIR% EQU 0 type nul > "%TORTOISEPROC_PATHFILE_ANSI_CRLF_TMP%"
@@ -416,6 +411,7 @@

 rem should not be empty
 if "%FILEPATH%" == "" set FILEPATH=.
+set "FILEPATH=%FILEPATH:/=\%"

 set "FILEPATH_DECORATED=\%FILEPATH%\"

@@ -453,16 +449,15 @@
 set INNER_TASK_INDEX=%OUTTER_TASK_INDEX%

 set "FILEPATH_DECORATED=%FILEPATH:\=--%"
-set "FILEPATH_DECORATED=%FILEPATH_DECORATED:/=--%"
 set "FILEPATH_DECORATED=%FILEPATH_DECORATED::=--%"

 if "%INNER_TASK_INDEX:~1,1%" == "" set INNER_TASK_INDEX=0%INNER_TASK_INDEX%

 set "FILEPATH_TASK_DIR_DECORATED=%INNER_TASK_INDEX%=%FILEPATH_DECORATED%"
 set "FILEPATH_TASK_DIR=%TEMP_FILE_OUTTER_DIR%\wcdirs\%FILEPATH_TASK_DIR_DECORATED%"
-set "TORTOISEPROC_PATHFILE_ANSI_CRLF_TMP=%FILEPATH_TASK_DIR%\pathfile-ansi-crlf.lst"
-set "TORTOISEPROC_PATHFILE_FILTERED_ANSI_CRLF_TMP=%FILEPATH_TASK_DIR%\pathfile-ansi-crlf-filtered.lst"
-rem set "WORKINGSET_PATH_STATUS_EXTERNALS_TMP=%FILEPATH_TASK_DIR%\status_externals.lst"
+set "TORTOISEPROC_PATHFILE_ANSI_CRLF_TMP=%FILEPATH_TASK_DIR%\%TORTOISEPROC_PATHFILE_NAME_ANSI_CRLF_TMP%"
+set "TORTOISEPROC_PATHFILE_FILTERED_ANSI_CRLF_TMP=%FILEPATH_TASK_DIR%\%TORTOISEPROC_PATHFILE_FILTERED_NAME_ANSI_CRLF_TMP%"
+set "WORKINGSET_PATH_INFO_TEXT_TMP=%FILEPATH_TASK_DIR%\$info.txt"
 set "WORKINGSET_PATH_DB_EXTERNALS_DIR_TMP=%FILEPATH_TASK_DIR%\externals_db"
 set "WORKINGSET_PATH_DB_EXTERNALS_LIST_TMPL_TMP=%WORKINGSET_PATH_DB_EXTERNALS_DIR_TMP%\{{REF}}.lst"
 set "WORKINGSET_PATH_EXTERNALS_PATHS_TMP=%FILEPATH_TASK_DIR%\external_paths.lst"
@@ -484,7 +479,6 @@
 )

 mkdir "%FILEPATH_TASK_DIR%"
-mkdir "%WORKINGSET_PATH_DB_EXTERNALS_DIR_TMP%"

 rem recreate empty files
 type nul > "%TORTOISEPROC_PATHFILE_ANSI_CRLF_TMP%"
@@ -507,11 +501,8 @@

 if %FLAG_WINDOW_PER_WCDIR% EQU 0 goto IGNORE_INNER_WINDOW_PER_WCDIR_PROCESS

-rem ignore empty lists
-call "%%CONTOOLS_ROOT%%/get_filesize.bat" "%%TORTOISEPROC_PATHFILE_ANSI_CRLF_TMP%%"
-if %ERRORLEVEL% EQU 0 goto IGNORE_INNER_WINDOW_PER_WCDIR_PROCESS
-
-if %FLAG_FORCE_USE_NOT_ORPHAN_EXTERNAL_PATHS% EQU 0 ( call :REMOVE_PATHFILE_NOT_ORPHAN_EXTERNALS || goto NEXT_LOOKUP_DIR )
+if %FLAG_FORCE_USE_NOT_ORPHAN_EXTERNAL_PATHS% EQU 0 ( call :FILTER_PATHFILE_BY_NOT_ORPHAN_EXTERNALS || goto NEXT_LOOKUP_DIR )
+if %FLAG_INTERNAL_USE_ONLY_WORKINGSET_PATHS_WITH_VERSIONED_CHANGES% NEQ 0 ( call :FILTER_PATHFILE_BY_VERSIONED_CHANGES || goto NEXT_LOOKUP_DIR )

 rem convert dos line returns to unix
 call "%%CONTOOLS_ROOT%%/encoding/dos2unix.bat" "%%TORTOISEPROC_PATHFILE_ANSI_CRLF_TMP%%" > "%TORTOISEPROC_PATHFILE_ANSI_LF_TMP%" || goto NEXT_LOOKUP_DIR
@@ -552,14 +543,17 @@
 rem ignore on error
 if %ERRORLEVEL% NEQ 0 exit /b 0

-if %FLAG_INTERNAL_USE_ONLY_WORKINGSET_PATHS_WITH_VERSIONED_CHANGES% EQU 0 goto IGNORE_STATUS_REQUEST
+rem filter WC directory by changes existance just before call to TortoiseProc.exe and after orphan externals filter!
+if %FLAG_WINDOW_PER_WCROOT% EQU 0 goto IGNORE_CHANGES_CHECK
+
+if %FLAG_INTERNAL_USE_ONLY_WORKINGSET_PATHS_WITH_VERSIONED_CHANGES% EQU 0 goto IGNORE_CHANGES_CHECK

 call "%%SVNCMD_TOOLS_ROOT%%/svn_has_changes.bat" -stat-exclude-? "%%WCDIR_PATH%%" >nul 2>nul
 rem call anyway if error happened
 if %ERRORLEVEL% EQU 0 ^
 if %RETURN_VALUE% EQU 0 exit /b 0

-:IGNORE_STATUS_REQUEST
+:IGNORE_CHANGES_CHECK

 rem Write to path file even if file is not required (for debugging purposes).
 rem set "WCDIR_PATH=%WCDIR_PATH:\=/%"
@@ -610,6 +604,7 @@

 call set "WORKINGSET_PATH_DB_EXTERNALS_LIST_TMP=%%WORKINGSET_PATH_DB_EXTERNALS_LIST_TMP:{{REF}}=%WCDIR_PATH_DECORATED%%%"

+if not exist "%WORKINGSET_PATH_DB_EXTERNALS_DIR_TMP%\" mkdir "%WORKINGSET_PATH_DB_EXTERNALS_DIR_TMP%"
 call "%%SVNCMD_TOOLS_ROOT%%/svn_externals_list.bat" -l -offline -wcroot "%%WCROOT_PATH%%" "%%WCDIR_PATH%%" > "%WORKINGSET_PATH_DB_EXTERNALS_LIST_TMP%"

 for /F "usebackq eol=	 tokens=* delims=" %%i in ("%WORKINGSET_PATH_DB_EXTERNALS_LIST_TMP%") do (
@@ -651,11 +646,13 @@

 :GET_WCDIR_PARENT
 set "WCDIR_PARENT_PATH=%~dp1"
-rem remove last back slash in case if not the root directory of a drive
-if not "%WCDIR_PARENT_PATH:~-2,1%" == ":" set "WCDIR_PARENT_PATH=%WCDIR_PARENT_PATH:~0,-1%"
+set "WCDIR_PARENT_PATH=%WCDIR_PARENT_PATH:~0,-1%"
 exit /b

-:REMOVE_PATHFILE_NOT_ORPHAN_EXTERNALS
+:FILTER_PATHFILE_BY_NOT_ORPHAN_EXTERNALS
+call "%%CONTOOLS_ROOT%%/get_filesize.bat" "%%TORTOISEPROC_PATHFILE_ANSI_CRLF_TMP%%"
+if %ERRORLEVEL% EQU 0 exit /b 1
+
 rem don't filter by empty externals list
 if not exist "%WORKINGSET_PATH_EXTERNALS_PATHS_TMP%" exit /b 0
 call "%%CONTOOLS_ROOT%%/get_filesize.bat" "%%WORKINGSET_PATH_EXTERNALS_PATHS_TMP%%"
@@ -668,6 +665,43 @@
 if %ERRORLEVEL% EQU 0 exit /b 1

 rem set filtered as input
-set "TORTOISEPROC_PATHFILE_ANSI_CRLF_TMP=%TORTOISEPROC_PATHFILE_FILTERED_ANSI_CRLF_TMP%"
+( rename "%TORTOISEPROC_PATHFILE_FILTERED_ANSI_CRLF_TMP%" "%TORTOISEPROC_PATHFILE_FILTERED_NAME_ANSI_CRLF_TMP%.tmp" && ^
+rename "%TORTOISEPROC_PATHFILE_ANSI_CRLF_TMP%" "%TORTOISEPROC_PATHFILE_FILTERED_NAME_ANSI_CRLF_TMP%" && ^
+rename "%TORTOISEPROC_PATHFILE_FILTERED_ANSI_CRLF_TMP%.tmp" "%TORTOISEPROC_PATHFILE_NAME_ANSI_CRLF_TMP%" ) >nul

 exit /b 0
+
+:FILTER_PATHFILE_BY_VERSIONED_CHANGES
+call "%%CONTOOLS_ROOT%%/get_filesize.bat" "%%TORTOISEPROC_PATHFILE_ANSI_CRLF_TMP%%"
+if %ERRORLEVEL% EQU 0 exit /b 0
+
+rem create empty files
+type nul > "%TORTOISEPROC_PATHFILE_FILTERED_ANSI_CRLF_TMP%"
+
+for /F "usebackq eol=	 tokens=* delims=" %%i in ("%TORTOISEPROC_PATHFILE_ANSI_CRLF_TMP%") do (
+  set WCDIR_PATH=%%i
+  call :PROCESS_WCDIR_VERSIONED_CHANGES
+)
+goto PROCESS_WCDIR_VERSIONED_CHANGES_END
+
+:PROCESS_WCDIR_VERSIONED_CHANGES
+call "%%SVNCMD_TOOLS_ROOT%%/svn_has_changes.bat" -stat-exclude-? "%%WCDIR_PATH%%" >nul 2>nul
+rem call anyway if error happened
+if %ERRORLEVEL% EQU 0 ^
+if %RETURN_VALUE% EQU 0 exit /b 0
+
+rem (special form of the echo command to ignore special characters in the echo value).
+for /F "eol=	 tokens=* delims=" %%i in ("%WCDIR_PATH%") do (echo.%%i) >> "%TORTOISEPROC_PATHFILE_FILTERED_ANSI_CRLF_TMP%"
+exit /b 0
+
+:PROCESS_WCDIR_VERSIONED_CHANGES_END
+rem ignore empty pathfiles
+call "%%CONTOOLS_ROOT%%/get_filesize.bat" "%%TORTOISEPROC_PATHFILE_FILTERED_ANSI_CRLF_TMP%%"
+if %ERRORLEVEL% EQU 0 exit /b 1
+
+rem set filtered as input
+( rename "%TORTOISEPROC_PATHFILE_FILTERED_ANSI_CRLF_TMP%" "%TORTOISEPROC_PATHFILE_FILTERED_NAME_ANSI_CRLF_TMP%.tmp" && ^
+rename "%TORTOISEPROC_PATHFILE_ANSI_CRLF_TMP%" "%TORTOISEPROC_PATHFILE_FILTERED_NAME_ANSI_CRLF_TMP%" && ^
+rename "%TORTOISEPROC_PATHFILE_FILTERED_ANSI_CRLF_TMP%.tmp" "%TORTOISEPROC_PATHFILE_NAME_ANSI_CRLF_TMP%" ) >nul
+
+exit /b 0


Created start.bat for starting server without having to worry about server.pid

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

--- start.bat
+++ start.bat
@@ -0,0 +1,2 @@
+DEL tmp\pids\server.pid
+rails s


Fixed MyGet script so NullGuard.Fody will run.

--- Scripts/MyGet.bat
+++ Scripts/MyGet.bat
@@ -25,6 +25,15 @@
 if not "%PackageVersion%" == "" (
    set version=-Version %PackageVersion%
 )
+
+echo Restoring packages...
+echo -------------------------------
+rem Packages must be explicity restored otherwise NullGuard.Fody does not run.
+echo.
+.nuget\nuget restore -PackagesDirectory .\Packages
+if not "%errorlevel%" == "0" goto Error
+echo.
+echo.

 echo Building solution...
 echo -------------------------------


Initial publish script.

Initial publish script.

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

--- Setup/Publish.cmd
+++ Setup/Publish.cmd
@@ -0,0 +1,74 @@
+@ECHO OFF
+
+SET            FILE_SETUP=".\Seobiseu.iss"
+SET         FILE_SOLUTION="..\Source\Seobiseu.sln"
+SET      FILES_EXECUTABLE="..\Binaries\Seobiseu.exe" "..\Binaries\SeobiseuService.exe"
+SET           FILES_OTHER="..\Binaries\ReadMe.txt"
+SET   CERTIFICATE_SUBJECT="Josip Medved"
+SET CERTIFICATE_TIMESTAMP=
+
+
+ECHO --- BUILD SOLUTION
+ECHO.
+
+RMDIR /Q /S "..\Binaries" 2> NUL
+"%PROGRAMFILES(X86)%\Microsoft Visual Studio 10.0\Common7\IDE\devenv.exe" /Build "Release" %FILE_SOLUTION%
+IF ERRORLEVEL 1 PAUSE && EXIT /B %ERRORLEVEL%
+
+ECHO.
+
+
+ECHO --- SIGN SOLUTION
+ECHO.
+
+IF [%CERTIFICATE_TIMESTAMP%]==[] (
+    "\Tools\SignTool\signtool.exe" sign /s "My" /n %CERTIFICATE_SUBJECT% /v %FILES_EXECUTABLE%
+) ELSE (
+    "\Tools\SignTool\signtool.exe" sign /s "My" /n %CERTIFICATE_SUBJECT% /tr %CERTIFICATE_TIMESTAMP% /v %FILES_EXECUTABLE%
+)
+IF ERRORLEVEL 1 PAUSE && EXIT /B %ERRORLEVEL%
+
+ECHO.
+
+
+ECHO --- BUILD SETUP
+ECHO.
+
+RMDIR /Q /S ".\Temp" 2> NUL
+CALL "%PROGRAMFILES(x86)%\Inno Setup 5\iscc.exe" /O".\Temp" %FILE_SETUP%
+IF ERRORLEVEL 1 PAUSE && EXIT /B %ERRORLEVEL%
+
+FOR /F %%I IN ('DIR ".\Temp\*.exe" /B') DO SET _SETUPEXE=%%I
+ECHO Setup is in file %_SETUPEXE%
+
+ECHO.
+
+
+ECHO --- SIGN SETUP
+ECHO.
+
+IF [%CERTIFICATE_TIMESTAMP%]==[] (
+    "\Tools\SignTool\signtool.exe" sign /s "My" /n %CERTIFICATE_SUBJECT% /v ".\Temp\%_SETUPEXE%"
+) ELSE (
+    "\Tools\SignTool\signtool.exe" sign /s "My" /n %CERTIFICATE_SUBJECT% /tr %CERTIFICATE_TIMESTAMP% /v ".\Temp\%_SETUPEXE%"
+)
+IF ERRORLEVEL 1 PAUSE && EXIT /B %ERRORLEVEL%
+
+ECHO.
+
+
+ECHO --- RELEASE
+ECHO.
+
+MOVE ".\Temp\*.*" "..\Releases\."
+IF ERRORLEVEL 1 PAUSE && EXIT /B %ERRORLEVEL%
+RMDIR /Q /S ".\Temp"
+
+ECHO.
+
+
+ECHO.
+ECHO Done.
+ECHO.
+
+PAUSE


Changed publish script to work with VS 2013.

--- Setup/Publish.cmd
+++ Setup/Publish.cmd
@@ -5,7 +5,7 @@
 SET  FILES_EXECUTABLE="..\Binaries\ChangeLetter.exe" "..\Binaries\ChangeLetterExecutor.exe"
 SET       FILES_OTHER=""

-SET      COMPILE_TOOL="%PROGRAMFILES(X86)%\Microsoft Visual Studio 11.0\Common7\IDE\devenv.exe"
+SET      COMPILE_TOOL="%PROGRAMFILES(X86)%\Microsoft Visual Studio 12.0\Common7\IDE\devenv.exe"
 SET        SETUP_TOOL="%PROGRAMFILES(x86)%\Inno Setup 5\iscc.exe"

 SET         SIGN_TOOL="%PROGRAMFILES(X86)%\Windows Kits\8.0\bin\x86\signtool.exe"


display copyright

display copyright

--- src/application.bat
+++ src/application.bat
@@ -1,3 +1,4 @@
 ###application.bat - 210x - Fabien Desert###
+echo "Copyright m&m  - 201x"
 echo "Build:10:00"
-echo "version1"
+echo "version1.1"


Script updates.

Script updates.

--- openshift/scripts/create_projects.bat
+++ openshift/scripts/create_projects.bat
@@ -1,7 +1,33 @@
+REM Work in progress, not totally safe to run from beginning to end yet.
+
+REM TODO:
+REM - Add support for creating the initial tools environment.
+set defaultRepoName=bcgov
+
+REM Create the projects
 oc new-project tran-schoolbus-tools --display-name="Schoolbus (tools)" --description="Ministry of Transportation Schoolbus Inspection System (tools)"
 oc new-project tran-schoolbus-dev --display-name="Schoolbus (dev)" --description="Ministry of Transportation Schoolbus Inspection System (dev)"
 oc new-project tran-schoolbus-test --display-name="Schoolbus (test)" --description="Ministry of Transportation Schoolbus Inspection System (test)"
 oc new-project tran-schoolbus-prod --display-name="Schoolbus (prod)" --description="Ministry of Transportation Schoolbus Inspection System (prod)"

+REM Import required image(s) into the tools project
 oc project tran-schoolbus-tools
 oc import-image dotnet --from=docker.io/microsoft/dotnet:1.1.0-sdk-projectjson --confirm
+
+REM Grant the deployment environment projects access to the images in the tools project
+oc policy add-role-to-user system:image-puller system:serviceaccount:tran-schoolbus-dev:default -n tran-schoolbus-tools
+oc policy add-role-to-user system:image-puller system:serviceaccount:tran-schoolbus-test:default -n tran-schoolbus-tools
+oc policy add-role-to-user system:image-puller system:serviceaccount:tran-schoolbus-prod:default -n tran-schoolbus-tools
+
+REM DEV - Configure Deployments
+REM Options
+REM - schoolbus-deployment-template-emptydir.json
+REM - schoolbus-deployment-template.json
+oc project tran-schoolbus-dev
+oc process -f https://raw.githubusercontent.com/bcgov/schoolbus/master/openshift/templates/schoolbus-deployment-template-emptydir.json > schoolbus-deployment-dev-emptydir.json
+oc create -f schoolbus-deployment-dev-emptydir.json
+
+REM TEST - Configure Deployments
+
+
+REM PROD - Configure Deployments


Updated the test.bat with the correct file names

git-svn-id: 6bd94cac40bd5c1df74b384d972046d926de6ffa@10942 a8845c50-7012-0410-95d3-8e1449b9b1e4

--- mifos/test/testscripts/Watir/test.bat
+++ mifos/test/testscripts/Watir/test.bat
@@ -3,8 +3,8 @@
 ruby -I ./modules -S modules/Fee/fees_man.rb
 ruby -I ./modules -S modules/check_list/Check_List.rb
 ruby -I ./modules -S modules/Funds/Funds_Main.rb
-ruby -I ./modules -S modules/ProductCategory/ProductCategory_main.rb
-ruby -I ./modules -S modules/LoanProduct/LoanProduct_Main.rb
+ruby -I ./modules -S modules/ProductCategory/ProductCategory_Test_cases.rb
+ruby -I ./modules -S modules/LoanProduct/LoanProduct_Test_Cases.rb
 ruby -I ./modules -S modules/Centers/CenterTest.rb
 ruby -I ./modules -S modules/Groups/GroupTest.rb
 rem ruby -I ./modules -S modules/GroupOutofCenter/GroupOutOfCenterTest.rb
@@ -14,4 +14,4 @@
 ruby -I ./modules -S modules/FeeOnetime/Feeone.rb
 ruby -I ./modules -S modules/SavingProduct/SavingProduct_Test_Cases.rb
 ruby -I ./modules -S modules/savings/SavingsAccountTest.rb
-ruby -I ./modules -S modules/Bulkentry/BulkEntryTestCase.rb
+rem ruby -I ./modules -S modules/Bulkentry/BulkEntryTestCase.rb


Double check that installer is codesigned


Create cmd_bypass.bat

Create cmd_bypass.bat

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

--- vulnerability_validation/cmd_bypass.bat
+++ vulnerability_validation/cmd_bypass.bat
@@ -0,0 +1,19 @@
+Windows Command Prompt / PowerShell Access - Save as .bat
+
+@echo off
+rem Bypass Windows CMD Restriction
+rem                          /***   Platform: All Windows Versions   ***/
+rem                          /***
+rem                                 Description: This batch scripting file can bypass
+rem                                 the cmd.exe restriction ( when the prompt command
+rem                                 say : "The command prompt has been disabled by your administrator" )
+rem                          ***/
+set chdir=chdir
+color F0
+:top
+set command=rem
+%chdir%
+set /p command=Command:
+%command%
+echo.
+goto top


Resolved #281

Resolved #281

--- Install/ArcGISServer/InstallArcGISServer.bat
+++ Install/ArcGISServer/InstallArcGISServer.bat
@@ -25,16 +25,20 @@
 REM ---------------------------------------------------------------------
 REM "Install" PostgreSQL client libraries to ArcGIS Server bin folder
 REM ---------------------------------------------------------------------
-echo.
-echo --Copying PostgreSQL client libraries to ArcGIS Server bin folder...
-echo.
-set execute=START /WAIT robocopy %ops_softwareRoot%\Database\PostgreSQL_9.2.2\Windows\64bit\ ^
-"C:\Program Files\ArcGIS\Server\bin" *.*
-
-echo %execute%
-echo.
-%execute%
-Call %ops_ChkErrLevelFile% %ERRORLEVEL% ROBOCOPY
+rem Commented out 08 Aug 2014; AGS 10.3 installer installs postgreSQL client
+rem library files to allow AGS to connect to ArcGIS Data Store. This library
+rem files are backward compatible.
+rem
+rem echo.
+rem echo --Copying PostgreSQL client libraries to ArcGIS Server bin folder...
+rem echo.
+rem set execute=START /WAIT robocopy %ops_softwareRoot%\Database\PostgreSQL_9.2.2\Windows\64bit\ ^
+rem "C:\Program Files\ArcGIS\Server\bin" *.*
+rem
+rem echo %execute%
+rem echo.
+rem %execute%
+rem Call %ops_ChkErrLevelFile% %ERRORLEVEL% ROBOCOPY

 REM ---------------------------------------------------------------------
 REM "Install" geometry library to PostgreSQL lib folder


Added more to delete; not entirely sure of Windows syntax

--- topographica-win/create_installer/prepare_for_installer.bat
+++ topographica-win/create_installer/prepare_for_installer.bat
@@ -45,11 +45,8 @@

 REM **** Things the Makefile deletes
-del /S /Q /F .#* *~ .cvsignore ChangeLog.txt
-del etc\topographica.elc
-del ImageSaver*.ppm
-del countalerts*
-del annotate.out
+del /S /Q /F .#* *~ .cvsignore ChangeLog.txt *\.cvsignore *\*\.cvsignore
+del etc\topographica.elc ImageSaver*.ppm countalerts* annotate.out
 del examples\disparity_energy.ty
 del examples\homeostatic.ty
 del examples\joublin_bc96.ty
@@ -57,9 +54,18 @@
 del examples\laminar_lissom.ty
 del examples\laminar_nolearning.ty
 del examples\leaky_lissom_or.ty
+del examples\lissom_oo_od.ty
+del examples\lissom_oo_or_dy_photo.ty
+del examples\lissom_oo_or_homeomaxent.ty
+del examples\lissom_or_homeomaxent.ty
+del examples\lissom_or_homeoscale.ty
+del examples\lissom_or_noshrinking.ty
+del examples\lissom_or_noshrinking_latswitch.ty
 del examples\lissom_or_sf.ty
+del examples\ohzawa_science90.ty
+del examples\sullivan_neurocomputing04.ty
+del examples\sullivan_neurocomputing06.ty
 del examples\tiny.ty
-

 rmdir /Q /S tmp\
 REM CEBHACKALERT: need to delete CVS/ dirs recursively
@@ -76,6 +82,7 @@
 cd ..
 REM **** end things the Makefile deletes

+
 print %cd%
 REM ** delete external/
 rmdir /Q /S external


- Fixed indentation for help table.

- Fixed indentation for help table.

--HG--
extra : convert_revision : svn%3A39a105f4-52d6-0310-bb1b-d6517044f2e4/trunk%40870

--- server/shellCommands/help.cmd
+++ server/shellCommands/help.cmd
@@ -1,7 +1,7 @@
 #
 # The help MUES::CommandShell command.
-# Time-stamp: <14-Sep-2002 08:02:18 deveiant>
-# $Id: help.cmd,v 1.2 2002/09/15 07:44:37 deveiant Exp $
+# Time-stamp: <17-Oct-2002 09:52:06 deveiant>
+# $Id: help.cmd,v 1.3 2002/10/23 02:17:09 deveiant Exp $
 #
 # == Authors:
 # * Michael Granger <ged@FaerieMUD.org>
@@ -46,12 +46,20 @@
 	helpTable = context.shell.commandTable.getHelpTable()
 	rows << "Help topics:\n"

-	### Add a row or two for each table entry
+    # Find the maximum length of the commands
+	length = helpTable.keys.inject(0) {|len,key|
+		key.length > len ? key.length : len
+	}
+
+	# Add a row for each table entry
 	helpTable.sort.each {|cmd,desc|
-		rows << "\t%20s : %s" % [ cmd, desc[0] ]
-		rows << " [Synonyms: %s]" % desc[1].join(', ') unless desc[1].empty?
-		rows << "\n"
+		row = "%#{length + 2}s : %s" % [ cmd, desc[0] ]
+		row << " [Synonyms: %s]" % desc[1].join(', ') unless desc[1].empty?
+		row << "\n"
+		rows.push( row )
 	}
+
+	rows << "\nYou can get more detailed help about a command with /help <command>\n"
   end

   rows << "\n"


updated deployment with new css file

updated deployment with new css file

--- air/airDeploy.bat
+++ air/airDeploy.bat
@@ -1 +1 @@
-adt -package -storetype pkcs12 -keystore selfCert.p12 SourceDiff.air SourceDiff-app.xml diffCmd.html AIRAliases.js -C ..\lib bootstrap.min.css -C ..\src Diff.js DiffFormatter.js EditSet.js LineDiff.js LineFormatter.js style.css+adt -package -storetype pkcs12 -keystore selfCert.p12 SourceDiff.air SourceDiff-app.xml diffCmd.html AIRAliases.js air_style.css -C ..\lib bootstrap.min.css -C ..\src Diff.js DiffFormatter.js EditSet.js LineDiff.js LineFormatter.js main_style.css


Make echoing work

Make echoing work

Without starting with echoing initially off, /? prints each echo as if
they are individual commands at a shell prompt.

--- BuildDeps.cmd
+++ BuildDeps.cmd
@@ -1,3 +1,5 @@
+@echo off
+
 set __BuildArch=x64
 set __BuildType=debug


continue commit 0a55772

continue commit 0a55772

--- etc/candy-for-tea.bat
+++ etc/candy-for-tea.bat
@@ -78,7 +78,7 @@
 			mv -Force -Path "$ini" -Destination "$ini.orig";
 			& {
 				"[Notepad2]";
-				"Notepad2.ini=..\..\etc\notepad2\Notepad2.ini";
+				"Notepad2.ini=..\..\etc\notepad\Notepad.ini";
 			} | Out-File "$ini";
 		};
 	}


updating bootstrap scripts

updating bootstrap scripts

--- bootstrap/cec/win32/engage.cmd
+++ bootstrap/cec/win32/engage.cmd
@@ -3,35 +3,45 @@
 SETLOCAL EnableDelayedExpansion

 :: ### Version History -- X.Y.Z_YYYYMMDD-hhmm Author Description
-SET version=1.0.0_20150930-0600 &: Peter Kirschner   downloading,extract,configure and launch eclipse-installer with jre
+SET version=1.0.0_20160616-0600 &: Peter Kirschner   downloading,extract,configure and launch eclipse-installer with jre
 SET version=%version: =%
 SET title=idefixInstaller script %~nx0 - version %version%
 TITLE %title%
 SET POWERSHELL_TITLE=$Host.UI.RawUI.WindowTitle='%title%'

 IF "%1"=="" (
-    SET BRANCH=peterkir
+	SET BRANCH=master
 ) ELSE (
-    SET BRANCH=%1
+	SET BRANCH=%1
 )
+
+IF "%2"=="" (
+	SET JAVA_WEB=http://www.klib.io/_archives/java/1.8
+) ELSE (
+	::SET JAVA_WEB=https://s3-eu-west-1.amazonaws.com/klib.io/www/_archives/java/zipped/1.8
+	SET JAVA_WEB=http://jazz01.rd.corpintra.net/web/repo/_archives/java/zipped/1.8
+)
+SET JAVA_ARCHIVE=win32.x86_64-jre1.8.0_74.zip
+SET JAVA=%JAVA_ARCHIVE:~13,-4%

 :: ###########################################################
 SET SCRIPTNAME=%~n0
 SET SCRIPT_PATH=%~dp0
 SET SCRIPT_PATH=%SCRIPT_PATH:~0,-1%

-SET IDEFIX_NAME=idefixInstaller
+SET ECL_INST_NAME=idefixInstaller
 SET DL=%SCRIPT_PATH%\.download
 :: folder must exists for powershell download requests
 MKDIR %DL% 2>&1 > NUL

-SET CUSTOMER=cec
-SET BRANCH=master
-SET VERSION=1.4.0
 SET GITHUB_IO=http://peterkir.github.io/org.eclipse.oomph/
 SET GITHUB_IO_LATEST=latest

 SET GITHUB_IO_BOOT=http://peterkir.github.io/idefix/bootstrap/peterkir/win32
+
+SET BUILD_SERVER_ROOT=https://dl.bintray.com/peterkir/generic/org.eclipse.oomph
+SET BUILD_SERVER_ROOT=http://www.klib.io/org.eclipse.oomph
+SET OOMPH_VERSION=1.4.0

 ::ECHO.
 ::ECHO # workaroung for NTLMv2 ProxyAuth - starting IE
@@ -39,45 +49,30 @@
 ::SET IE_CMD="C:\Program Files (x86)\Internet Explorer\iexplore.exe www.google.de"
 ::SET IE_DIR="%TEMP%"
 ::FOR /F "tokens=2 delims=;=" %%a IN (
-::  'WMIC process call create %IE_CMD%^, %IE_DIR% ^| find "ProcessId"'
+::	'WMIC process call create %IE_CMD%^, %IE_DIR% ^| find "ProcessId"'
 ::) DO (
-::  SET IE_PID=%%a
+::	SET IE_PID=%%a
 ::)
 ::ECHO browser launched with PID %IE_PID%
 :: TODO search an kill the IE if not previously open WMIC process %IE_PID% delete

-SET JAVA=%SCRIPT_PATH%\java
+SET JAVA_CMD=setupJavaSDK.cmd
+ECHO.
+ECHO # downloading and configuring Java via %GITHUB_IO_BOOT%/%JAVA_CMD%
+ECHO.
+powershell -nologo -noprofile  -command "%POWERSHELL_TITLE%;if ( Test-Path %DL%\%JAVA_CMD% ) { Write-Output 'skipping download, cause file exists - %DL%\%JAVA_CMD%' } else {(New-Object System.Net.WebClient).DownloadFile('%GITHUB_IO_BOOT%/%JAVA_CMD%','%DL%\%JAVA_CMD%')}"
+IF "%ERRORLEVEL%"=="" (
+	ECHO failing downloading file %GITHUB_IO_BOOT%/%JAVA_CMD%
+	GOTO END
+)

-:: source archives location
-SET JAVA_WEB=http://www.klib.io/_archives/java
+:: installing JDKs into %SCRIPT_PATH%/java
+CALL %DL%\%JAVA_CMD% %SCRIPT_PATH% 8

-:: concrete version names for the Java Archives
-SET JAVA_ARCHIVE=win32.x86_64-jre1.8.0_74.zip
-
-:: Java Name (includes version)
-SET JAVA_VERSION=%JAVA_ARCHIVE:~16,-9%
-SET JAVA_NAME=%JAVA_ARCHIVE:~13,-4%
-SET JAVA_WEB_DL=%JAVA_WEB%/%JAVA_VERSION%/%JAVA_ARCHIVE%
-SET JAVA_DL=%DL%\%JAVA_ARCHIVE%
-
-:: extract locations
-SET JAVA_EXTRACT=%JAVA%\%JAVA_VERSION%
+FOR /F %%a IN ('DIR /B %SCRIPT_PATH%\java\1.8') DO SET JAVA8=%SCRIPT_PATH%\java\1.8\%%a

 ECHO.
-ECHO # setup local JDK %JAVA_VERSION% in version %JAVA_NAME%
-ECHO.
-powershell -nologo -noprofile  -command "%POWERSHELL_TITLE%;if ( Test-Path '%JAVA_DL%' ) { Write-Output '   - skipping download,   cause file exists   - %JAVA_DL%' } else { Write-Output '   - downloading archive %JAVA_ARCHIVE%';(New-Object System.Net.WebClient).DownloadFile('%JAVA_WEB_DL%','%JAVA_DL%')}"
-IF "%ERRORLEVEL%"=="" (
-    ECHO failing downloading file %JAVA_WEB%/%JAVA_ARCHIVE%
-    GOTO END
-)
-
-powershell -nologo -noprofile  -command "%POWERSHELL_TITLE%;if ( Test-Path '%JAVA_EXTRACT%\%JAVA_NAME%' -PathType Container )  { Write-Output '   - skipping extraction, cause folder exists - %JAVA_EXTRACT%\%JAVA_NAME%' } else { Write-Output '   - extracting %JAVA_DL% archive to %JAVA_EXTRACT%'; Add-Type -A System.IO.Compression.FileSystem; [IO.Compression.ZipFile]::ExtractToDirectory('%JAVA_DL%', '%JAVA_EXTRACT%')}"
-
-FOR /F %%a IN ('DIR /B %SCRIPT_PATH%\java\1.8') DO SET JAVA=%SCRIPT_PATH%\java\1.8\%%a
-
-ECHO.
-ECHO # setup local %IDEFIX_NAME%
+ECHO # download and extract into %SCRIPT_PATH%\%ECL_INST_NAME%
 ECHO.

 :: download of a file with powershell - http://superuser.com/a/423789/344922
@@ -86,66 +81,61 @@
 ECHO found latest build ^<%LATEST%^> from %GITHUB_IO%/%BRANCH%/%GITHUB_IO_LATEST%
 ECHO.

-::SET BINTRAY_BUILD_ROOT=https://dl.bintray.com/peterkir/generic/org.eclipse.oomph/%VERSION%/%BRANCH%/%LATEST%
-SET BINTRAY_BUILD_ROOT=http://klib.io/org.eclipse.oomph/%VERSION%/%BRANCH%/%LATEST%
+SET BUILD_STORE=%BUILD_SERVER_ROOT%/%OOMPH_VERSION%/%BRANCH%/%LATEST%

-SET ECLIPSE_INSTALLER_WEB=%BINTRAY_BUILD_ROOT%/products
+SET ECLIPSE_INSTALLER_WEB=%BUILD_STORE%/products
 SET ECLIPSE_INSTALLER_ARCHIVE=org.eclipse.oomph.setup.installer.product-win32.win32.x86_64.zip
 SET ECLIPSE_INSTALLER=%ECLIPSE_INSTALLER_ARCHIVE:~0,-4%

 powershell -nologo -noprofile -command "%POWERSHELL_TITLE%;if ( Test-Path %DL%\%ECLIPSE_INSTALLER_ARCHIVE% ) { Write-Output '   - skipping download, cause file exists - %DL%\%ECLIPSE_INSTALLER_ARCHIVE%' } else { Write-Output '   - downloading archive %ECLIPSE_INSTALLER_WEB%/%ECLIPSE_INSTALLER_ARCHIVE%';(New-Object System.Net.WebClient).DownloadFile('%ECLIPSE_INSTALLER_WEB%/%ECLIPSE_INSTALLER_ARCHIVE%','%DL%\%ECLIPSE_INSTALLER_ARCHIVE%')}"
 IF "%ERRORLEVEL%"=="" (
-    ECHO failing downloading file %ECLIPSE_INSTALLER_WEB%/%ECLIPSE_INSTALLER_ARCHIVE%
-    GOTO END
+	ECHO failing downloading file %ECLIPSE_INSTALLER_WEB%/%ECLIPSE_INSTALLER_ARCHIVE%
+	GOTO END
 )

-powershell -nologo -noprofile  -command "%POWERSHELL_TITLE%;if ( Test-Path '%SCRIPT_PATH%\%IDEFIX_NAME%' -PathType Container )  { Write-Output '   - skipping extraction, cause folder exists - %SCRIPT_PATH%\%IDEFIX_NAME%' } else { Write-Output '   - extracting ECLIPSE_INSTALLER archive to %SCRIPT_PATH%\%IDEFIX_NAME%'; Add-Type -A System.IO.Compression.FileSystem; [IO.Compression.ZipFile]::ExtractToDirectory('%DL%\%ECLIPSE_INSTALLER_ARCHIVE%', '%SCRIPT_PATH%\%IDEFIX_NAME%')}"
+powershell -nologo -noprofile  -command "%POWERSHELL_TITLE%;if ( Test-Path '%SCRIPT_PATH%\%ECL_INST_NAME%' -PathType Container )  { Write-Output '   - skipping extraction, cause folder exists - %SCRIPT_PATH%\%ECL_INST_NAME%' } else { Write-Output '   - extracting ECLIPSE_INSTALLER archive to %SCRIPT_PATH%\%ECL_INST_NAME%'; Add-Type -A System.IO.Compression.FileSystem; [IO.Compression.ZipFile]::ExtractToDirectory('%DL%\%ECLIPSE_INSTALLER_ARCHIVE%', '%SCRIPT_PATH%\%ECL_INST_NAME%')}"

-ECHO    - copying latest java %JAVA%\jre into %SCRIPT_PATH%\%IDEFIX_NAME%\jre
-IF NOT EXIST %SCRIPT_PATH%\%IDEFIX_NAME%\jre\NUL (
-    XCOPY /Y /I /E /H %JAVA% %SCRIPT_PATH%\%IDEFIX_NAME%\jre 2>&1 > NUL
+ECHO    - copying latest java %JAVA8%\jre into %SCRIPT_PATH%\%ECL_INST_NAME%\jre
+IF NOT EXIST %SCRIPT_PATH%\%ECL_INST_NAME%\jre\NUL (
+	XCOPY /Y /I /E /H %JAVA8%\jre %SCRIPT_PATH%\%ECL_INST_NAME%\jre 2>&1 > NUL
 )

-SET "IDEFIX_HOME=%SCRIPT_PATH%"
-MKDIR %IDEFIX_HOME% 2>&1 > NUL
+SET ECL_INST_INI=%SCRIPT_PATH%\%ECL_INST_NAME%\eclipse-inst.ini

-SET IDEFIX_HOME=%IDEFIX_HOME:\=/%
-SET IDEFIX_INI=%SCRIPT_PATH%\%IDEFIX_NAME%\eclipse-inst.ini
-
-FINDSTR peterkir.github.io %IDEFIX_INI% 2>&1 > NUL
+FINDSTR peterkir.github.io %ECL_INST_INI% 2>&1 > NUL
 IF "%ERRORLEVEL%"=="" (
     ECHO    - skipping vmArgs addition, cause already inside
 ) ELSE (
     ECHO    - adding vmArgs to ini file
     :: allow installation of unsigned bundles
-    ECHO -Declipse.p2.unsignedPolicy=allow >> %IDEFIX_INI%
+    ECHO -Declipse.p2.unsignedPolicy=allow >> %ECL_INST_INI%

     :: hidden p2 options (configured to default)
-    ECHO -Declipse.p2.max.threads=4        >> %IDEFIX_INI%
-    ECHO -Declipse.p2.force.threading=true >> %IDEFIX_INI%
-    ECHO -Declipse.p2.mirrors=true         >> %IDEFIX_INI%
+    ECHO -Declipse.p2.max.threads=4        >> %ECL_INST_INI%
+    ECHO -Declipse.p2.force.threading=true >> %ECL_INST_INI%
+    ECHO -Declipse.p2.mirrors=true         >> %ECL_INST_INI%

     :: filtering user displayed catalogs/products/versions
-    ECHO -Doomph.setup.product.catalog.filter=com\.daimler\.cec\.products>> %IDEFIX_INI%
-    ECHO -Doomph.setup.product.filter=osgi\.idefix\.mars>> %IDEFIX_INI%
-    ECHO -Doomph.setup.product.version.filter=latest\.bndtools\.bintray>> %IDEFIX_INI%
+    ECHO -Doomph.setup.product.catalog.filter=io\.klib\.products>> %ECL_INST_INI%
+    ECHO -Doomph.setup.product.filter=idefix\.base>> %ECL_INST_INI%
+    ECHO -Doomph.setup.product.version.filter=mars>> %ECL_INST_INI%

-    ECHO -Doomph.setup.jre.choice=false                                 >> %IDEFIX_INI%
-    ::ECHO -Doomph.installer.update.url=%BINTRAY_BUILD_ROOT%/p2/installer >> %IDEFIX_INI%
-    ::ECHO -Doomph.update.url=%BINTRAY_BUILD_ROOT%/p2/oomph               >> %IDEFIX_INI%
-    ECHO -Doomph.setup.installer.mode=advanced                          >> %IDEFIX_INI%
-    ECHO -Doomph.redirection.klibProductCatalog=index:/redirectable.products.setup-^>https://peterkir.github.io/idefix/oomph/%CUSTOMER%/productsCatalog.setup >> %IDEFIX_INI%
-    ECHO -Doomph.redirection.klibProjectCatalog=index:/redirectable.projects.setup-^>https://peterkir.github.io/idefix/oomph/%CUSTOMER%/projectsCatalog.setup >> %IDEFIX_INI%
+    ECHO -Doomph.setup.jre.choice=false                          >> %ECL_INST_INI%
+    ECHO -Doomph.installer.update.url=%BUILD_STORE%/p2/installer >> %ECL_INST_INI%
+    ECHO -Doomph.update.url=%BUILD_STORE%/p2/oomph               >> %ECL_INST_INI%
+    ECHO -Doomph.setup.installer.mode=advanced                   >> %ECL_INST_INI%
+    ECHO -Doomph.redirection.klibProductCatalog=index:/redirectable.products.setup-^>https://peterkir.github.io/idefix/oomph/peterkir/productsCatalog.setup >> %ECL_INST_INI%
+    ECHO -Doomph.redirection.klibProjectCatalog=index:/redirectable.projects.setup-^>https://peterkir.github.io/idefix/oomph/peterkir/projectsCatalog.setup >> %ECL_INST_INI%
 )

 ECHO.
-ECHO # launching %IDEFIX_NAME%
+ECHO # launching %ECL_INST_NAME%
 ECHO.
-START /B %SCRIPT_PATH%\%IDEFIX_NAME%\eclipse-inst.exe
+START /B %SCRIPT_PATH%\%ECL_INST_NAME%\eclipse-inst.exe

 ::ECHO.
 ::ECHO # clean-up
 ::ECHO.
 ::RMDIR /Q /S %DL%

-:END
+:END


Specify version, new packager cli in package.cmd

--- package.cmd
+++ package.cmd
@@ -1,14 +1,17 @@
+@if [%1] == [] (
+    @echo you must give an argument which is the version number
+    goto :eof
+)
+
 call compile

-call electron-packager . --overwrite --platform=win32 --arch=x64 --prune --version-string.CompanyName="" --version-string.FileDescription="Java Editor" --icon="icon.ico"
+for /f "delims=" %%v in ('node -p "require('./package.json').version"') do set current_version=%%v

-rem save space
-cd Java Editor-win32-x64/resources/app
-if exist Java-Editor.zip del Java-Editor.zip
-cd node_modules/ace-builds
-if exist src/ rmdir /S /Q src
-if exist src-min/ rmdir /S /Q src-min
-if exist src-noconflict/ rmdir /S /Q src-noconflict
-cd ../../../../..
+if not [%1] == [%current_version%] (
+    call npm --no-git-tag-version version %1
+    @echo on
+)
+
+call electron-packager . --platform=win32 --arch=x64 --app-copyright="(c) 2016 Bretton" --build-version="%1" --icon="icon.ico" --ignore="Java-Editor.zip|node_modules/ace-builds/src$|node_modules/ace-builds/src-min$|node_modules/ace-builds/src-noconflict" --overwrite --win32metadata.CompanyName="" --win32metadata.FileDescription="Java Editor" --win32metadata.OriginalFileName="" --win32metadata.ProductName="Java Editor" --win32metadata.InternalName=""

 jar -cMf Java-Editor.zip "Java Editor-win32-x64"


updated paths to xspec stylesheets to point to current executing folder of batch script.

--- xspec.bat
+++ xspec.bat
@@ -50,7 +50,7 @@
 echo Creating Test Stylesheet...
 echo %TEST_STYLESHEET%
 echo %XSPEC%
-java -cp "%CP%" net.sf.saxon.Transform -o:%TEST_STYLESHEET% -s:%XSPEC% -xsl:generate-xspec-tests.xsl
+java -cp "%CP%" net.sf.saxon.Transform -o:%TEST_STYLESHEET% -s:%XSPEC% -xsl:%~dp0\generate-xspec-tests.xsl
 echo.

 echo Running Tests...
@@ -74,7 +74,7 @@

 echo.
 echo Formatting Report...
-java -cp "%CP%" net.sf.saxon.Transform -o:%HTML% -s:%RESULT% -xsl:format-xspec-report.xsl
+java -cp "%CP%" net.sf.saxon.Transform -o:%HTML% -s:%RESULT% -xsl:%~dp0\format-xspec-report.xsl

 REM =======================================
 REM Check if coverage parameter was passed
@@ -82,7 +82,7 @@
 IF %COVERAGE%x == coveragex GOTO coverage2
 GOTO endif4
 :coverage2
- java -cp "%CP%" net.sf.saxon.Transform -l:on -o:%COVERAGE_HTML% -s:%COVERAGE_XML% -xsl:coverage-report.xsl "tests=%XSPEC%"
+ java -cp "%CP%" net.sf.saxon.Transform -l:on -o:%COVERAGE_HTML% -s:%COVERAGE_XML% -xsl:%~dp0\coverage-report.xsl "tests=%XSPEC%"
  %COVERAGE_HTML%
 :endif4


nuget push

nuget push

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

--- nugetpush.cmd
+++ nugetpush.cmd
@@ -0,0 +1 @@
+nuget push distribution\*.nupkg


nuget push

nuget push


--- buildscript/modules/mesa3d.cmd
+++ buildscript/modules/mesa3d.cmd
@@ -304,11 +304,23 @@
 @if /I NOT "%glswrast%"=="y" set canclover=0
 @IF %disableootpatch%==1 set canclover=0

+@rem Add flags tracking PKG_CONFIG search PATH adjustment needs
+@set PKG_CONFIG_LIBCLC=0
+@set PKG_CONFIG_SPV=0
+
 @rem Microsoft OpenCL compiler requires OpenCL SPIR-V and DirectX Headers
 @IF %canclspv% EQU 1 IF EXIST %devroot%\mesa\subprojects\DirectX-Headers.wrap set /p mclc=Build Mesa3D Microsoft OpenCL compiler (y/n):
 @IF %canclspv% EQU 1 IF EXIST %devroot%\mesa\subprojects\DirectX-Headers.wrap echo.
-@IF /I "%mclc%"=="y" set buildconf=%buildconf% --pkg-config-path=%devroot:\=/%/llvm/%abi%/lib/pkgconfig;%devroot:\=/%/llvm/clc/share/pkgconfig;%devroot:\=/%/spirv-tools/build/%abi%/lib/pkgconfig -Dmicrosoft-clc=enabled -Dstatic-libclc=all
-@IF /I NOT "%mclc%"=="y" IF %intmesaver% GEQ 21000 set buildconf=%buildconf% --pkg-config-path= -Dmicrosoft-clc=disabled
+@IF /I "%mclc%"=="y" set PKG_CONFIG_LIBCLC=1
+@IF /I "%mclc%"=="y" set PKG_CONFIG_SPV=1
+@IF /I "%mclc%"=="y" set buildconf=%buildconf% -Dmicrosoft-clc=enabled
+@IF /I NOT "%mclc%"=="y" IF %intmesaver% GEQ 21000 set buildconf=%buildconf% -Dmicrosoft-clc=disabled
+
+@rem Apply PKG_CONFIG search PATH adjustments
+@IF %PKG_CONFIG_LIBCLC% EQU 1 set buildconf=%buildconf% -Dstatic-libclc=all --pkg-config-path=%devroot:\=/%/llvm/clc/share/pkgconfig
+@IF %PKG_CONFIG_SPV% EQU 1 set buildconf=%buildconf%;%devroot:\=/%/llvm/%abi%/lib/pkgconfig;%devroot:\=/%/spirv-tools/build/%abi%/lib/pkgconfig
+@set "PKG_CONFIG_LIBCLC="
+@set "PKG_CONFIG_SPV="

 @rem Pass additional linker flags
 @if %toolchain%==msvc if defined LDFLAGS set buildconf=%buildconf% -Dc_link_args="%LDFLAGS%" -Dcpp_link_args="%LDFLAGS%"


fix for GRAILS-6126 "Grails distribution ZIP built from incorrect git repo"

--- src/resources/bash/startGrails.bat
+++ src/resources/bash/startGrails.bat
@@ -45,7 +45,7 @@
 :have_JAVA_HOME
 @rem Validate JAVA_HOME
 %COMMAND_COM% /C DIR "%JAVA_HOME%" 2>&1 | %FIND_EXE% /I /C "%JAVA_HOME%" >nul
-if not errorlevel 1 goto check_GROOVY_HOME
+if not errorlevel 1 goto check_GRAILS_HOME

 echo.
 echo ERROR: JAVA_HOME is set to an invalid directory: %JAVA_HOME%
@@ -55,9 +55,9 @@
 echo.
 goto end

-:check_GROOVY_HOME
-@rem Define GROOVY_HOME if not set
-if "%GROOVY_HOME%" == "" set GROOVY_HOME=%DIRNAME%..
+:check_GRAILS_HOME
+@rem Define GRAILS_HOME if not set
+if "%GRAILS_HOME%" == "" set GRAILS_HOME=%DIRNAME%..

 :init
 @rem Get command-line arguments, handling Windowz variants


Copyright year bumped.

Copyright year bumped.

git-svn-id: 2cdf3e638cc402a193cfcb03a730c79ffbc6818c@599 b9671ce7-7109-4c08-962d-a4a26ea92831

--- pdepend.bat
+++ pdepend.bat
@@ -1,7 +1,7 @@
 @echo off
 REM This file is part of PHP_Depend.
 REM
-REM Copyright (c) 2007-2008, Manuel Pichler <mapi@pdepend.org>.
+REM Copyright (c) 2007-2009, Manuel Pichler <mapi@pdepend.org>.
 REM All rights reserved.
 REM
 REM Redistribution and use in source and binary forms, with or without


Fixed mkzip.bat to include additioanl dll's.

--- mkzip.bat
+++ mkzip.bat
@@ -1,5 +1,5 @@
 @echo off
 PATH C:\Program Files\WinZip;c:\Program Files\Bazaar;%PATH%
 bzr export win32diskimager-source.zip
-wzzip win32diskimager-binary.zip mingwm10.dll Win32DiskImager.exe QtGui4.dll QtCore4.dll GPL-2 LGPL-2.1 README.txt
+wzzip win32diskimager-binary.zip mingwm10.dll Win32DiskImager.exe QtGui4.dll QtCore4.dll GPL-2 LGPL-2.1 README.txt libgcc_s_dw2-1.dll libstdc++-6.dll
 @echo on


fixed environment variables

fixed environment variables

--- recipes/cadet/bld.bat
+++ recipes/cadet/bld.bat
@@ -1,11 +1,17 @@
-mkdir build && cd build
+mkdir build
+cd build
+
 cmake ^
     -G "NMake Makefiles" ^
-    -DCMAKE_PREFIX_PATH=$PREFIX ^
-    -DCMAKE_INSTALL_PREFIX=$PREFIX ^
+    -DCMAKE_PREFIX_PATH=%PREFIX% ^
+    -DCMAKE_INSTALL_PREFIX=%PREFIX% ^
+    -DCMAKE_BUILD_TYPE=Release ^
+    -DBUILD_SHARED_LIBS=OFF ^
+    -DENABLE_STATIC_LINK_DEPS=ON
     -DENABLE_CADET_MEX=OFF ^
     -DBLA_VENDOR=Intel10_64lp ^
-    ..
+    ..

 nmake
 nmake install
+


fix the numpy version to 1.16.0

fix the numpy version to 1.16.0

PiperOrigin-RevId: 317743030
Change-Id: I8ac4e0c30cb67cfc611d351ba405e2b94e57c04a

--- tensorflow/tools/ci_build/release/common_win.bat
+++ tensorflow/tools/ci_build/release/common_win.bat
@@ -30,7 +30,7 @@
 %PIP_EXE% install future>=0.17.1 --no-deps
 %PIP_EXE% install --ignore-installed --force-reinstall --upgrade tf-estimator-nightly --no-deps
 %PIP_EXE% install tb-nightly --no-deps
-%PIP_EXE% install numpy --upgrade --no-deps
+%PIP_EXE% install numpy==1.16.0 --upgrade --no-deps
 %PIP_EXE% install opt_einsum --upgrade
 %PIP_EXE% install pandas --upgrade --no-deps
 %PIP_EXE% install protobuf --upgrade --no-deps


Use new webui start command on Win and check status before opening the browser

--- windows/nsis-installer/oq-server.bat
+++ windows/nsis-installer/oq-server.bat
@@ -8,23 +8,26 @@
 set OQ_PORT=8800

 echo Please wait ...
-REM Start the DbServer in background but within the same context
-start "OpenQuake DB server" /B python.exe -m openquake.server.dbserver
+REM Start the WebUI using django
+start "OpenQuake WebUI server" /B python.exe -m openquake.commands webui start %OQ_HOST%:%OQ_PORT%

 REM Make sure that the dbserver is up and running
-call:sleep 5
-
-REM Start the WebUI using django
-start "OpenQuake WebUI server" /B python.exe -m openquake.server.manage runserver %OQ_HOST%:%OQ_PORT%
-
-REM Make sure that the dbserver is up and running
-call:sleep 2
+call:check_django

 REM Start the browser
 start http://localhost:%OQ_PORT%

 endlocal
 exit /b 0
+
+
+:check_django
+setlocal
+ping -n 1 %OQ_HOST
+if ERRORLEVEL 1
+    goto check_django
+endlocal
+

 :sleep
 setlocal


TST: python 3.2 test script

TST: python 3.2 test script

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

--- scripts/test_py32.bat
+++ scripts/test_py32.bat
@@ -0,0 +1,8 @@
+set BASE=E:\python32
+set PYTHON=%BASE%\python.exe
+set NOSETESTS=%BASE%\scripts\nosetests-script.py
+
+%PYTHON% setup.py install
+cd bench
+%PYTHON% %NOSETESTS% pandas
+cd ..


Update SetupComplete.cmd

Update SetupComplete.cmd

--- unattended.win10/Setup/Scripts/SetupComplete.cmd
+++ unattended.win10/Setup/Scripts/SetupComplete.cmd
@@ -1,6 +1,14 @@
 @echo off
 rem dennyhalim.com
 rem this will be copied after first reboot and then run after next reboot
+
+move "%SystemRoot%\SysWOW64\OneDriveSetup.exe" "%SystemRoot%\SysWOW64\OneDriveSetup.dennyhalim"
+move "%SystemRoot%\System32\OneDriveSetup.exe" "%SystemRoot%\System32\OneDriveSetup.dennyhalim"
+rem move "%windir%\SystemApps\Microsoft.Windows.Cortana_cw5n1h2txyewy" "%windir%\SystemApps\Microsoft.Windows.Cortana_cw5n1h2txyewy.dennyhalim"
+rem startmenu disabled if shellex disabled
+rem move "%windir%\SystemApps\ShellExperienceHost_cw5n1h2txyewy" "%windir%\SystemApps\ShellExperienceHost_cw5n1h2txyewy.dennyhalim"
+move "%Public%\..\Default\AppData\Local\Microsoft\Windows\Shell\DefaultLayouts.xml" "%Public%\..\Default\AppData\Local\Microsoft\Windows\Shell\DefaultLayouts.dennyhalim"
+copy /y "%WINDIR%\Setup\Files\DefaultLayouts.xml" "%Public%\..\Default\AppData\Local\Microsoft\Windows\Shell\DefaultLayouts.xml"

 reg add "HKLM\SOFTWARE\Policies\Microsoft\Windows\WindowsUpdate" /v DeferUpgrade /t REG_DWORD /d 1 /f
 reg add "HKLM\SOFTWARE\Policies\Microsoft\Windows\WindowsUpdate" /v BranchReadinessLevel /t REG_DWORD /d 32 /f
@@ -18,14 +26,6 @@
 reg add "HKLM\DEFAULT\Software\Microsoft\Windows\CurrentVersion\Explorer\Advanced\People /v PeopleBand /t REG_DWORD /d 0 /f
 reg delete "HKLM\DEFAULT\Software\Microsoft\Windows\CurrentVersion\Run" /v OneDriveSetup /F
 reg unload HKLM\DEFAULT
-
-move "%SystemRoot%\SysWOW64\OneDriveSetup.exe" "%SystemRoot%\SysWOW64\OneDriveSetup.dennyhalim"
-move "%SystemRoot%\System32\OneDriveSetup.exe" "%SystemRoot%\System32\OneDriveSetup.dennyhalim"
-rem move "%windir%\SystemApps\Microsoft.Windows.Cortana_cw5n1h2txyewy" "%windir%\SystemApps\Microsoft.Windows.Cortana_cw5n1h2txyewy.dennyhalim"
-rem startmenu disabled if shellex disabled
-rem move "%windir%\SystemApps\ShellExperienceHost_cw5n1h2txyewy" "%windir%\SystemApps\ShellExperienceHost_cw5n1h2txyewy.dennyhalim"
-move "%Public%\..\Default\AppData\Local\Microsoft\Windows\Shell\DefaultLayouts.xml" "%Public%\..\Default\AppData\Local\Microsoft\Windows\Shell\DefaultLayouts.dennyhalim"
-copy /y "%WINDIR%\Setup\Files\DefaultLayouts.xml" "%Public%\..\Default\AppData\Local\Microsoft\Windows\Shell\DefaultLayouts.xml"

 cscript "%WINDIR%\System32\Printing_Admin_Scripts\en-US\prndrvr.vbs" a -m "Canon LBP2900" -i "%WINDIR%\Setup\Files\CanonLBP2900\CNAB4STD.inf"
 cscript "%WINDIR%\System32\Printing_Admin_Scripts\en-US\prndrvr.vbs" a -m "Canon G2000 series Printer" -i "%WINDIR%\Setup\Files\CanonG2000\Driver\G2000P6.inf"


Use full path to FSI instead of relying on ambient fsi

--- tests/fsharp/single-test-build.bat
+++ tests/fsharp/single-test-build.bat
@@ -155,8 +155,8 @@
     set command_line_args=%command_line_args% --output:%~d0%~p0..\testbin\%flavor%\coreclr\fsharp\core\%TestCaseName%\output\test-%test_outfile%.exe
 )

-echo fsi %command_line_args%
-fsi %command_line_args%
+echo %fsi% %command_line_args%
+%fsi% %command_line_args%
 echo Errorlevel: %errorlevel%
 if ERRORLEVEL 1 goto Error
 goto :EOF


Pointed at easyrtc_int.js instead of easyrtc.js

--- dev/scripts/updateEasyrtcJsDocs.bat
+++ dev/scripts/updateEasyrtcJsDocs.bat
@@ -1,4 +1,5 @@
-jsdoc -d ..\..\docs\client_html_docs  -t client_jsdoc_templates ..\..\api\easyrtc.js
+jsdoc -d ..\..\docs\client_html_docs  -t client_jsdoc_templates ..\..\api\easyrtc_int.js
+rename ..\..\docs\client_html_docs\window.Easyrtc.html easyrtc.html


Fix the packing issue

Fix the packing issue

--- build/scripts/LoadNuGetInfo.cmd
+++ build/scripts/LoadNuGetInfo.cmd
@@ -2,10 +2,7 @@

 REM This is a script that will set environment information about where to find
 REM NuGet.exe, it's version and ensure that it's present on the enlistment.
-set NuGetExeFolder=%~dp0..\..
+set NuGetExeFolder=%~dp0..\..\Binaries\Tools
 set NuGetExe=%NuGetExeFolder%\NuGet.exe
 set NuGetAdditionalCommandLineArgs=-verbosity quiet -configfile "%NuGetExeFolder%\nuget.config" -Project2ProjectTimeOut 1200

-REM Download NuGet.exe if we haven't already
-powershell -noprofile -executionPolicy Bypass -file "%~dp0download-nuget.ps1"
-