1#!/bin/bash 2 3# Copyright (C) 2015 The Android Open Source Project 4# 5# Licensed under the Apache License, Version 2.0 (the "License"); 6# you may not use this file except in compliance with the License. 7# You may obtain a copy of the License at 8# 9# http://www.apache.org/licenses/LICENSE-2.0 10# 11# Unless required by applicable law or agreed to in writing, software 12# distributed under the License is distributed on an "AS IS" BASIS, 13# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 14# See the License for the specific language governing permissions and 15# limitations under the License. 16 17# A helper script that launches Trade Federation 18 19shdir=`dirname $0`/ 20source "${shdir}/script_help.sh" 21# At this point, we're guaranteed to have the right Java version, and the 22# following env variables will be set, if appropriate: 23# JAVA_VERSION, RDBG_FLAG, TF_PATH, TRADEFED_OPTS 24checkPath adb 25 26# Allow to specify another java entry point 27CONSOLE_CLASS="com.android.tradefed.command.Console" 28if [ -n "${ENTRY_CLASS}" ]; then 29 CONSOLE_CLASS=${ENTRY_CLASS} 30fi 31 32if [ -n "${LOCAL_AUTH}" ]; then 33 if [ -n "${LOCAL_CLIENT_FILE}" ]; then 34 echo "Using user provided LOCAL_CLIENT_FILE" 35 else 36 export LOCAL_CLIENT_FILE="${TF_JAR_DIR}"/client_id_file.json 37 fi 38 39 ${TF_JAVA} -cp "${TF_PATH}" com.android.tradefed.command.LocalDeveloper 40 local_client=$? 41 if [ "${local_client}" -eq 0 ]; then 42 gcloud auth application-default login --scopes=https://www.googleapis.com/auth/androidbuild.internal --client-id-file "$LOCAL_CLIENT_FILE" 43 gcloud_res=$? 44 if [ "${gcloud_res}" -ne 0 ]; then 45 echo "Error with auth. aborting tradefed.sh" 46 rm "$LOCAL_CLIENT_FILE" 47 exit 1 48 fi 49 fi 50fi 51 52# Note: must leave $RDBG_FLAG and $TRADEFED_OPTS unquoted so that they go away 53# when unset 54exec ${TF_JAVA} $ADD_OPENS_FLAG $RDBG_FLAG ${TF_JVM_OPTIONS} -XX:+HeapDumpOnOutOfMemoryError \ 55 -XX:-OmitStackTraceInFastThrow $TRADEFED_OPTS \ 56 -cp "${TF_PATH}" -DTF_JAR_DIR=${TF_JAR_DIR} $CONSOLE_CLASS "$@" 57