| #!/bin/bash |
| # Copyright 2018 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. |
| |
| ### verify the structure of the build package directory in a layer |
| |
| ## usage: fx verify-build-packages zircon|garnet|peridot|topaz|vendor/foo |
| |
| set -e |
| |
| source "$(cd "$(dirname "${BASH_SOURCE[0]}")" >/dev/null 2>&1 && pwd)"/lib/vars.sh || exit $? |
| fx-config-read |
| |
| if [[ "$#" -ne 1 ]]; then |
| fx-command-help |
| exit 1 |
| fi |
| |
| readonly layer="$1" |
| |
| layer_arg="" |
| if [[ ${layer} =~ vendor/([a-zA-Z0-9_-]+) ]]; then |
| readonly vendor="${BASH_REMATCH[1]}" |
| layer_arg="--vendor-layer ${vendor}" |
| elif [[ "${layer}" == "zircon" ]]; then |
| # Zircon does not have build packages. |
| exit 0 |
| elif [[ "${layer}" == "garnet" ]] || |
| [[ "${layer}" == "peridot" ]] || |
| [[ "${layer}" == "topaz" ]]; then |
| layer_arg="--layer ${layer}" |
| else |
| fx-command-help |
| exit 1 |
| fi |
| |
| readonly validator="${FUCHSIA_BUILD_DIR}/host_x64/json_validator" |
| |
| if [[ ! -f ${validator} ]]; then |
| echo >&2 "error: Cannot find JSON validator at ${validator}." |
| echo >&2 "Try running 'fx build' first." |
| exit 1 |
| fi |
| |
| "${FUCHSIA_DIR}/scripts/packages/verify_layer.py" \ |
| --json-validator "${validator}" \ |
| ${layer_arg} |