aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorWei Li <weiwli@google.com>2023-05-24 20:56:16 +0000
committerAndroid (Google) Code Review <android-gerrit@google.com>2023-05-24 20:56:16 +0000
commit433d6a4ed41fae28f80265a78979d5bcaace8cb8 (patch)
treeb29c0cdf22352472acebd6223deb592ac4f2e7ec
parenta92f0d7187a4f35c9679eda75612f5660ef688b7 (diff)
parente46feba3cf382b0a2feb5b7ffdacc224f60a7913 (diff)
downloadbazel-433d6a4ed41fae28f80265a78979d5bcaace8cb8.tar.gz
Merge "Define macro for declaring package METADATA file." into udc-devandroid14-dev
-rw-r--r--rules/apex/BUILD7
-rw-r--r--rules/metadata.bzl10
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 = [],
+ )