# sbom-metadata.csv contains all raw data collected in Make for generating SBOM in generate-sbom.py.
# There are multiple columns and each identifies the source of an installed file for a specific case.
# The columns and their uses are described as below:
# installed_file: the file path on device, e.g. /product/app/Browser2/Browser2.apk
# module_path: the path of the module that generates the installed file, e.g. packages/apps/Browser2
# soong_module_type: Soong module type, e.g. android_app, cc_binary
# is_prebuilt_make_module: Y, if the installed file is from a prebuilt Make module, see prebuilt_internal.mk
# product_copy_files: the installed file is from variable PRODUCT_COPY_FILES, e.g. device/google/cuttlefish/shared/config/init.product.rc:product/etc/init/init.rc
# kernel_module_copy_files: the installed file is from variable KERNEL_MODULE_COPY_FILES, similar to product_copy_files
# is_platform_generated: this is an aggregated value including some small cases instead of adding more columns. It is set to Y if any case is Y
# is_build_prop: build.prop in each partition, see sysprop.mk.
# is_notice_file: NOTICE.xml.gz in each partition, see Makefile.
# is_dexpreopt_image_profile: see the usage of DEXPREOPT_IMAGE_PROFILE_BUILT_INSTALLED in Soong and Make
# is_product_system_other_avbkey: see INSTALLED_PRODUCT_SYSTEM_OTHER_AVBKEY_TARGET
# is_system_other_odex_marker: see INSTALLED_SYSTEM_OTHER_ODEX_MARKER
# is_event_log_tags_file: see variable event_log_tags_file in Makefile
# is_kernel_modules_blocklist: modules.blocklist created for _dlkm partitions, see macro build-image-kernel-modules-dir in Makefile.
# is_fsverity_build_manifest_apk: BuildManifest<part>.apk files for system and system_ext partition, see ALL_FSVERITY_BUILD_MANIFEST_APK in Makefile.
# is_linker_config: see SYSTEM_LINKER_CONFIG and vendor_linker_config_file in Makefile.
# build_output_path: the path of the built file, used to calculate checksum
# static_libraries/whole_static_libraries: list of module name of the static libraries the file links against, e.g. libclang_rt.builtins or libclang_rt.builtins_32
# Info of all static libraries of all installed files are collected in variable _all_static_libs that is used to list all the static library files in sbom-metadata.csv.
# See the second foreach loop in the rule of sbom-metadata.csv for the detailed info of static libraries collected in _all_static_libs.
# is_static_lib: whether the file is a static library