xref: /aosp_15_r20/external/crosvm/tools/cargo-doc (revision bb4ee6a4ae7042d18b07a98463b9c8b875e44b39)
1*bb4ee6a4SAndroid Build Coastguard Worker#!/usr/bin/env python3
2*bb4ee6a4SAndroid Build Coastguard Worker# Copyright 2021 The ChromiumOS Authors
3*bb4ee6a4SAndroid Build Coastguard Worker# Use of this source code is governed by a BSD-style license that can be
4*bb4ee6a4SAndroid Build Coastguard Worker# found in the LICENSE file.
5*bb4ee6a4SAndroid Build Coastguard Worker
6*bb4ee6a4SAndroid Build Coastguard Workerfrom typing import Optional
7*bb4ee6a4SAndroid Build Coastguard Worker
8*bb4ee6a4SAndroid Build Coastguard Workerfrom impl.common import CROSVM_ROOT, chdir, cmd, quoted, run_main
9*bb4ee6a4SAndroid Build Coastguard Worker
10*bb4ee6a4SAndroid Build Coastguard Worker# Build cargo-doc
11*bb4ee6a4SAndroid Build Coastguard Worker# $ ./tools/cargo-doc --target-dir /path/to/dir
12*bb4ee6a4SAndroid Build Coastguard Worker
13*bb4ee6a4SAndroid Build Coastguard Workercargo = cmd("cargo").with_color_flag()
14*bb4ee6a4SAndroid Build Coastguard Worker
15*bb4ee6a4SAndroid Build Coastguard Worker
16*bb4ee6a4SAndroid Build Coastguard Workerdef main(target_dir: Optional[str] = None, *extra_args: str):
17*bb4ee6a4SAndroid Build Coastguard Worker    chdir(CROSVM_ROOT)
18*bb4ee6a4SAndroid Build Coastguard Worker    cargo(
19*bb4ee6a4SAndroid Build Coastguard Worker        "doc",
20*bb4ee6a4SAndroid Build Coastguard Worker        "--workspace",
21*bb4ee6a4SAndroid Build Coastguard Worker        "--no-deps",
22*bb4ee6a4SAndroid Build Coastguard Worker        "--exclude=crosvm-fuzz",
23*bb4ee6a4SAndroid Build Coastguard Worker        "--features=all-x86_64",
24*bb4ee6a4SAndroid Build Coastguard Worker        "--document-private-items",
25*bb4ee6a4SAndroid Build Coastguard Worker        quoted(f"--target-dir={target_dir}") if target_dir else None,
26*bb4ee6a4SAndroid Build Coastguard Worker        *extra_args,
27*bb4ee6a4SAndroid Build Coastguard Worker    ).fg()
28*bb4ee6a4SAndroid Build Coastguard Worker
29*bb4ee6a4SAndroid Build Coastguard Worker
30*bb4ee6a4SAndroid Build Coastguard Workerif __name__ == "__main__":
31*bb4ee6a4SAndroid Build Coastguard Worker    run_main(main)
32