blob: 9c2f3ffc7b85bfd3f33270c08bfccbe7cae5af3b [file] [log] [blame]
#!/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
}