aboutsummaryrefslogtreecommitdiff
path: root/rules/android_application/attrs.bzl
diff options
context:
space:
mode:
Diffstat (limited to 'rules/android_application/attrs.bzl')
-rw-r--r--rules/android_application/attrs.bzl89
1 files changed, 89 insertions, 0 deletions
diff --git a/rules/android_application/attrs.bzl b/rules/android_application/attrs.bzl
new file mode 100644
index 0000000..33e43fb
--- /dev/null
+++ b/rules/android_application/attrs.bzl
@@ -0,0 +1,89 @@
+# Copyright 2021 The Bazel Authors. All rights reserved.
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+"""Attributes for android_application."""
+
+load(
+ "@rules_android//rules:attrs.bzl",
+ _attrs = "attrs",
+)
+
+ANDROID_APPLICATION_ATTRS = _attrs.add(
+ dict(
+ application_id = attr.string(),
+ base_module = attr.label(allow_files = False),
+ bundle_config_file = attr.label(
+ allow_single_file = [".pb.json"],
+ doc = ("Path to config.pb.json file, see " +
+ "https://github.com/google/bundletool/blob/master/src/main/proto/config.proto " +
+ "for definition.\n\nNote: this attribute is subject to changes which may " +
+ "require teams to migrate their configurations to a build target."),
+ ),
+ app_integrity_config = attr.label(
+ allow_single_file = [".binarypb"],
+ doc = "Configuration of the integrity protection options. " +
+ "Provide a path to a binary .binarypb instance of " +
+ "https://github.com/google/bundletool/blob/master/src/main/proto/app_integrity_config.proto",
+ ),
+ rotation_config = attr.label(
+ allow_single_file = [".textproto"],
+ default = None,
+ ),
+ custom_package = attr.string(),
+ feature_modules = attr.label_list(allow_files = False),
+ _bundle_deploy = attr.label(
+ allow_single_file = True,
+ default = ":bundle_deploy.sh_template",
+ ),
+ _feature_manifest_script = attr.label(
+ allow_single_file = True,
+ cfg = "host",
+ executable = True,
+ default = ":gen_android_feature_manifest.sh",
+ ),
+ _java_toolchain = attr.label(
+ default = Label("//tools/jdk:toolchain_android_only"),
+ ),
+ _priority_feature_manifest_script = attr.label(
+ allow_single_file = True,
+ cfg = "host",
+ executable = True,
+ default = ":gen_priority_android_feature_manifest.sh",
+ ),
+ _host_javabase = attr.label(
+ cfg = "host",
+ default = Label("//tools/jdk:current_java_runtime"),
+ ),
+ ),
+ _attrs.ANDROID_SDK,
+)
+
+ANDROID_FEATURE_MODULE_ATTRS = dict(
+ binary = attr.label(),
+ feature_name = attr.string(),
+ library = attr.label(
+ allow_rules = ["android_library"],
+ mandatory = True,
+ doc = "android_library target to include as a feature split.",
+ ),
+ manifest = attr.label(allow_single_file = True),
+ title_id = attr.string(),
+ title_lib = attr.string(),
+ _feature_module_validation_script = attr.label(
+ allow_single_file = True,
+ cfg = "host",
+ executable = True,
+ default = ":feature_module_validation.sh",
+ ),
+)