@rem Invoked by Android Build Launchcontrol for continuous builds.
@rem Windows Android Studio Remote Bazel Execution Script.
setlocal enabledelayedexpansion
set PATH=c:\tools\msys64\usr\bin;%PATH%
@rem Expected arguments:
set OUTDIR=%1
set DISTDIR=%2
set BUILDNUMBER=%3
@rem DETECT_FLAKES is an optional argument adding extra bazel arguments.
set DETECT_FLAKES=%4

@REM It is a post-submit build if the build number does not start with "P"
IF "%BUILDNUMBER:~0,1%"=="P" (
  SET /A IS_POST_SUBMIT=0
) ELSE (
  SET /A IS_POST_SUBMIT=1
)

@REM Run tests multiple times to aid flake detection.
IF "%DETECT_FLAKES%"=="--detect_flakes" (
  SET ATTEMPTS=--flaky_test_attempts=3
  set NOCACHE=--nocache_test_results
  set CONDITIONAL_FLAGS=!ATTEMPTS! !NOCACHE!
) ELSE IF %IS_POST_SUBMIT% EQU 1 (
  SET NOCACHE=--nocache_test_results
  SET FLAKY_ATTEMPTS=--flaky_test_attempts=2
  SET CONDITIONAL_FLAGS=!NOCACHE! !FLAKY_ATTEMPTS!
)

set TESTTAGFILTERS=-no_windows,-no_test_windows,-qa_sanity,-qa_fast,-qa_unreliable,-perfgate

@rem The current directory the executing script is in.
set SCRIPTDIR=%~dp0
CALL :NORMALIZE_PATH "%SCRIPTDIR%..\..\.."
set BASEDIR=%RETVAL%

@rem Generate a UUID for use as the Bazel invocation ID
FOR /F "tokens=*" %%F IN ('uuidgen') DO (
SET INVOCATIONID=%%F
)

echo "Called with the following:  OUTDIR=%OUTDIR%, DISTDIR=%DISTDIR%, BUILDNUMBER=%BUILDNUMBER%, SCRIPTDIR=%SCRIPTDIR%, BASEDIR=%BASEDIR%"

set TARGETS=
for /f %%i in (%SCRIPTDIR%targets.win) do set TARGETS=!TARGETS! %%i

for /f %%e in ('%SCRIPTDIR%bazel.cmd info execution_root') do set EXECROOT=%%e
set EXECROOT=%EXECROOT:/=\%
@rem Removing host executable runfiles as a workaround to http://b/160885823
dir %EXECROOT%\bazel-out\host\bin\tools\base\bazel\kotlinc.exe.runfiles
dir %EXECROOT%\bazel-out\host\bin\tools\base\bazel\formc.exe.runfiles
del /F /Q /S %EXECROOT%\bazel-out\host\bin\tools\base\bazel\kotlinc.exe.runfiles > NUL
del /F /Q /S %EXECROOT%\bazel-out\host\bin\tools\base\bazel\formc.exe.runfiles > NUL
@echo Runfile contents after being deleted
dir %EXECROOT%\bazel-out\host\bin\tools\base\bazel\kotlinc.exe.runfiles
dir %EXECROOT%\bazel-out\host\bin\tools\base\bazel\formc.exe.runfiles

@echo studio_win.cmd time: %time%
@rem Run Bazel
CALL %SCRIPTDIR%bazel.cmd ^
 --max_idle_secs=60 ^
 test ^
 --keep_going ^
 --config=dynamic ^
 --build_tag_filters=-no_windows ^
 --invocation_id=%INVOCATIONID% ^
 --build_event_binary_file=%DISTDIR%\bazel-%BUILDNUMBER%.bes ^
 --test_tag_filters=%TESTTAGFILTERS% ^
 --profile=%DISTDIR%\winprof%BUILDNUMBER%.json.gz ^
 %CONDITIONAL_FLAGS% ^
 -- ^
 //tools/base/profiler/native/trace_processor_daemon ^
 %TARGETS%

SET EXITCODE=%errorlevel%
@echo studio_win.cmd time: %time%

IF NOT EXIST %DISTDIR%\ GOTO ENDSCRIPT

echo "<meta http-equiv="refresh" content="0; URL='https://source.cloud.google.com/results/invocations/%INVOCATIONID%'" />" > %DISTDIR%\upsalite_test_results.html
@echo studio_win.cmd time: %time%

@rem copy skia parser artifact to dist dir
copy %BASEDIR%\bazel-bin\tools\base\dynamic-layout-inspector\skiaparser.zip %DISTDIR%

@rem copy trace processor daemon artifact to dist dir
copy %BASEDIR%\bazel-bin\tools\base\profiler\native\trace_processor_daemon\trace_processor_daemon.exe %DISTDIR%

@echo studio_win.cmd time: %time%

IF %IS_POST_SUBMIT% EQU 1 (
  SET PERFGATE_ARG=-perfzip %DISTDIR%\perfgate_data.zip
) ELSE (
  SET PERFGATE_ARG=
)

CALL %SCRIPTDIR%bazel.cmd run //tools/vendor/adt_infra_internal/rbe/logscollector:logs-collector ^
 --config=dynamic ^
 -- ^
 -bes %DISTDIR%\bazel-%BUILDNUMBER%.bes ^
 -testlogs %DISTDIR%\logs\junit ^
 %PERFGATE_ARG%

IF ERRORLEVEL 1 (
  @echo Bazel logs-collector failed
  EXIT /B 1
)

@echo studio_win.cmd time: %time%

@rem Extra debugging for b/162585987
dir %EXECROOT%\bazel-out\host\bin\tools\base\bazel\kotlinc.exe.runfiles
dir %EXECROOT%\bazel-out\host\bin\tools\base\bazel\formc.exe.runfiles

:ENDSCRIPT
@rem On windows we must explicitly shut down bazel. Otherwise file handles remain open.
@echo studio_win.cmd time: %time%
CALL %SCRIPTDIR%bazel.cmd shutdown
@echo studio_win.cmd time: %time%
@rem We also must call the kill-processes.py python script and kill all processes still open
@rem within the src directory.  This is due to the fact go/ab builds must be removable after
@rem execution, and any open processes will prevent this removal on windows.
CALL %BASEDIR%\tools\vendor\adt_infra_internal\build\scripts\slave\kill-processes.cmd %BASEDIR%
@echo studio_win.cmd time: %time%

SET /A BAZEL_EXITCODE_TEST_FAILURES=3

IF %IS_POST_SUBMIT% EQU 1 (
  IF %EXITCODE% EQU %BAZEL_EXITCODE_TEST_FAILURES% (
    EXIT /B 0
  )
)
EXIT /B %EXITCODE%

@rem HELPER FUNCTIONS
:NORMALIZE_PATH
  SET RETVAL=%~dpfn1
  EXIT /B
