44 lines
		
	
	
		
			886 B
		
	
	
	
		
			Bash
		
	
	
		
			Executable File
		
	
	
			
		
		
	
	
			44 lines
		
	
	
		
			886 B
		
	
	
	
		
			Bash
		
	
	
		
			Executable File
		
	
	
| #!/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}" "$@"
 |