Files
android_development/tools/ninja_dependency_analysis
Justin Yun f020989c94 Generate ninja_inputs.pb as build metrics
To monitor ninja inputs, generate ninja_inputs.pb as build metrics.
This will count the number of input files and required git projects,
with the number of files for each project.

Bug: 241033491
Test: $ cp .repo/manifests/default.xml out/dist/manifest_1.xml
      $ development/multitree/build_vendor.sh -d vsoc_x86_64 \
          -p cf_x86_64_phone -r out/dist -i 1
Change-Id: Ie185863f1c8fca313baba6135374d509e2d93937
2022-08-29 15:20:12 +09:00
..
2022-07-08 01:28:37 +00:00
2022-07-08 01:28:37 +00:00

./development/tools/ninja_dependency_analysis/collect_inputs.py -n <ninja binary> -f <ninja file> -t <target> -e <exempted_files> -r <repo project file> or -m <repo manifest file>

For example ./development/tools/ninja_dependency_analysis/collect_inputs.py -n prebuilts/build-tools/linux-x86/bin/ninja -f out/combined-aosp_cf_x86_64_phone.ninja -t vendorimage -e development/tools/ninja_dependency_analysis/exempted_files -r .repo/project.list

Output:

{
    "inputs": [
        "foo/my.java",
        "foo/my2.java",
        "bar/my.cpp"
    ],
    "project_count": {
        "foo": 2,
        "bar": 1
    },
    "total_project_count": 2,
    "total_input_count": 3
}