@ -7,18 +7,18 @@ setlocal
 
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					
 
					 
					 
					 
					
 
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					set  scriptdir = %~dp0 
 
					 
					 
					 
					set  scriptdir = %~dp0 
 
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					
 
					 
					 
					 
					
 
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					REM   Set unique build ID.
 
					 
					 
					 
					: :   Set unique build ID.
 
				
			 
			
				
				
			
		
	
		
		
	
		
		
			
				
					
					 
					 
					 
					FOR  /f  " usebackq tokens=* "  %% a in  ( ` %scriptdir% python-bin\python3.bat -c "import uuid; print(uuid.uuid4())"` )  do  set  AUTONINJA_BUILD_ID = %% a
 
					 
					 
					 
					FOR  /f  " usebackq tokens=* "  %% a in  ( ` %scriptdir% python-bin\python3.bat -c "import uuid; print(uuid.uuid4())"` )  do  set  AUTONINJA_BUILD_ID = %% a
 
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					
 
					 
					 
					 
					
 
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					REM   If a build performance summary has been requested then also set NINJA_STATUS
 
					 
					 
					 
					: :   If a build performance summary has been requested then also set NINJA_STATUS
 
				
			 
			
				
				
			
		
	
		
		
			
				
					
					 
					 
					 
					REM   to trigger more verbose status updates. In particular this makes it possible
 
					 
					 
					 
					: :   to trigger more verbose status updates. In particular this makes it possible
 
				
			 
			
				
				
			
		
	
		
		
			
				
					
					 
					 
					 
					REM   to see how quickly process creation is happening - often a critical clue on
 
					 
					 
					 
					: :   to see how quickly process creation is happening - often a critical clue on
 
				
			 
			
				
				
			
		
	
		
		
			
				
					
					 
					 
					 
					REM   Windows. The trailing space is intentional.
 
					 
					 
					 
					: :   Windows. The trailing space is intentional.
 
				
			 
			
				
				
			
		
	
		
		
			
				
					
					 
					 
					 
					if  " %NINJA_SUMMARIZE_BUILD% "  ==  " 1 "  set  NINJA_STATUS = [%% r processes, %% f/%% t @ %% o/s : %% es ]  
 
					 
					 
					 
					if  " %NINJA_SUMMARIZE_BUILD% "  ==  " 1 "  set  NINJA_STATUS = [%% r processes, %% f/%% t @ %% o/s : %% es ]
 
				
			 
			
				
				
			
		
	
		
		
	
		
		
	
		
		
	
		
		
	
		
		
	
		
		
			
				
					
					 
					 
					 
					
 
					 
					 
					 
					
 
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					: loop 
 
					 
					 
					 
					: loop 
 
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					IF  NOT  " %1 " == " "  ( 
 
					 
					 
					 
					IF  NOT  " %1 " == " "  ( 
 
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					    @rem   Tell goma or reclient to not do network compiles.
 
					 
					 
					 
					    ::   Tell goma or reclient to not do network compiles.
 
				
			 
			
				
				
			
		
	
		
		
	
		
		
			
				
					
					 
					 
					 
					    IF  " %1 " == " --offline "  ( 
 
					 
					 
					 
					    IF  " %1 " == " --offline "  ( 
 
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					        SET  GOMA_DISABLED = 1
 
					 
					 
					 
					        SET  GOMA_DISABLED = 1
 
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					        SET  RBE_remote_disabled = 1
 
					 
					 
					 
					        SET  RBE_remote_disabled = 1
 
				
			 
			
		
	
	
		
		
			
				
					
						
						
						
							
								 
							 
						
					 
					 
					@ -31,16 +31,16 @@ IF NOT "%1"=="" (
 
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					    GOTO  : loop 
 
					 
					 
					 
					    GOTO  : loop 
 
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					)
 
					 
					 
					 
					)
 
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					
 
					 
					 
					 
					
 
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					REM   Execute whatever is printed by autoninja.py.
 
					 
					 
					 
					: :   Execute whatever is printed by autoninja.py.
 
				
			 
			
				
				
			
		
	
		
		
			
				
					
					 
					 
					 
					REM   Also print it to reassure that the right settings are being used.
 
					 
					 
					 
					: :   Also print it to reassure that the right settings are being used.
 
				
			 
			
				
				
			
		
	
		
		
			
				
					
					 
					 
					 
					REM   Don't use vpython - it is too slow to start.
 
					 
					 
					 
					: :   Don't use vpython - it is too slow to start.
 
				
			 
			
				
				
			
		
	
		
		
			
				
					
					 
					 
					 
					REM   Don't use python3 because it doesn't work in git bash on Windows and we
 
					 
					 
					 
					: :   Don't use python3 because it doesn't work in git bash on Windows and we
 
				
			 
			
				
				
			
		
	
		
		
			
				
					
					 
					 
					 
					REM   should be consistent between autoninja.bat and the autoninja script used by
 
					 
					 
					 
					: :   should be consistent between autoninja.bat and the autoninja script used by
 
				
			 
			
				
				
			
		
	
		
		
			
				
					
					 
					 
					 
					REM   git bash.
 
					 
					 
					 
					: :   git bash.
 
				
			 
			
				
				
			
		
	
		
		
	
		
		
	
		
		
	
		
		
	
		
		
	
		
		
	
		
		
			
				
					
					 
					 
					 
					FOR  /f  " usebackq tokens=* "  %% a in  ( ` %scriptdir% python-bin\python3.bat  %scriptdir% autoninja.py " %* "` )  do  echo  %% a &  %% a
 
					 
					 
					 
					FOR  /f  " usebackq tokens=* "  %% a in  ( ` %scriptdir% python-bin\python3.bat  %scriptdir% autoninja.py " %* "` )  do  echo  %% a &  %% a
 
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					@ if  errorlevel  1  goto  buildfailure 
 
					 
					 
					 
					@ if  errorlevel  1  goto  buildfailure 
 
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					
 
					 
					 
					 
					
 
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					REM   Use call to invoke python script here, because we use python via python3.bat.
 
					 
					 
					 
					: :   Use call to invoke python script here, because we use python via python3.bat.
 
				
			 
			
				
				
			
		
	
		
		
	
		
		
			
				
					
					 
					 
					 
					@ if  " %NINJA_SUMMARIZE_BUILD% "  ==  " 1 "  call  %scriptdir% python-bin\python3.bat %scriptdir% post_build_ninja_summary.py %* 
 
					 
					 
					 
					@ if  " %NINJA_SUMMARIZE_BUILD% "  ==  " 1 "  call  %scriptdir% python-bin\python3.bat %scriptdir% post_build_ninja_summary.py %* 
 
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					@ call  %scriptdir% python-bin\python3.bat %scriptdir% ninjalog_uploader_wrapper.py --cmdline %* 
 
					 
					 
					 
					@ call  %scriptdir% python-bin\python3.bat %scriptdir% ninjalog_uploader_wrapper.py --cmdline %* 
 
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					
 
					 
					 
					 
					
 
				
			 
			
		
	
	
		
		
			
				
					
						
						
						
							
								 
							 
						
					 
					 
					@ -49,6 +49,6 @@ exit /b
 
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					
 
					 
					 
					 
					
 
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					@ call  %scriptdir% python-bin\python3.bat %scriptdir% ninjalog_uploader_wrapper.py --cmdline %* 
 
					 
					 
					 
					@ call  %scriptdir% python-bin\python3.bat %scriptdir% ninjalog_uploader_wrapper.py --cmdline %* 
 
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					
 
					 
					 
					 
					
 
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					REM   Return an error code of 1 so that if a developer types:
 
					 
					 
					 
					: :   Return an error code of 1 so that if a developer types:
 
				
			 
			
				
				
			
		
	
		
		
			
				
					
					 
					 
					 
					REM   "autoninja chrome && chrome" then chrome won't run if the build fails.
 
					 
					 
					 
					: :   "autoninja chrome && chrome" then chrome won't run if the build fails.
 
				
			 
			
				
				
			
		
	
		
		
	
		
		
	
		
		
			
				
					
					 
					 
					 
					cmd /c exit 1
 
					 
					 
					 
					cmd /c exit 1