#!/usr/bin/env bash # Copyright 2021 The Chromium OS Authors. All rights reserved. # Use of this source code is governed by a BSD-style license that can be # found in the LICENSE file. set -ex # Build cargo-doc # $ ./tools/cargo-doc --target-dir /path/to/dir echo "start cargo-doc" MANIFEST_PATH=$(dirname "$0")/../Cargo.toml echo "manifest = ${MANIFEST_PATH}" DISABLED_FEATURES=( audio_cras chromeos libvda power-monitor-powerd video-decoder video-encoder ) ALL_FEATURES=$( cargo metadata --manifest-path "${MANIFEST_PATH}" | \ jq -r '.packages[] | select(.name == "crosvm") | .features | keys[]') features="" for f in $ALL_FEATURES; do if [[ ! "${DISABLED_FEATURES[*]}" =~ $f ]]; then features+=",${f}" fi done cargo doc \ --manifest-path="${MANIFEST_PATH}" \ --features="${features}" "$@"