| #!/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 |