blob: 68b22164a1c832d9edb01b6951e83744859416d4 [file] [log] [blame]
#!/bin/bash
# Copyright 2017 The Fuchsia Authors. All rights reserved.
# Use of this source code is governed by a BSD-style license that can be
# found in the LICENSE file.
### configure jiri to manage a specific petal
## usage: fx set-petal zircon|garnet|peridot|topaz
## Configures jiri to fetch the source code for the given petal and its
## dependencies.
set -e
source "$(cd "$(dirname "${BASH_SOURCE[0]}")" >/dev/null 2>&1 && pwd)"/lib/vars.sh || exit $?
if [[ "$#" -ne 1 ]]; then
fx-command-help
exit 1
fi
petal="$1"
if [[ "${petal}" != "zircon" ]] &&
[[ "${petal}" != "garnet" ]] &&
[[ "${petal}" != "peridot" ]] &&
[[ "${petal}" != "topaz" ]]; then
fx-command-help
exit 1
fi
# If jiri is not found which will return an err which will cause bash to exit.
# "|| echo" catches that.
jiri=$(which jiri || echo)
if [[ -z ${jiri} ]]; then
jiri="${FUCHSIA_DIR}/.jiri_root/bin/jiri"
if [[ ! -f ${jiri} ]]; then
echo >&2 "error: Cannot find \"jiri\" in your PATH nor at ${jiri}."
exit 1
fi
fi
cd "${FUCHSIA_DIR}"
rm -f -- "${FUCHSIA_DIR}/.jiri_manifest"
"${jiri}" import -name=integration topaz/topaz "https://fuchsia.googlesource.com/integration"
"${jiri}" override "${petal}" "https://fuchsia.googlesource.com/${petal}"
echo "Configured jiri for ${petal}. Run these commands to update your build:"
if [[ "${petal}" == "zircon" ]]; then
cat <<END
* jiri update -gc # Updates your source tree to contain ${petal} and
# removes unneeded repositories.
* cd zircon && scripts/build-zircon-<arch> # Acutally builds ${petal}.
END
else
cat <<END
* jiri update -gc # Updates your source tree to contain ${petal} and
# removes unneeded repositories.
* fx set x64 # Updates your build directory to build ${petal}.
* fx full-build # Actually builds ${petal}
END
fi