From e46feba3cf382b0a2feb5b7ffdacc224f60a7913 Mon Sep 17 00:00:00 2001 From: Wei Li Date: Wed, 17 May 2023 14:25:57 -0700 Subject: Define macro for declaring package METADATA file. Bug: 275472038 Test: CIs (cherry picked from https://android-review.googlesource.com/q/commit:b1aab9de1eed5b461c48a863d401f5626e214c89) Merged-In: Ia9946db10f10555deff044b55fae1367a4ab41d7 Change-Id: Ia9946db10f10555deff044b55fae1367a4ab41d7 --- rules/apex/BUILD | 7 ++----- rules/metadata.bzl | 10 ++++++++++ 2 files changed, 12 insertions(+), 5 deletions(-) diff --git a/rules/apex/BUILD b/rules/apex/BUILD index 3c02fad2..04bb667a 100644 --- a/rules/apex/BUILD +++ b/rules/apex/BUILD @@ -4,6 +4,7 @@ load("@soong_injection//api_levels:platform_versions.bzl", "platform_versions") load("@soong_injection//product_config:product_variables.bzl", "product_vars") load("//build/bazel/flags:common.bzl", "is_env_true") load("//build/bazel/product_variables:constants.bzl", "constants") +load("//build/bazel/rules:metadata.bzl", "metadata") load("//build/bazel/rules/apex:toolchain.bzl", "apex_toolchain") load("//build/bazel/rules/common:api.bzl", "api") load(":apex_aab_test.bzl", "apex_aab_test_suite") @@ -14,11 +15,7 @@ load(":apex_test.bzl", "apex_test_suite") # Setup package and default_metadata_file for _test_apex_sbom in apex_test.bzl package(default_package_metadata = [":default_metadata_file"]) -filegroup( - name = "default_metadata_file", - srcs = ["METADATA"], - applicable_licenses = [], -) +metadata(name = "default_metadata_file") string_setting( name = "apex_name", diff --git a/rules/metadata.bzl b/rules/metadata.bzl index 287905cd..73f6b5b4 100644 --- a/rules/metadata.bzl +++ b/rules/metadata.bzl @@ -17,3 +17,13 @@ MetadataFileInfo = provider( "metadata_file": "METADATA file of a module", }, ) + +# Define metadata file of packages, usually the file is METADATA in the root directory of a package. +# Attribute applicable_licenses is needed on the filegroup, so when the filegroup is used in +# package(default_package_metadata=) Bazel will not regard it as cyclic reference. +def metadata(name, metadata = "METADATA"): + native.filegroup( + name = name, + srcs = [metadata], + applicable_licenses = [], + ) -- cgit v1.2.3