| #!/bin/bash |
| # Copyright 2013 The Flutter Authors. All rights reserved. |
| # Use of this source code is governed by a BSD-style license that can be |
| # found in the LICENSE file. |
| |
| |
| if [[ -n "${ZSH_VERSION:-}" ]]; then |
| devshell_lib_dir=${${(%):-%x}:a:h} |
| else |
| devshell_lib_dir="$(cd "$(dirname "${BASH_SOURCE[0]}")" >/dev/null 2>&1 && pwd)" |
| fi |
| |
| # Note: if this file location changes this path needs to change |
| FLUTTER_ENGINE_SRC_DIR="$(dirname "$(dirname "$(dirname "$(dirname "$(dirname "${devshell_lib_dir}")")")")")" |
| export FLUTTER_ENGINE_SRC_DIR |
| unset devshell_lib_dir |
| |
| # Find the fuchsia sdk location |
| if [[ "$OSTYPE" == "linux-gnu"* ]]; then |
| export FLUTTER_ENGINE_FUCHSIA_SDK_DIR="${FLUTTER_ENGINE_SRC_DIR}/fuchsia/sdk/linux" |
| elif [[ "$OSTYPE" == "darwin"* ]]; then |
| export FLUTTER_ENGINE_FUCHSIA_SDK_DIR="${FLUTTER_ENGINE_SRC_DIR}/fuchsia/sdk/mac" |
| else |
| echo "We only support linux/mac" |
| exit 1 |
| fi |
| |
| function engine-is-stderr-tty { |
| [[ -t 2 ]] |
| } |
| |
| # engine-debug prints a line to stderr with a cyan DEBUG: prefix. |
| function engine-debug { |
| if engine-is-stderr-tty; then |
| echo -e >&2 "\033[1;36mDEBUG:\033[0m $*" |
| else |
| echo -e >&2 "DEBUG: $*" |
| fi |
| } |
| |
| # engine-info prints a line to stderr with a green INFO: prefix. |
| function engine-info { |
| if engine-is-stderr-tty; then |
| echo -e >&2 "\033[1;32mINFO:\033[0m $*" |
| else |
| echo -e >&2 "INFO: $*" |
| fi |
| } |
| |
| # engine-error prints a line to stderr with a red ERROR: prefix. |
| function engine-error { |
| if engine-is-stderr-tty; then |
| echo -e >&2 "\033[1;31mERROR:\033[0m $*" |
| else |
| echo -e >&2 "ERROR: $*" |
| fi |
| } |
| |
| # engine-warning prints a line to stderr with a yellow WARNING: prefix. |
| function engine-warning { |
| if engine-is-stderr-tty; then |
| echo -e >&2 "\033[1;33mWARNING:\033[0m $*" |
| else |
| echo -e >&2 "WARNING: $*" |
| fi |
| } |
| |
| function ensure_fuchsia_dir() { |
| if [[ -z "${FUCHSIA_DIR}" ]]; then |
| engine-error "A valid fuchsia.git checkout is required." \ |
| "Make sure you have a valid FUCHSIA_DIR." |
| exit 1 |
| fi |
| } |
| |
| function ensure_engine_dir() { |
| if [[ -z "${ENGINE_DIR}" ]]; then |
| engine-error "ENGINE_DIR must be set to the src folder of your Flutter Engine checkout." |
| exit 1 |
| fi |
| } |
| |
| function ensure_ninja() { |
| if ! [ -x "$(command -v ninja)" ]; then |
| engine-error '`ninja` is not in your $PATH. Do you have depot_tools installed and in your $PATH? https://commondatastorage.googleapis.com/chrome-infra-docs/flat/depot_tools/docs/html/depot_tools_tutorial.html#_setting_up' |
| exit 1 |
| fi |
| } |
| |
| function ensure_autoninja() { |
| if ! [ -x "$(command -v autoninja)" ]; then |
| engine-error '`autoninja` is not in your $PATH. Do you have depot_tools installed and in your $PATH? https://commondatastorage.googleapis.com/chrome-infra-docs/flat/depot_tools/docs/html/depot_tools_tutorial.html#_setting_up' |
| exit 1 |
| fi |
| } |