@echo off :: Copyright (C) 2014 The Android Open Source Project :: Licensed under the Apache License, Version 2.0 (the "License"); :: you may not use this file except in compliance with the License. :: You may obtain a copy of the License at :: http://www.apache.org/licenses/LICENSE-2.0 :: Unless required by applicable law or agreed to in writing, software :: distributed under the License is distributed on an "AS IS" BASIS, :: WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. :: See the License for the specific language governing permissions and :: limitations under the License. :: A helper script that launches TradeFederation from the current build :: environment. setlocal EnableDelayedExpansion call:checkCommand adb call:checkCommand java :: check java version %JAVA% -version 2>&1 | findstr /R "version\ \"1*\.*[89].*\"$" || ( echo "Wrong java version. 1.8 or 9 is required." exit /B ) :: check debug flag and set up remote debugging if not "%TF_DEBUG%"=="" ( if "%TF_DEBUG_PORT%" == "" ( set TF_DEBUG_PORT=10088 ) set RDBG_FLAG=-agentlib:jdwp=transport=dt_socket,server=y,suspend=y,address=!TF_DEBUG_PORT! ) :: first try to find TF jars in same dir as this script set CUR_DIR=%CD% if exist "%CUR_DIR%\tradefed.jar" ( set tf_path="%CUR_DIR%\*" ) else ( if not "%ANDROID_HOST_OUT%" == "" ( if exist "%ANDROID_HOST_OUT%\tradefed\tradefed.jar" ( set tf_path="%ANDROID_HOST_OUT%\tradefed\*" ) ) ) if "%tf_path%" == "" ( echo "ERROR: Could not find tradefed jar files" exit /B ) :: set any host specific options :: file format for file at $TRADEFED_OPTS_FILE is one line per host with the following format: :: <hostname>=<options> :: for example: :: hostname.domain.com=-Djava.io.tmpdir=/location/on/disk -Danother=false ... :: hostname2.domain.com=-Djava.io.tmpdir=/different/location -Danother=true ... if exist "%TRADEFED_OPTS_FILE%" ( call:commandResult "hostname" HOST_NAME call:commandResult "findstr /i /b "%HOST_NAME%" "%TRADEFED_OPTS_FILE%"" TRADEFED_OPTS :: delete the hostname part set TRADEFED_OPTS=!TRADEFED_OPTS:%HOST_NAME%=! :: delete the first = set TRADEFED_OPTS=!TRADEFED_OPTS:~1! ) java %RDBG_FLAG% -XX:+HeapDumpOnOutOfMemoryError ^ -XX:-OmitStackTraceInFastThrow %TRADEFED_OPTS% -cp %tf_path% com.android.tradefed.command.Console %* endlocal ::end of file goto:eof :: check command exist or not :: if command not exist, exit :checkCommand for /f "delims=" %%i in ('where %~1') do ( if %%i == "" ( echo %~1 not exist exit /B ) goto:eof ) goto:eof :: get the command result :: usage: call:commandResult "command" result :commandResult for /f "delims=" %%i in ('%~1') do ( set %~2=%%i goto:eof ) goto:eof