#!/bin/bash # Copyright 2021 The ChromiumOS Authors # Use of this source code is governed by a BSD-style license that can be # found in the LICENSE file. find_checkout_root() { path="$(dirname "$0")" path="$(realpath "${path}")" while [[ "${path}" != "/" && ! -d "${path}/.repo" ]] do path="$(dirname "${path}")" done echo "${path}" } # Setup a project. mkdir -p /tmp/setup_project || exit $? cipd install -force -root /tmp/setup_project \ chromiumos/infra/setup_project/\$\{platform\} latest || exit $? echo "Done installing CIPD package." # If --checkout is not supplied, assume that this script is being run from # a checkout. Find the root of the checkout. if [[ "$*" != *"-checkout"* ]]; then echo "--checkout not supplied, searching for checkout root." checkout_root="$(find_checkout_root)" echo "Found checkout root ${checkout_root}." if [[ "${checkout_root}" != "/" ]]; then set -- "$@" "-checkout=$(find_checkout_root)/" else echo "You are invoking setup_project.sh from outside of a CrOS checkout." echo "Please specify the location of the checkout with -checkout." fi fi /tmp/setup_project/setup_project setup-project "$@"