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

#### CATEGORY=Build
### list boards available for building

## usage: fx list-boards
##
## Lists all boards that are available for building. These are names that
## can be passed to `fx set`

source "$(cd "$(dirname "${BASH_SOURCE[0]}")" >/dev/null 2>&1 && pwd)"/lib/vars.sh || exit $?

cd "${FUCHSIA_DIR}"
board_gnis=($(echo {.,vendor/*}/boards/*.gni | xargs -n 1 basename | sort -u))
for board in "${board_gnis[@]}"
do
  echo "${board%%.gni}"
done
