diff --git a/.bazelci/presubmit.yml b/.bazelci/presubmit.yml index 0e06c8e12..4ac30d232 100644 --- a/.bazelci/presubmit.yml +++ b/.bazelci/presubmit.yml @@ -221,3 +221,4 @@ tasks: build_targets: - "//java/com/basicapp:basic_app" +buildifier: latest diff --git a/.buildifier.json b/.buildifier.json new file mode 100644 index 000000000..2247626a4 --- /dev/null +++ b/.buildifier.json @@ -0,0 +1,5 @@ +{ + "buildifier_disable": [ + "sortLoadStatements" + ] +} diff --git a/WORKSPACE b/WORKSPACE index c5a3ae913..2654d5664 100644 --- a/WORKSPACE +++ b/WORKSPACE @@ -1,18 +1,20 @@ workspace(name = "rules_android") load("@bazel_tools//tools/build_defs/repo:utils.bzl", "maybe") - load("prereqs.bzl", "rules_android_prereqs") rules_android_prereqs(dev_mode = True) load("@bazel_features//:deps.bzl", "bazel_features_deps") + bazel_features_deps() load("@rules_cc//cc:extensions.bzl", "compatibility_proxy_repo") + compatibility_proxy_repo() load("@rules_java//java:rules_java_deps.bzl", "rules_java_dependencies") + rules_java_dependencies() # note that the following line is what is minimally required from protobuf for the java rules diff --git a/android/rules.bzl b/android/rules.bzl index 8a09c0e6b..dfa010a20 100644 --- a/android/rules.bzl +++ b/android/rules.bzl @@ -53,7 +53,6 @@ load( "//rules/android_local_test:rule.bzl", _android_local_test = "android_local_test", ) - load( "//rules/android_sdk_repository:rule.bzl", _android_sdk_repository = "android_sdk_repository", diff --git a/bzlmod_extensions/apksig.BUILD b/bzlmod_extensions/apksig.BUILD index ae35cc17f..e14c13564 100644 --- a/bzlmod_extensions/apksig.BUILD +++ b/bzlmod_extensions/apksig.BUILD @@ -1,5 +1,5 @@ # Defines targets for the apksigner build tool. -load("@rules_java//java:defs.bzl", "java_binary", "java_library", "java_test") +load("@rules_java//java:defs.bzl", "java_binary") java_binary( name = "apksigner", diff --git a/bzlmod_extensions/com_android_dex.BUILD b/bzlmod_extensions/com_android_dex.BUILD index f3aa6418d..42bef0e6e 100644 --- a/bzlmod_extensions/com_android_dex.BUILD +++ b/bzlmod_extensions/com_android_dex.BUILD @@ -5,4 +5,4 @@ java_library( name = "dex", srcs = glob(["dx/src/com/android/dex/**"]), visibility = ["//visibility:public"], -) \ No newline at end of file +) diff --git a/defs.bzl b/defs.bzl index a090061bc..a05cf5b7f 100644 --- a/defs.bzl +++ b/defs.bzl @@ -42,11 +42,12 @@ def rules_android_workspace(): # put anything into @maven for WORKSPACE mode. maven_install( name = "maven", - artifacts = PROTOBUF_MAVEN_ARTIFACTS, # protobuf maven deps - repositories = [ # protobuf maven deps - "https://repo1.maven.org/maven2", # protobuf maven deps - "https://maven.google.com", # protobuf maven deps - ], # protobuf maven deps + artifacts = PROTOBUF_MAVEN_ARTIFACTS, # protobuf maven deps + repositories = [ + # protobuf maven deps + "https://repo1.maven.org/maven2", # protobuf maven deps + "https://maven.google.com", # protobuf maven deps + ], # protobuf maven deps ) bazel_skylib_workspace() @@ -153,7 +154,8 @@ def rules_android_workspace(): # All lines in the artifacts list must be tagged "bazel worker api" for # the presubmit maven artifact consistency checker to pass. name = "bazel_worker_maven", - artifacts = [ # bazel worker api + artifacts = [ + # bazel worker api "com.google.code.gson:gson:2.10.1", # bazel worker api "com.google.errorprone:error_prone_annotations:2.23.0", # bazel worker api "com.google.guava:guava:33.0.0-jre", # bazel worker api diff --git a/examples/basicapp/BUILD b/examples/basicapp/BUILD index a09fce916..282d6d35b 100644 --- a/examples/basicapp/BUILD +++ b/examples/basicapp/BUILD @@ -1 +1 @@ -# Empty build file to satisfy gazelle for rules_go. \ No newline at end of file +# Empty build file to satisfy gazelle for rules_go. diff --git a/examples/basicapp/MODULE.bazel b/examples/basicapp/MODULE.bazel index d3425031b..eae1153f5 100644 --- a/examples/basicapp/MODULE.bazel +++ b/examples/basicapp/MODULE.bazel @@ -5,13 +5,11 @@ module( bazel_dep(name = "rules_java", version = "9.0.3") bazel_dep(name = "bazel_skylib", version = "1.8.1") bazel_dep(name = "rules_jvm_external", version = "6.7") - bazel_dep( name = "rules_android", version = "0.7.3", ) - # Local override to enable this app to be used for rules_android presubmit # integration testing. If you're basing your app's MODULE file on this # example, you do *not* need the following override. @@ -22,7 +20,8 @@ local_path_override( remote_android_extensions = use_extension( "@rules_android//bzlmod_extensions:android_extensions.bzl", - "remote_android_tools_extensions") + "remote_android_tools_extensions", +) use_repo(remote_android_extensions, "android_tools") android_sdk_repository_extension = use_extension("@rules_android//rules/android_sdk_repository:rule.bzl", "android_sdk_repository_extension") diff --git a/examples/basicapp/WORKSPACE b/examples/basicapp/WORKSPACE index 3f4d9342f..b18fa89a1 100644 --- a/examples/basicapp/WORKSPACE +++ b/examples/basicapp/WORKSPACE @@ -1,44 +1,56 @@ local_repository( name = "rules_android", - path = "../..", # rules_android's WORKSPACE relative to this inner workspace + path = "../..", # rules_android's WORKSPACE relative to this inner workspace ) # --SNIP--: Everything below this line goes into the example WORKSPACE snippet in the release notes. # Android rules dependencies load("@rules_android//:prereqs.bzl", "rules_android_prereqs") + rules_android_prereqs() load("@bazel_features//:deps.bzl", "bazel_features_deps") + bazel_features_deps() load("@rules_cc//cc:extensions.bzl", "compatibility_proxy_repo") + compatibility_proxy_repo() ##### rules_java setup for rules_android ##### load("@rules_java//java:rules_java_deps.bzl", "rules_java_dependencies") + rules_java_dependencies() # note that the following line is what is minimally required from protobuf for the java rules # consider using the protobuf_deps() public API from @com_google_protobuf//:protobuf_deps.bzl load("@com_google_protobuf//bazel/private:proto_bazel_features.bzl", "proto_bazel_features") # buildifier: disable=bzl-visibility + proto_bazel_features(name = "proto_bazel_features") + # register toolchains load("@rules_java//java:repositories.bzl", "rules_java_toolchains") + rules_java_toolchains() ##### rules_jvm_external setup for rules_android ##### load("@rules_jvm_external//:repositories.bzl", "rules_jvm_external_deps") + rules_jvm_external_deps() + load("@rules_jvm_external//:setup.bzl", "rules_jvm_external_setup") + rules_jvm_external_setup() ##### rules_android setup ##### load("@rules_android//:defs.bzl", "rules_android_workspace") + rules_android_workspace() # Android SDK setup load("@rules_android//rules:rules.bzl", "android_sdk_repository") + android_sdk_repository( name = "androidsdk", ) diff --git a/examples/basicapp/java/com/basicapp/BUILD b/examples/basicapp/java/com/basicapp/BUILD index 5d65d8fc1..a191f6a31 100644 --- a/examples/basicapp/java/com/basicapp/BUILD +++ b/examples/basicapp/java/com/basicapp/BUILD @@ -1,8 +1,8 @@ load( "@rules_android//android:rules.bzl", - "android_binary", - "android_library", - "android_application", + "android_application", + "android_binary", + "android_library", ) android_binary( diff --git a/mobile_install/adapters/java_lite_proto_library.bzl b/mobile_install/adapters/java_lite_proto_library.bzl index 3be26f486..4a5d78a46 100644 --- a/mobile_install/adapters/java_lite_proto_library.bzl +++ b/mobile_install/adapters/java_lite_proto_library.bzl @@ -28,11 +28,11 @@ def _aspect_attrs(): """Attrs of the rule requiring traversal by the aspect.""" return ["deps", "_aspect_proto_toolchain_for_javalite", "_proto_toolchain_for_javalite"] -def _adapt(target, ctx): +def _adapt(_target, ctx): """Adapts the rule and target data. Args: - target: The target. + _target: The target. ctx: The context. Returns: diff --git a/mobile_install/apks.bzl b/mobile_install/apks.bzl index 56fbeebe8..7f35b36b4 100644 --- a/mobile_install/apks.bzl +++ b/mobile_install/apks.bzl @@ -106,7 +106,26 @@ def make_split_apks( key_rotation_min_sdk, zipalign_alignment, sibling): - """Create a split for each dex and for resources""" + """Create a split for each dex and for resources. + + Args: + ctx: The context. + manifest: The merged AndroidManifest.xml. + r_dex: The generated R dex artifact. + dexes: A list of dex artifacts to package as splits. + resource_apk: The resource APK. + jar_resources: Java resource jars to package. + native_zips: Native library zips to package. + swigdeps_file: A generated SWIG deps file. + debug_signing_keys: Debug keystores used to sign APKs. + debug_signing_lineage_file: File containing the signing lineage. + key_rotation_min_sdk: Minimum API level to rotate signing keys for. + zipalign_alignment: Zip alignment used before signing. + sibling: The file used to root generated outputs. + + Returns: + A tuple of the manifest package-name file and the generated split APKs. + """ manifest_package_name = utils.isolated_declare_file(ctx, "manifest_package_name.txt", sibling = sibling) manifests = {} artifacts = {} diff --git a/mobile_install/constants.bzl b/mobile_install/constants.bzl index 755b24056..d4d50bf39 100644 --- a/mobile_install/constants.bzl +++ b/mobile_install/constants.bzl @@ -21,7 +21,7 @@ constants = struct( EMPTY_LIST = [], EMPTY_DICT = dict(), - # Skylark Types + # Starlark Types TYPE_DEPSET = type(depset()), TYPE_DICT = type(dict()), TYPE_LIST = type([]), diff --git a/mobile_install/mi.bzl b/mobile_install/mi.bzl index c98b5b2cc..d53ac98b1 100644 --- a/mobile_install/mi.bzl +++ b/mobile_install/mi.bzl @@ -57,7 +57,9 @@ def make_aspect( dex_shards: Number of dex shards to split the project across. is_cmd: A Boolean, when True the aspect is running in the context of the mobile-install command. If False it is as a rule (e.g. mi_test). + is_test: Whether the aspect is running for a test rule. res_shards: Number of Android resource shards during processing. + tools: Tool attributes to attach to the aspect. Returns: A configured aspect. """ diff --git a/mobile_install/process.bzl b/mobile_install/process.bzl index baefd1a39..ec3b88f91 100644 --- a/mobile_install/process.bzl +++ b/mobile_install/process.bzl @@ -58,6 +58,7 @@ def process( debug_signing_keys: Debug keystores to be used to sign the apk. debug_signing_lineage_file: File containing the signing lineage. key_rotation_min_sdk: String of the minimum API level to rotate signing keys for. + zipalign_alignment: Zip alignment used before signing. apk: The generated apk for the app. sibling: The path to the launcher file. diff --git a/mobile_install/resources.bzl b/mobile_install/resources.bzl index e0babcfb6..58240775a 100644 --- a/mobile_install/resources.bzl +++ b/mobile_install/resources.bzl @@ -51,7 +51,15 @@ res_types = [ ] def get_assets_dir(asset, base_dir): - """Build the full assets directory sanitizing the input first.""" + """Build the full assets directory sanitizing the input first. + + Args: + asset: The asset file or directory. + base_dir: The base assets directory. + + Returns: + The sanitized assets directory path. + """ if base_dir == "": # some targets specify assets files and set assets_dirs = "" return asset.dirname diff --git a/mobile_install/tools_common.bzl b/mobile_install/tools_common.bzl index 7a5312ebe..ad1880e86 100644 --- a/mobile_install/tools_common.bzl +++ b/mobile_install/tools_common.bzl @@ -113,7 +113,6 @@ TOOL_ATTRS = dict( executable = True, ), - # Versioned Host Attrs _android_kit = attr.label( default = versioned_deps.android_kit.head, @@ -163,5 +162,4 @@ TOOL_ATTRS = dict( allow_single_file = True, default = versioned_deps.res_v3_dummy_r_txt.head, ), - ) diff --git a/mobile_install/transform.bzl b/mobile_install/transform.bzl index 61f6aa660..1ef9f5807 100644 --- a/mobile_install/transform.bzl +++ b/mobile_install/transform.bzl @@ -131,7 +131,7 @@ def merge_dex_shards(ctx, data, sibling): action per shard that runs dex_shard_merger on all dex files within that shard. - Arguments: + Args: ctx: The context. data: A list of lists, where the inner list contains dex shards. sibling: A file used to root the merged_dex shards. diff --git a/mobile_install/utils.bzl b/mobile_install/utils.bzl index 1a8e16ebd..a069ba464 100644 --- a/mobile_install/utils.bzl +++ b/mobile_install/utils.bzl @@ -17,6 +17,7 @@ load("//rules:min_sdk_version.bzl", _min_sdk_version = "min_sdk_version") load("//rules:visibility.bzl", "PROJECT_VISIBILITY") load("//rules/flags:flags.bzl", "flags") load("@rules_java//java/common:java_common.bzl", "java_common") + # Copybara: placeholder for GeneratedExtensionRegistryInfo load load("//tools/jdk:jvmopts.bzl", "BASE_JVMOPTS") load(":constants.bzl", "constants") @@ -273,7 +274,6 @@ def merge_dex_shards( """ args = ctx.actions.args() - args.add("--multidex", "best_effort") args.add("--output", out_dex_zip.path) args.add_all(dex_archives, before_each = "--input") @@ -340,7 +340,7 @@ def _extract_package_name(ctx, apk, package_name_output_file): progress_message = "MI Extracts the package name from %s" % apk.path, ) -def _get_extension_registry_class_jar(target): +def _get_extension_registry_class_jar(target): # @unused class_jar = None return class_jar diff --git a/prereqs.bzl b/prereqs.bzl index 951ef58d3..36d069ac3 100644 --- a/prereqs.bzl +++ b/prereqs.bzl @@ -19,7 +19,11 @@ load("//bzlmod_extensions:apksig.bzl", _apksig_archive = "apksig") load("//bzlmod_extensions:com_android_dex.bzl", _com_android_dex_archive = "com_android_dex") def rules_android_prereqs(dev_mode = False): - """Downloads prerequisite repositories for rules_android.""" + """Downloads prerequisite repositories for rules_android. + + Args: + dev_mode: Whether to include development dependencies. + """ maybe( http_archive, diff --git a/providers/providers.bzl b/providers/providers.bzl index d29f361fd..a87e7b9ce 100644 --- a/providers/providers.bzl +++ b/providers/providers.bzl @@ -17,8 +17,6 @@ load("//rules:visibility.bzl", "PROJECT_VISIBILITY") visibility(PROJECT_VISIBILITY) - - AndroidAppsInfo = provider( doc = "Provides information about app to install.", fields = dict( @@ -26,11 +24,6 @@ AndroidAppsInfo = provider( ), ) - - - - - AndroidFilteredJdepsInfo = provider( doc = "Provides a filtered jdeps proto.", fields = dict( @@ -114,7 +107,6 @@ AndroidFeatureModuleInfo = provider( ), ) - Dex2OatApkInfo = provider( doc = "Contains data about artifacts generated through host dex2oat.", fields = dict( @@ -133,6 +125,7 @@ InstrumentedAppInfo = provider( ) FailureInfo = provider( + doc = "Provides failure information.", fields = dict( error = "Error message", ), diff --git a/rules/acls.bzl b/rules/acls.bzl index ddab3bd1e..b53fc8e08 100644 --- a/rules/acls.bzl +++ b/rules/acls.bzl @@ -302,11 +302,21 @@ BYTECODE_TRANSFORMERS_DICT = make_dict(BYTECODE_TRANSFORMERS) AAR_IMPORT_PROPAGATE_NATIVE_LIBS_FALLBACK_DICT = make_dict(AAR_IMPORT_PROPAGATE_NATIVE_LIBS_FALLBACK) def matches(fqn, dct): + """Returns whether a fully qualified label matches an ACL dictionary. + + Args: + fqn: The fully qualified label to match. + dct: The ACL dictionary. + + Returns: + True if the label matches the ACL dictionary. + """ + # Labels with workspace names ("@workspace//pkg:target") are not supported. # For now, default external dependency ACLs to True to enable rollout features for all # external users. See https://github.com/bazelbuild/rules_android/issues/68 # Note that this only affects Bazel builds with OSS rules_android. - if fqn.startswith("@") and not fqn.startswith("@//") and not fqn.startswith("@@//"): + if fqn.startswith("@") and not fqn.startswith("@//") and not fqn.startswith("@@//"): # buildifier: disable=canonical-repository return True # "@//" is the same as the main workspace. It's not completely accurate to treat these as @@ -317,7 +327,7 @@ def matches(fqn, dct): fqn = fqn[1:] # "@@//" refers to the canonical name of the main repository. - if fqn.startswith("@@//"): + if fqn.startswith("@@//"): # buildifier: disable=canonical-repository fqn = fqn[2:] if not fqn.startswith("//"): diff --git a/rules/android_application/android_feature_module_rule.bzl b/rules/android_application/android_feature_module_rule.bzl index 2b5600826..986c46e12 100644 --- a/rules/android_application/android_feature_module_rule.bzl +++ b/rules/android_application/android_feature_module_rule.bzl @@ -91,6 +91,7 @@ android_feature_module = rule( _skylark_testable = True, ) +# buildifier: disable=unnamed-macro def get_feature_module_paths(fqn): # Given a fqn to an android_feature_module, returns the absolute paths to # all implicitly generated targets diff --git a/rules/android_application/attrs.bzl b/rules/android_application/attrs.bzl index 42116bec7..f9e601ae9 100644 --- a/rules/android_application/attrs.bzl +++ b/rules/android_application/attrs.bzl @@ -67,7 +67,7 @@ ANDROID_APPLICATION_ATTRS = _attrs.add( ), _merge_manifests = attr.label( default = ":merge_feature_manifests", - allow_single_file = None, # True for google3 + allow_single_file = None, # True for google3 cfg = "exec", executable = True, ), diff --git a/rules/android_binary/impl.bzl b/rules/android_binary/impl.bzl index 5461f171f..5185e6d83 100644 --- a/rules/android_binary/impl.bzl +++ b/rules/android_binary/impl.bzl @@ -73,7 +73,7 @@ def _base_validations_processor(ctx, **_unused_ctxs): ), ) -def _process_manifest(ctx, **unused_ctxs): +def _process_manifest(ctx, **_unused_ctxs): manifest_ctx = _resources.bump_min_sdk( ctx, manifest = ctx.file.manifest, @@ -86,7 +86,7 @@ def _process_manifest(ctx, **unused_ctxs): value = manifest_ctx, ) -def _process_resources(ctx, manifest_ctx, java_package, **unused_ctxs): +def _process_resources(ctx, manifest_ctx, java_package, **_unused_ctxs): resource_apks = [] for apk in utils.collect_providers(StarlarkApkInfo, ctx.attr.resource_apks): resource_apks.append(apk.signed_apk) @@ -130,7 +130,7 @@ def _process_resources(ctx, manifest_ctx, java_package, **unused_ctxs): value = packaged_resources_ctx, ) -def _validate_manifest(ctx, packaged_resources_ctx, manifest_ctx, **unused_ctxs): +def _validate_manifest(ctx, packaged_resources_ctx, manifest_ctx, **_unused_ctxs): validation_outputs = [] manifest_validation_output = _resources.validate_manifest( @@ -250,7 +250,7 @@ def _process_jvm(ctx, db_ctx, packaged_resources_ctx, proto_ctx, stamp_ctx, **_u ), ) -def _process_build_info(_unused_ctx, **unused_ctxs): +def _process_build_info(_unused_ctx, **_unused_ctxs): return ProviderInfo( name = "build_info_ctx", value = struct( diff --git a/rules/android_library/impl.bzl b/rules/android_library/impl.bzl index 4e00bb86a..708e21af5 100644 --- a/rules/android_library/impl.bzl +++ b/rules/android_library/impl.bzl @@ -119,13 +119,13 @@ def _validate_rule_context(ctx): enable_deps_without_srcs = _check_deps_without_java_srcs(ctx), ) -def _exceptions_processor(ctx, **unused_ctxs): +def _exceptions_processor(ctx, **_unused_ctxs): return ProviderInfo( name = "exceptions_ctx", value = _validate_rule_context(ctx), ) -def _process_manifest(ctx, **unused_ctxs): +def _process_manifest(ctx, **_unused_ctxs): manifest_ctx = _resources.bump_min_sdk( ctx, manifest = ctx.file.manifest, @@ -136,7 +136,7 @@ def _process_manifest(ctx, **unused_ctxs): value = manifest_ctx, ) -def _process_localized_resources(ctx, **unused_ctxs): +def _process_localized_resources(ctx, **_unused_ctxs): return ProviderInfo( name = "localized_ctx", value = struct( @@ -145,7 +145,7 @@ def _process_localized_resources(ctx, **unused_ctxs): ), ) -def _process_resources(ctx, java_package, manifest_ctx, localized_ctx, **unused_ctxs): +def _process_resources(ctx, java_package, manifest_ctx, localized_ctx, **_unused_ctxs): # exports_manifest can be overridden by a bazel flag. if ctx.attr.exports_manifest == _attrs.tristate.auto: exports_manifest = ctx.fragments.android.get_exports_manifest_default @@ -203,7 +203,7 @@ def _process_resources(ctx, java_package, manifest_ctx, localized_ctx, **unused_ value = resources_ctx, ) -def _process_idl(ctx, **unused_sub_ctxs): +def _process_idl(ctx, **_unused_sub_ctxs): return ProviderInfo( name = "idl_ctx", value = _idl.process( @@ -223,7 +223,7 @@ def _process_idl(ctx, **unused_sub_ctxs): ), ) -def _process_data_binding(ctx, java_package, resources_ctx, **unused_sub_ctxs): +def _process_data_binding(ctx, java_package, resources_ctx, **_unused_sub_ctxs): if ctx.attr.enable_data_binding and not acls.in_databinding_allowed(str(ctx.label)): fail("This target is not allowed to use databinding and enable_data_binding is True.") return ProviderInfo( @@ -244,7 +244,7 @@ def _process_data_binding(ctx, java_package, resources_ctx, **unused_sub_ctxs): ), ) -def _process_proguard(ctx, idl_ctx, **unused_sub_ctxs): +def _process_proguard(ctx, idl_ctx, **_unused_sub_ctxs): return ProviderInfo( name = "proguard_ctx", value = _proguard.process_specs( @@ -261,7 +261,7 @@ def _process_proguard(ctx, idl_ctx, **unused_sub_ctxs): ), ) -def _process_jvm(ctx, exceptions_ctx, resources_ctx, idl_ctx, db_ctx, **unused_sub_ctxs): +def _process_jvm(ctx, exceptions_ctx, resources_ctx, idl_ctx, db_ctx, **_unused_sub_ctxs): java_info = _java.compile_android( ctx, ctx.outputs.lib_jar, @@ -297,7 +297,7 @@ def _process_jvm(ctx, exceptions_ctx, resources_ctx, idl_ctx, db_ctx, **unused_s ), ) -def _process_lint_rules(ctx, **unused_sub_ctxs): +def _process_lint_rules(ctx, **_unused_sub_ctxs): providers = [] if acls.in_enable_exported_lint_checks(str(ctx.label)): # Propagate Lint rule Jars from any exported AARs (b/229993446) @@ -318,7 +318,7 @@ def _process_lint_rules(ctx, **unused_sub_ctxs): ), ) -def _process_aar(ctx, resources_ctx, proguard_ctx, **unused_ctx): +def _process_aar(ctx, resources_ctx, proguard_ctx, **_unused_ctx): aar_ctx = { _PROVIDERS: [], _VALIDATION_OUTPUTS: [], @@ -358,7 +358,7 @@ def _process_aar(ctx, resources_ctx, proguard_ctx, **unused_ctx): value = _AARContextInfo(**aar_ctx), ) -def _process_native(ctx, idl_ctx, **unused_ctx): +def _process_native(ctx, idl_ctx, **_unused_ctx): return ProviderInfo( name = "native_ctx", value = struct( @@ -381,7 +381,7 @@ def _process_native(ctx, idl_ctx, **unused_ctx): ), ) -def _process_intellij(ctx, java_package, manifest_ctx, resources_ctx, idl_ctx, jvm_ctx, **unused_sub_ctxs): +def _process_intellij(ctx, java_package, manifest_ctx, resources_ctx, idl_ctx, jvm_ctx, **_unused_sub_ctxs): android_ide_info = _intellij.make_android_ide_info( ctx, java_package = java_package, @@ -409,7 +409,7 @@ def _process_intellij(ctx, java_package, manifest_ctx, resources_ctx, idl_ctx, j ), ) -def _process_coverage(ctx, **unused_ctx): +def _process_coverage(ctx, **_unused_ctx): return ProviderInfo( name = "coverage_ctx", value = struct( @@ -424,7 +424,7 @@ def _process_coverage(ctx, **unused_ctx): ), ) -def _process_baseline_profiles(ctx, **unused_ctx): +def _process_baseline_profiles(ctx, **_unused_ctx): return ProviderInfo( name = "bp_ctx", value = struct( @@ -464,18 +464,17 @@ def finalize( proguard_ctx, providers, validation_outputs, - **unused_ctxs): + **_unused_ctxs): """Creates the DefaultInfo and OutputGroupInfo providers. Args: ctx: The context. resources_ctx: ProviderInfo. The resources ctx. - intellij_ctx: ProviderInfo. The intellij ctx. jvm_ctx: ProviderInfo. The jvm ctx. proguard_ctx: ProviderInfo. The proguard ctx. providers: sequence of providers. The providers to propagate. validation_outputs: sequence of Files. The validation outputs. - **unused_ctxs: Unused ProviderInfo. + **_unused_ctxs: Unused ProviderInfo. Returns: A struct with Android and Java legacy providers and a list of providers. diff --git a/rules/android_local_test.bzl b/rules/android_local_test.bzl index 7af1ef09a..6e18744ec 100644 --- a/rules/android_local_test.bzl +++ b/rules/android_local_test.bzl @@ -23,4 +23,6 @@ def android_local_test(**attrs): Args: **attrs: Rule attributes """ + + # buildifier: disable=native-android native.android_local_test(**_add_migration_tag(attrs)) diff --git a/rules/android_local_test/BUILD b/rules/android_local_test/BUILD index 6284b0312..30e573603 100644 --- a/rules/android_local_test/BUILD +++ b/rules/android_local_test/BUILD @@ -26,7 +26,7 @@ bzl_library( "//rules:min_sdk_version_bzl", "//rules:visibility_bzl", "//rules/flags:bzl", - "@rules_java//java/common", "@bazel_skylib//rules:common_settings", + "@rules_java//java/common", ], ) diff --git a/rules/android_local_test/rule.bzl b/rules/android_local_test/rule.bzl index 059653fe0..1dd60cfa8 100644 --- a/rules/android_local_test/rule.bzl +++ b/rules/android_local_test/rule.bzl @@ -30,6 +30,7 @@ def make_rule( Args: attrs: A dict. The attributes for the rule. implementation: A function. The rule's implementation method. + additional_toolchains: A list. Additional toolchains passed to rule(toolchains). Returns: A rule. diff --git a/rules/android_sdk_repository/rule.bzl b/rules/android_sdk_repository/rule.bzl index 34de2b53e..2879c534b 100644 --- a/rules/android_sdk_repository/rule.bzl +++ b/rules/android_sdk_repository/rule.bzl @@ -41,7 +41,6 @@ _DIRS_TO_LINK = [ _MIN_BUILD_TOOLS_VERSION = parse_android_revision("35.0.0") - def _readdir_only_dirs(dir_path): """Calls starlark path#readdir(), but skips non-directory paths. @@ -132,7 +131,7 @@ def _android_sdk_repository_impl(repo_ctx): # Determine default SDK level. parsed_default_api_levels = [parse_android_revision(api_level) for api_level in api_levels] - default_api_level = max(parsed_default_api_levels, key=lambda level: ( + default_api_level = max(parsed_default_api_levels, key = lambda level: ( level.major, level.minor, level.micro, diff --git a/rules/attrs.bzl b/rules/attrs.bzl index fbe58fe81..eea560bcf 100644 --- a/rules/attrs.bzl +++ b/rules/attrs.bzl @@ -13,7 +13,6 @@ # limitations under the License. """Common attributes for Android rules.""" -load("//providers:providers.bzl", "ApkInfo") load("//rules:android_split_transition.bzl", "android_transition") load("//rules:visibility.bzl", "PROJECT_VISIBILITY") load("@rules_cc//cc/common:cc_info.bzl", "CcInfo") @@ -97,7 +96,6 @@ _ANDROID_SDK = dict( ), ) - # Compilation attributes for Android rules. def _compilation_attributes(apply_android_transition = False): return _add( @@ -212,7 +210,6 @@ _DATA_CONTEXT = _add( _ANDROID_SDK, ) - # Attributes for rules that produce an Android binary. # NOTE: this is unused by the actual android_binary impl, and at this stage is only # really used by a couple tests. We should clean it up at some point. @@ -383,9 +380,6 @@ ANDROID_BINARY_ATTRS = _add( _DATA_CONTEXT, ) - - - ANDROID_SDK_ATTRS = dict( aapt = attr.label( allow_files = True, diff --git a/rules/baseline_profiles.bzl b/rules/baseline_profiles.bzl index c6f0359e9..e0f90f1e6 100644 --- a/rules/baseline_profiles.bzl +++ b/rules/baseline_profiles.bzl @@ -118,6 +118,7 @@ def _process_art_profile( ctx: The context. final_classes_dex: File. Final classes zip artifact. merged_profile: File. The merged profile from transitive baseline profile files. + output_primary_profile: File. The primary profile output. proguard_output_map: File. Optional. The proguard output mapping file. profgen: FilesToRunProvider. The profgen executable for profile compilation. toolchain_type: Label or String. Toolchain type of the executable used in actions. diff --git a/rules/bundletool.bzl b/rules/bundletool.bzl index f6c5cbcae..1f1433a92 100644 --- a/rules/bundletool.bzl +++ b/rules/bundletool.bzl @@ -253,7 +253,7 @@ def _build_sdk_module( out = None, internal_apk = None, bundletool_module_builder = None, - host_javabase = None): + host_javabase = None): # @unused args = ctx.actions.args() args.add("--internal_apk_path", internal_apk) args.add("--output_module_path", out) diff --git a/rules/busybox.bzl b/rules/busybox.bzl index 64f5c8a96..820105f18 100644 --- a/rules/busybox.bzl +++ b/rules/busybox.bzl @@ -295,6 +295,7 @@ def _package( code and resources by instructing AAPT2 to emit conditional Proguard keep rules. version_name: A string. The version name to stamp the generated manifest with. Optional. version_code: A string. The version code to stamp the generated manifest with. Optional. + feature_flags: Feature flag values to pass to aapt2. crunch_png: A boolean. Determines whether `aapt2 compile` should crunch PNG files. android_jar: A File. The Android Jar. aapt: A FilesToRunProvider. The AAPT executable. @@ -607,6 +608,7 @@ def _validate_and_link( compiled resources from the transitive dependencies of this target. java_package: A string. The Java package for the generated R.java. manifest: A File. The AndroidManifest.xml. + feature_flags: Feature flag values to pass to aapt2. resource_apks: List of direct resource only apk files. android_jar: A File. The Android Jar. busybox: A FilesToRunProvider. The ResourceProcessorBusyBox executable. @@ -1057,6 +1059,9 @@ def _generate_binary_r( final_fields: Bool. Whether fields get declared as final. use_r_package: Bool. Whether fields should be generated with an RPackage class. Used for privacy sandbox. + resources_nodes: Depset of resources node providers. + transitive_r_txts: Transitive R.txt files to include. + transitive_manifests: Transitive manifests to include. busybox: FilesToRunProvider. The ResourceBusyBox executable or FilesToRunprovider host_javabase: A Target. The host javabase. diff --git a/rules/dex.bzl b/rules/dex.bzl index 96ea2a8ff..f22c429e7 100644 --- a/rules/dex.bzl +++ b/rules/dex.bzl @@ -463,6 +463,7 @@ def _optimizing_dex( globals_output: File. A file to store information about global singletons generated by the dexer. incremental_dexopts: List of strings. Additional command-line flags for the dexing tool when building dexes. min_sdk_version: Integer. The minimum targeted sdk version. + library_jar: File. Optional library jar used by the optimizing dexer. dex_exec: File. The executable dex builder file. min_sdk_config: File. Contains a ProGuard config to define the min-sdk generated from the manifest. toolchain_type: The Android toolchain. diff --git a/rules/dex_desugar_aspect.bzl b/rules/dex_desugar_aspect.bzl index 32a73f4fc..b71761b9d 100644 --- a/rules/dex_desugar_aspect.bzl +++ b/rules/dex_desugar_aspect.bzl @@ -65,7 +65,7 @@ def get_aspect_deps(ctx): if attr == "deps" and hasattr(ctx, "split_attr"): deps = _utils.dedupe_split_attr(ctx.split_attr.deps) elif attr == "_toolchain" and getattr(ctx, "kind", "") == "kt_jvm_toolchain": - pass # TODO(b/370300302): Prevent double-deps on Kotlin toolchain. Delete when fixed. + deps = [] # TODO(b/370300302): Prevent double-deps on Kotlin toolchain. Delete when fixed. else: deps = getattr(ctx.attr, attr, []) diff --git a/rules/flags/additional_flags.bzl b/rules/flags/additional_flags.bzl index 687ff9f00..e4a81d2f7 100644 --- a/rules/flags/additional_flags.bzl +++ b/rules/flags/additional_flags.bzl @@ -16,7 +16,6 @@ load("@bazel_skylib//rules:common_settings.bzl", "string_flag") def additional_flags(): - # Determines the order of manifest merging. 'dependency' means the order # of 'deps', and 'legacy' means the legacy alphabetizing and inverted # direct/transitive order. @@ -28,4 +27,4 @@ def additional_flags(): "dependency", ], visibility = ["//visibility:public"], - ) \ No newline at end of file + ) diff --git a/rules/flags/flag_defs.bzl b/rules/flags/flag_defs.bzl index 5dde68d51..b6488e887 100644 --- a/rules/flags/flag_defs.bzl +++ b/rules/flags/flag_defs.bzl @@ -19,6 +19,8 @@ load("//rules/flags:flags.bzl", "flags") visibility(PROJECT_VISIBILITY) def define_flags(): + """Defines rules_android feature flags.""" + flags.DEFINE_bool( name = "android_enable_res_v3", default = False, @@ -82,7 +84,6 @@ def define_flags(): description = "", ) - flags.DEFINE_bool( name = "use_studio_deployer", default = True, diff --git a/rules/flags/flags.bzl b/rules/flags/flags.bzl index 6a8d4f7bb..8c76721a1 100644 --- a/rules/flags/flags.bzl +++ b/rules/flags/flags.bzl @@ -41,6 +41,8 @@ _IntFlagInfo = provider( value = "flag value", ), ) + +# buildifier: disable=provider-params FlagsInfo = provider( doc = "Provides all flags", ) diff --git a/rules/instrumented_app_info_aspect.bzl b/rules/instrumented_app_info_aspect.bzl index c20edf116..a8f11deda 100644 --- a/rules/instrumented_app_info_aspect.bzl +++ b/rules/instrumented_app_info_aspect.bzl @@ -18,7 +18,7 @@ load("//rules:visibility.bzl", "PROJECT_VISIBILITY") visibility(PROJECT_VISIBILITY) -def _impl(unused_target, ctx): +def _impl(_target, ctx): if hasattr(ctx.rule.attr, "instruments") and ctx.rule.attr.instruments and AndroidIdeInfo in ctx.rule.attr.instruments: return [InstrumentedAppInfo(android_ide_info = ctx.rule.attr.instruments[AndroidIdeInfo])] return [] diff --git a/rules/java.bzl b/rules/java.bzl index 5259508e1..a5a041126 100644 --- a/rules/java.bzl +++ b/rules/java.bzl @@ -284,7 +284,7 @@ def _compile( annotation_processor_additional_outputs = [], annotation_processor_additional_inputs = [], neverlink = False, - constraints = [], + constraints = [], # @unused strict_deps = "Error", java_toolchain = None): """Compiles the Java and IDL sources for Android. diff --git a/rules/migration_tag_DONOTUSE.bzl b/rules/migration_tag_DONOTUSE.bzl index d023b5893..33513cdc1 100644 --- a/rules/migration_tag_DONOTUSE.bzl +++ b/rules/migration_tag_DONOTUSE.bzl @@ -11,7 +11,7 @@ # 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. -"""Bazel component for the Android Skylark Migration.""" +"""Bazel component for the Android Starlark Migration.""" load("//rules:visibility.bzl", "PROJECT_VISIBILITY") diff --git a/rules/resources.bzl b/rules/resources.bzl index 98d824bed..fb3e893c4 100644 --- a/rules/resources.bzl +++ b/rules/resources.bzl @@ -491,7 +491,7 @@ def _package( should_throw_on_conflict = True, enable_data_binding = False, enable_manifest_merging = True, - should_compile_java_srcs = True, + should_compile_java_srcs = True, # @unused generate_minsdk_proguard_config = False, build_java_with_final_resources = False, generate_out_symbols = True, @@ -1164,9 +1164,9 @@ def _process( crunch_png = True, aapt = None, android_jar = None, - android_kit = None, + android_kit = None, # @unused busybox = None, - java_toolchain = None, + java_toolchain = None, # @unused host_javabase = None, instrument_xslt = None, xsltproc = None, diff --git a/rules/rules.bzl b/rules/rules.bzl index 8a09c0e6b..dfa010a20 100644 --- a/rules/rules.bzl +++ b/rules/rules.bzl @@ -53,7 +53,6 @@ load( "//rules/android_local_test:rule.bzl", _android_local_test = "android_local_test", ) - load( "//rules/android_sdk_repository:rule.bzl", _android_sdk_repository = "android_sdk_repository", diff --git a/rules/utils.bzl b/rules/utils.bzl index d0f5b555d..1f9233a25 100644 --- a/rules/utils.bzl +++ b/rules/utils.bzl @@ -234,15 +234,15 @@ def _copy_dir(ctx, src, dest): def _info(msg): """Print info.""" - print(_INFO % msg) + print(_INFO % msg) # buildifier: disable=print def _warn(msg): """Print warning.""" - print(_WARNING % msg) + print(_WARNING % msg) # buildifier: disable=print def _debug(msg): """Print debug.""" - print("\n%s" % msg) + print("\n%s" % msg) # buildifier: disable=print def _error(msg): """Print error and fail.""" diff --git a/src/common/golang/BUILD b/src/common/golang/BUILD index 03048a088..34b9f8856 100644 --- a/src/common/golang/BUILD +++ b/src/common/golang/BUILD @@ -1,8 +1,7 @@ # Description: # Common libraries and utilities. -load("@io_bazel_rules_go//go:def.bzl", "go_binary", "go_library", "go_test") -load("@io_bazel_rules_go//proto:def.bzl", "go_proto_library") +load("@io_bazel_rules_go//go:def.bzl", "go_library", "go_test") package( default_applicable_licenses = ["//:license"], diff --git a/src/tools/ak/BUILD b/src/tools/ak/BUILD index e1752a7af..565c7db9f 100644 --- a/src/tools/ak/BUILD +++ b/src/tools/ak/BUILD @@ -1,8 +1,7 @@ # Description: # Top level package for ak, a "busybox" for various minor build-related tools. -load("@io_bazel_rules_go//go:def.bzl", "go_binary", "go_library", "go_test") -load("@io_bazel_rules_go//proto:def.bzl", "go_proto_library") +load("@io_bazel_rules_go//go:def.bzl", "go_binary", "go_library") package( default_applicable_licenses = ["//:license"], diff --git a/src/tools/ak/bucketize/BUILD b/src/tools/ak/bucketize/BUILD index 3bf7fc08a..d4a38b7b9 100644 --- a/src/tools/ak/bucketize/BUILD +++ b/src/tools/ak/bucketize/BUILD @@ -2,7 +2,6 @@ # Package for bucketize module load("@io_bazel_rules_go//go:def.bzl", "go_binary", "go_library", "go_test") -load("@io_bazel_rules_go//proto:def.bzl", "go_proto_library") package( default_applicable_licenses = ["//:license"], diff --git a/src/tools/ak/compile/BUILD b/src/tools/ak/compile/BUILD index 4a7dea992..451d5a2ea 100644 --- a/src/tools/ak/compile/BUILD +++ b/src/tools/ak/compile/BUILD @@ -2,7 +2,6 @@ # Package for compile module load("@io_bazel_rules_go//go:def.bzl", "go_binary", "go_library", "go_test") -load("@io_bazel_rules_go//proto:def.bzl", "go_proto_library") package( default_applicable_licenses = ["//:license"], diff --git a/src/tools/ak/extractaar/BUILD b/src/tools/ak/extractaar/BUILD index f596b7dbf..447affd63 100644 --- a/src/tools/ak/extractaar/BUILD +++ b/src/tools/ak/extractaar/BUILD @@ -2,7 +2,6 @@ # Package for extractaar module load("@io_bazel_rules_go//go:def.bzl", "go_binary", "go_library", "go_test") -load("@io_bazel_rules_go//proto:def.bzl", "go_proto_library") package( default_applicable_licenses = ["//:license"], diff --git a/src/tools/ak/extractresources/BUILD b/src/tools/ak/extractresources/BUILD index 8d66696ae..450c473b8 100644 --- a/src/tools/ak/extractresources/BUILD +++ b/src/tools/ak/extractresources/BUILD @@ -2,7 +2,6 @@ # Package for the extractresources tool (formerly resource_extractor.py). load("@io_bazel_rules_go//go:def.bzl", "go_binary", "go_library", "go_test") -load("@io_bazel_rules_go//proto:def.bzl", "go_proto_library") package( default_applicable_licenses = ["//:license"], diff --git a/src/tools/ak/finalrjar/BUILD b/src/tools/ak/finalrjar/BUILD index c347db66c..63f3a7eb4 100644 --- a/src/tools/ak/finalrjar/BUILD +++ b/src/tools/ak/finalrjar/BUILD @@ -2,7 +2,6 @@ # Package for final R.jar module load("@io_bazel_rules_go//go:def.bzl", "go_binary", "go_library", "go_test") -load("@io_bazel_rules_go//proto:def.bzl", "go_proto_library") package( default_applicable_licenses = ["//:license"], diff --git a/src/tools/ak/generatemanifest/BUILD b/src/tools/ak/generatemanifest/BUILD index dc68bf565..ae8fae319 100644 --- a/src/tools/ak/generatemanifest/BUILD +++ b/src/tools/ak/generatemanifest/BUILD @@ -1,7 +1,6 @@ # Package for manifest generation module load("@io_bazel_rules_go//go:def.bzl", "go_binary", "go_library", "go_test") -load("@io_bazel_rules_go//proto:def.bzl", "go_proto_library") package( default_applicable_licenses = ["//:license"], diff --git a/src/tools/ak/link/BUILD b/src/tools/ak/link/BUILD index 6ebac6fe9..4362b9a1e 100644 --- a/src/tools/ak/link/BUILD +++ b/src/tools/ak/link/BUILD @@ -1,8 +1,7 @@ # Description: # Package for link module -load("@io_bazel_rules_go//go:def.bzl", "go_binary", "go_library", "go_test") -load("@io_bazel_rules_go//proto:def.bzl", "go_proto_library") +load("@io_bazel_rules_go//go:def.bzl", "go_binary", "go_library") package( default_applicable_licenses = ["//:license"], diff --git a/src/tools/ak/liteparse/BUILD b/src/tools/ak/liteparse/BUILD index 6eacb3f24..a6ab3181c 100644 --- a/src/tools/ak/liteparse/BUILD +++ b/src/tools/ak/liteparse/BUILD @@ -2,7 +2,6 @@ # Package for parse module load("@io_bazel_rules_go//go:def.bzl", "go_binary", "go_library", "go_test") -load("@io_bazel_rules_go//proto:def.bzl", "go_proto_library") package( default_applicable_licenses = ["//:license"], diff --git a/src/tools/ak/manifest/BUILD b/src/tools/ak/manifest/BUILD index c15dc0527..542a8ab73 100644 --- a/src/tools/ak/manifest/BUILD +++ b/src/tools/ak/manifest/BUILD @@ -1,7 +1,6 @@ # Package for manifest compilation module -load("@io_bazel_rules_go//go:def.bzl", "go_binary", "go_library", "go_test") -load("@io_bazel_rules_go//proto:def.bzl", "go_proto_library") +load("@io_bazel_rules_go//go:def.bzl", "go_binary", "go_library") package( default_applicable_licenses = ["//:license"], diff --git a/src/tools/ak/minsdkfloor/BUILD b/src/tools/ak/minsdkfloor/BUILD index b1b98b93a..41c3bcf31 100644 --- a/src/tools/ak/minsdkfloor/BUILD +++ b/src/tools/ak/minsdkfloor/BUILD @@ -2,7 +2,6 @@ # Package for tool to enforce min SDK floor on AndroidManifests load("@io_bazel_rules_go//go:def.bzl", "go_binary", "go_library", "go_test") -load("@io_bazel_rules_go//proto:def.bzl", "go_proto_library") package( default_applicable_licenses = ["//:license"], diff --git a/src/tools/ak/nativelib/BUILD b/src/tools/ak/nativelib/BUILD index 1c06b7441..38fc0b254 100644 --- a/src/tools/ak/nativelib/BUILD +++ b/src/tools/ak/nativelib/BUILD @@ -2,7 +2,6 @@ # Package for nativelib module load("@io_bazel_rules_go//go:def.bzl", "go_binary", "go_library", "go_test") -load("@io_bazel_rules_go//proto:def.bzl", "go_proto_library") package( default_applicable_licenses = ["//:license"], diff --git a/src/tools/ak/nativelib/testdata/BUILD b/src/tools/ak/nativelib/testdata/BUILD index df02afcd4..43c7fc3b4 100644 --- a/src/tools/ak/nativelib/testdata/BUILD +++ b/src/tools/ak/nativelib/testdata/BUILD @@ -1,8 +1,5 @@ # Creates test data for testing the nativelib action. -load("@io_bazel_rules_go//go:def.bzl", "go_binary", "go_library", "go_test") -load("@io_bazel_rules_go//proto:def.bzl", "go_proto_library") - package( default_applicable_licenses = ["//:license"], default_visibility = ["//src/tools/ak/nativelib:__subpackages__"], diff --git a/src/tools/ak/patch/BUILD b/src/tools/ak/patch/BUILD index 3c0d36fd7..f3851070d 100644 --- a/src/tools/ak/patch/BUILD +++ b/src/tools/ak/patch/BUILD @@ -2,7 +2,6 @@ # Package for patch module load("@io_bazel_rules_go//go:def.bzl", "go_binary", "go_library", "go_test") -load("@io_bazel_rules_go//proto:def.bzl", "go_proto_library") package( default_applicable_licenses = ["//:license"], diff --git a/src/tools/ak/repack/BUILD b/src/tools/ak/repack/BUILD index b2c4e6aea..1a72fb555 100644 --- a/src/tools/ak/repack/BUILD +++ b/src/tools/ak/repack/BUILD @@ -2,7 +2,6 @@ # Package for repack module load("@io_bazel_rules_go//go:def.bzl", "go_binary", "go_library", "go_test") -load("@io_bazel_rules_go//proto:def.bzl", "go_proto_library") package( default_applicable_licenses = ["//:license"], diff --git a/src/tools/ak/res/BUILD b/src/tools/ak/res/BUILD index d2c6d5a7b..0a62afb99 100644 --- a/src/tools/ak/res/BUILD +++ b/src/tools/ak/res/BUILD @@ -1,8 +1,7 @@ # Description: # Package for res module -load("@io_bazel_rules_go//go:def.bzl", "go_binary", "go_library", "go_test") -load("@io_bazel_rules_go//proto:def.bzl", "go_proto_library") +load("@io_bazel_rules_go//go:def.bzl", "go_library", "go_test") package( default_applicable_licenses = ["//:license"], diff --git a/src/tools/ak/res/proto/BUILD b/src/tools/ak/res/proto/BUILD index 04c8c26b0..a2f5194e1 100644 --- a/src/tools/ak/res/proto/BUILD +++ b/src/tools/ak/res/proto/BUILD @@ -1,7 +1,6 @@ # Description # Android resources proto -load("@io_bazel_rules_go//go:def.bzl", "go_binary", "go_library", "go_test") load("@io_bazel_rules_go//proto:def.bzl", "go_proto_library") load("@com_google_protobuf//bazel:proto_library.bzl", "proto_library") diff --git a/src/tools/ak/res/respipe/BUILD b/src/tools/ak/res/respipe/BUILD index 1b5445e2e..b755123fa 100644 --- a/src/tools/ak/res/respipe/BUILD +++ b/src/tools/ak/res/respipe/BUILD @@ -1,5 +1,4 @@ -load("@io_bazel_rules_go//go:def.bzl", "go_binary", "go_library", "go_test") -load("@io_bazel_rules_go//proto:def.bzl", "go_proto_library") +load("@io_bazel_rules_go//go:def.bzl", "go_library", "go_test") package(default_applicable_licenses = ["//:license"]) diff --git a/src/tools/ak/res/resxml/BUILD b/src/tools/ak/res/resxml/BUILD index 20a1d7124..6277da92f 100644 --- a/src/tools/ak/res/resxml/BUILD +++ b/src/tools/ak/res/resxml/BUILD @@ -1,5 +1,4 @@ -load("@io_bazel_rules_go//go:def.bzl", "go_binary", "go_library", "go_test") -load("@io_bazel_rules_go//proto:def.bzl", "go_proto_library") +load("@io_bazel_rules_go//go:def.bzl", "go_library", "go_test") package(default_applicable_licenses = ["//:license"]) diff --git a/src/tools/ak/rjar/BUILD b/src/tools/ak/rjar/BUILD index f5e0f4002..9988ecb60 100644 --- a/src/tools/ak/rjar/BUILD +++ b/src/tools/ak/rjar/BUILD @@ -2,7 +2,6 @@ # Package for R.jar module load("@io_bazel_rules_go//go:def.bzl", "go_binary", "go_library", "go_test") -load("@io_bazel_rules_go//proto:def.bzl", "go_proto_library") package( default_applicable_licenses = ["//:license"], diff --git a/src/tools/ak/rjar/testdata/BUILD b/src/tools/ak/rjar/testdata/BUILD index bc8a80287..36ede163a 100644 --- a/src/tools/ak/rjar/testdata/BUILD +++ b/src/tools/ak/rjar/testdata/BUILD @@ -1,8 +1,5 @@ # Creates test data for testing the rjar action. -load("@io_bazel_rules_go//go:def.bzl", "go_binary", "go_library", "go_test") -load("@io_bazel_rules_go//proto:def.bzl", "go_proto_library") - package(default_visibility = ["//src/tools/ak/rjar:__subpackages__"]) licenses(["notice"]) diff --git a/src/tools/bundletool_module_builder/BUILD b/src/tools/bundletool_module_builder/BUILD index fc031ba93..b5163d191 100644 --- a/src/tools/bundletool_module_builder/BUILD +++ b/src/tools/bundletool_module_builder/BUILD @@ -1,5 +1,4 @@ -load("@io_bazel_rules_go//go:def.bzl", "go_binary", "go_library", "go_test") -load("@io_bazel_rules_go//proto:def.bzl", "go_proto_library") +load("@io_bazel_rules_go//go:def.bzl", "go_binary") package( default_applicable_licenses = ["//:license"], diff --git a/src/tools/deploy_info/BUILD b/src/tools/deploy_info/BUILD index 9e8840d5c..71c910e45 100644 --- a/src/tools/deploy_info/BUILD +++ b/src/tools/deploy_info/BUILD @@ -1,5 +1,4 @@ -load("@io_bazel_rules_go//go:def.bzl", "go_binary", "go_library", "go_test") -load("@io_bazel_rules_go//proto:def.bzl", "go_proto_library") +load("@io_bazel_rules_go//go:def.bzl", "go_binary") package(default_applicable_licenses = ["//:license"]) @@ -10,7 +9,7 @@ DEPLOY_INFO_VISIBILITY_GOOGLE3 = [ "//test/mobile_install:__subpackages__", "//toolchains/android:__subpackages__", "//tools/android/mi/testing:__pkg__", -] +] # @unused # buildifier: disable=unused-variable DEPLOY_INFO_VISIBILITY_OSS = [ diff --git a/src/tools/deploy_info/proto/BUILD b/src/tools/deploy_info/proto/BUILD index 2548ac6ef..914b36a34 100644 --- a/src/tools/deploy_info/proto/BUILD +++ b/src/tools/deploy_info/proto/BUILD @@ -1,6 +1,5 @@ load("@com_google_protobuf//bazel:java_proto_library.bzl", "java_proto_library") load("@com_google_protobuf//bazel:proto_library.bzl", "proto_library") -load("@io_bazel_rules_go//go:def.bzl", "go_binary", "go_library", "go_test") load("@io_bazel_rules_go//proto:def.bzl", "go_proto_library") proto_library( diff --git a/src/tools/extract_desugar_pgcfg_flags/BUILD b/src/tools/extract_desugar_pgcfg_flags/BUILD index 13a67aad5..361de5741 100644 --- a/src/tools/extract_desugar_pgcfg_flags/BUILD +++ b/src/tools/extract_desugar_pgcfg_flags/BUILD @@ -1,5 +1,4 @@ -load("@io_bazel_rules_go//go:def.bzl", "go_binary", "go_library", "go_test") -load("@io_bazel_rules_go//proto:def.bzl", "go_proto_library") +load("@io_bazel_rules_go//go:def.bzl", "go_binary") load("@rules_shell//shell:sh_test.bzl", "sh_test") # Utility and test for extracting pgcfg flags from the desugar_jdk_libs config JSON file. diff --git a/src/tools/jar_to_module_info/BUILD b/src/tools/jar_to_module_info/BUILD index 28d036bba..42f72d77d 100644 --- a/src/tools/jar_to_module_info/BUILD +++ b/src/tools/jar_to_module_info/BUILD @@ -8,9 +8,8 @@ go_binary( go_library( name = "jar_to_module_info_lib", - importpath = "src/tools/jar_to_module_info/jar_to_module_info_lib", - srcs = ["jar_to_module_info.go"], + importpath = "src/tools/jar_to_module_info/jar_to_module_info_lib", visibility = ["//visibility:private"], deps = ["@org_bitbucket_creachadair_stringset//:stringset"], ) diff --git a/src/tools/java/com/google/devtools/build/android/sandboxedsdktoolbox/info/BUILD b/src/tools/java/com/google/devtools/build/android/sandboxedsdktoolbox/info/BUILD index 8842e9db6..b18e09c3f 100644 --- a/src/tools/java/com/google/devtools/build/android/sandboxedsdktoolbox/info/BUILD +++ b/src/tools/java/com/google/devtools/build/android/sandboxedsdktoolbox/info/BUILD @@ -12,8 +12,8 @@ java_library( name = "info", srcs = glob(["*.java"]), deps = [ - "@rules_android_maven//:com_android_tools_build_bundletool", "@com_google_protobuf//:protobuf_java", "@com_google_protobuf//:protobuf_java_util", + "@rules_android_maven//:com_android_tools_build_bundletool", ], ) diff --git a/src/tools/java/com/google/devtools/build/android/sandboxedsdktoolbox/sdksplitproperties/BUILD b/src/tools/java/com/google/devtools/build/android/sandboxedsdktoolbox/sdksplitproperties/BUILD index f55d085d6..d8a8ef8f7 100644 --- a/src/tools/java/com/google/devtools/build/android/sandboxedsdktoolbox/sdksplitproperties/BUILD +++ b/src/tools/java/com/google/devtools/build/android/sandboxedsdktoolbox/sdksplitproperties/BUILD @@ -14,10 +14,10 @@ java_library( deps = [ "//src/tools/java/com/google/devtools/build/android/sandboxedsdktoolbox/info", "//src/tools/java/com/google/devtools/build/android/sandboxedsdktoolbox/mixin", - "@rules_android_maven//:com_android_tools_build_bundletool", - "@rules_android_maven//:com_google_guava_guava", "@com_google_protobuf//:protobuf_java", "@com_google_protobuf//:protobuf_java_util", + "@rules_android_maven//:com_android_tools_build_bundletool", + "@rules_android_maven//:com_google_guava_guava", "@rules_android_maven//:info_picocli_picocli", ], ) diff --git a/src/tools/javatests/com/google/devtools/build/android/sandboxedsdktoolbox/proguardspecs/BUILD b/src/tools/javatests/com/google/devtools/build/android/sandboxedsdktoolbox/proguardspecs/BUILD index 1dc19bed0..a1e4be41f 100644 --- a/src/tools/javatests/com/google/devtools/build/android/sandboxedsdktoolbox/proguardspecs/BUILD +++ b/src/tools/javatests/com/google/devtools/build/android/sandboxedsdktoolbox/proguardspecs/BUILD @@ -14,8 +14,8 @@ java_test( srcs = ["GenerateSdkProguardSpecsCommandTest.java"], deps = [ "//src/tools/javatests/com/google/devtools/build/android/sandboxedsdktoolbox/utils", - "@rules_android_maven//:com_android_tools_build_bundletool", "@com_google_protobuf//:protobuf_java_util", + "@rules_android_maven//:com_android_tools_build_bundletool", "@rules_android_maven//:com_google_truth_truth", "@rules_android_maven//:junit_junit", ], diff --git a/src/tools/javatests/com/google/devtools/build/android/sandboxedsdktoolbox/runtimeenabledsdkconfig/BUILD b/src/tools/javatests/com/google/devtools/build/android/sandboxedsdktoolbox/runtimeenabledsdkconfig/BUILD index e3ba7ffb0..2bd350b9a 100644 --- a/src/tools/javatests/com/google/devtools/build/android/sandboxedsdktoolbox/runtimeenabledsdkconfig/BUILD +++ b/src/tools/javatests/com/google/devtools/build/android/sandboxedsdktoolbox/runtimeenabledsdkconfig/BUILD @@ -29,9 +29,9 @@ java_test( srcs = ["GenerateRuntimeEnabledSdkTableCommandTest.java"], deps = [ "//src/tools/javatests/com/google/devtools/build/android/sandboxedsdktoolbox/utils", + "@com_google_protobuf//:protobuf_java_util", "@rules_android_maven//:com_android_tools_build_bundletool", "@rules_android_maven//:com_google_guava_guava", - "@com_google_protobuf//:protobuf_java_util", "@rules_android_maven//:com_google_truth_truth", "@rules_android_maven//:junit_junit", ], diff --git a/src/tools/javatests/com/google/devtools/build/android/sandboxedsdktoolbox/sdkdependenciesmanifest/BUILD b/src/tools/javatests/com/google/devtools/build/android/sandboxedsdktoolbox/sdkdependenciesmanifest/BUILD index 164d551db..4ca1e5628 100644 --- a/src/tools/javatests/com/google/devtools/build/android/sandboxedsdktoolbox/sdkdependenciesmanifest/BUILD +++ b/src/tools/javatests/com/google/devtools/build/android/sandboxedsdktoolbox/sdkdependenciesmanifest/BUILD @@ -15,8 +15,8 @@ java_test( data = glob(["testdata/*"]), deps = [ "//src/tools/javatests/com/google/devtools/build/android/sandboxedsdktoolbox/utils", - "@rules_android_maven//:com_android_tools_build_bundletool", "@com_google_protobuf//:protobuf_java_util", + "@rules_android_maven//:com_android_tools_build_bundletool", "@rules_android_maven//:com_google_truth_truth", "@rules_android_maven//:junit_junit", ], diff --git a/src/tools/javatests/com/google/devtools/build/android/sandboxedsdktoolbox/validatemodulesconfig/BUILD b/src/tools/javatests/com/google/devtools/build/android/sandboxedsdktoolbox/validatemodulesconfig/BUILD index 74df53de4..5bf53eea5 100644 --- a/src/tools/javatests/com/google/devtools/build/android/sandboxedsdktoolbox/validatemodulesconfig/BUILD +++ b/src/tools/javatests/com/google/devtools/build/android/sandboxedsdktoolbox/validatemodulesconfig/BUILD @@ -14,8 +14,8 @@ java_test( srcs = ["ValidateModulesConfigCommandTest.java"], deps = [ "//src/tools/javatests/com/google/devtools/build/android/sandboxedsdktoolbox/utils", - "@rules_android_maven//:com_android_tools_build_bundletool", "@com_google_protobuf//:protobuf_java_util", + "@rules_android_maven//:com_android_tools_build_bundletool", "@rules_android_maven//:com_google_truth_truth", "@rules_android_maven//:junit_junit", ], diff --git a/src/tools/javatests/com/google/devtools/build/android/xml/BUILD b/src/tools/javatests/com/google/devtools/build/android/xml/BUILD index 669bc1e81..6eae82e85 100644 --- a/src/tools/javatests/com/google/devtools/build/android/xml/BUILD +++ b/src/tools/javatests/com/google/devtools/build/android/xml/BUILD @@ -25,15 +25,15 @@ java_test( name = "ProtoXmlUtilsTest", size = "small", srcs = ["ProtoXmlUtilsTest.java"], + runtime_deps = [ + "@rules_android_maven//:com_google_guava_guava", + ], deps = [ "//src/tools/java/com/google/devtools/build/android:android_builder_lib", "//src/tools/java/com/google/devtools/build/android/proto:resources_java_proto", "@rules_android_maven//:com_google_truth_truth", "@rules_android_maven//:junit_junit", ], - runtime_deps = [ - "@rules_android_maven//:com_google_guava_guava", - ], ) java_test( diff --git a/src/tools/jdeps/BUILD b/src/tools/jdeps/BUILD index 2170f204a..a18b0f946 100644 --- a/src/tools/jdeps/BUILD +++ b/src/tools/jdeps/BUILD @@ -1,5 +1,4 @@ -load("@io_bazel_rules_go//go:def.bzl", "go_binary", "go_library", "go_test") -load("@io_bazel_rules_go//proto:def.bzl", "go_proto_library") +load("@io_bazel_rules_go//go:def.bzl", "go_binary") load("@rules_shell//shell:sh_test.bzl", "sh_test") # Description: diff --git a/src/tools/jdeps/proto/BUILD b/src/tools/jdeps/proto/BUILD index a5566f856..aca7d9077 100644 --- a/src/tools/jdeps/proto/BUILD +++ b/src/tools/jdeps/proto/BUILD @@ -1,4 +1,3 @@ -load("@io_bazel_rules_go//go:def.bzl", "go_binary", "go_library", "go_test") load("@io_bazel_rules_go//proto:def.bzl", "go_proto_library") go_proto_library( diff --git a/src/tools/mi/broker/BUILD b/src/tools/mi/broker/BUILD index ecb28d946..1fe4a34cd 100644 --- a/src/tools/mi/broker/BUILD +++ b/src/tools/mi/broker/BUILD @@ -1,8 +1,7 @@ # Description: # Device broker packages. -load("@io_bazel_rules_go//go:def.bzl", "go_binary", "go_library", "go_test") -load("@io_bazel_rules_go//proto:def.bzl", "go_proto_library") +load("@io_bazel_rules_go//go:def.bzl", "go_library", "go_test") package(default_applicable_licenses = ["//:license"]) diff --git a/src/tools/mi/deployment/BUILD b/src/tools/mi/deployment/BUILD index 42c8b88bd..d594ecfd6 100644 --- a/src/tools/mi/deployment/BUILD +++ b/src/tools/mi/deployment/BUILD @@ -22,12 +22,11 @@ go_binary( go_library( name = "deployment", - importpath = "src/tools/mi/deployment/deployment", - srcs = [ "deploy.go", "deploy_utils.go", ], + importpath = "src/tools/mi/deployment/deployment", visibility = ["//src/tools/mi:__subpackages__"], deps = [ "//src/common/golang:pprint", diff --git a/src/tools/split_core_jar/BUILD b/src/tools/split_core_jar/BUILD index 1499bd599..4bebdf494 100644 --- a/src/tools/split_core_jar/BUILD +++ b/src/tools/split_core_jar/BUILD @@ -8,9 +8,8 @@ go_binary( go_library( name = "split_core_jar_lib", - importpath = "src/tools/split_core_jar/split_core_jar_lib", - srcs = ["split_core_jar.go"], + importpath = "src/tools/split_core_jar/split_core_jar_lib", visibility = ["//visibility:private"], deps = ["@org_bitbucket_creachadair_stringset//:stringset"], ) diff --git a/src/validations/aar_import_checks/BUILD b/src/validations/aar_import_checks/BUILD index 10086f05d..d0fa80422 100644 --- a/src/validations/aar_import_checks/BUILD +++ b/src/validations/aar_import_checks/BUILD @@ -60,4 +60,4 @@ alias( ":windows": "aar_import_checks.bat", "//conditions:default": "aar_import_checks.sh", }), -) \ No newline at end of file +) diff --git a/test/rules/android_binary/test.bzl b/test/rules/android_binary/test.bzl index 35439d056..43f48409a 100644 --- a/test/rules/android_binary/test.bzl +++ b/test/rules/android_binary/test.bzl @@ -43,8 +43,7 @@ fake_cc_toolchain_config = rule( ) def multiple_android_platforms_test_impl(ctx): - """Tests that android_binary successfully analyzes with - multiple values in --android_platforms. + """Tests android_binary analysis with multiple --android_platforms values. Args: ctx: The ctx. @@ -52,6 +51,7 @@ def multiple_android_platforms_test_impl(ctx): Returns: The providers. """ + # This test only needs to run analysis on the android_binary # in target_under_test. env = analysistest.begin(ctx) @@ -65,6 +65,6 @@ multiple_android_platforms_test = analysistest.make( "//test/rules/android_binary:fake_arm64-v8a_toolchain", "//test/rules/android_binary:fake_armeabi-v7a_toolchain", ], - "//command_line_option:android_platforms": "@@//:arm64-v8a,@@//:armeabi-v7a", + "//command_line_option:android_platforms": "@@//:arm64-v8a,@@//:armeabi-v7a", # buildifier: disable=canonical-repository }, ) diff --git a/test/rules/resources/test.bzl b/test/rules/resources/test.bzl index b4413b05a..4902868c3 100644 --- a/test/rules/resources/test.bzl +++ b/test/rules/resources/test.bzl @@ -42,7 +42,12 @@ load("@bazel_skylib//rules:common_settings.bzl", "BuildSettingInfo") visibility(PROJECT_VISIBILITY) -_StarlarkResourcesTestingInfo = provider() +_StarlarkResourcesTestingInfo = provider( + doc = "Provides resource processing test data.", + fields = dict( + r_java = "The generated R JavaInfo.", + ), +) def _process_impl(ctx): java_package = _java.resolve_package_from_label(ctx.label, ctx.attr.custom_package) diff --git a/test/utils/BUILD b/test/utils/BUILD index d98d0f7f2..d8f5d8231 100644 --- a/test/utils/BUILD +++ b/test/utils/BUILD @@ -30,7 +30,7 @@ bzl_library( deps = [ "//providers:providers_bzl", "//rules:visibility_bzl", - "@rules_java//java:core_rules", "@bazel_skylib//lib:unittest", + "@rules_java//java:core_rules", ], ) diff --git a/test/utils/asserts.bzl b/test/utils/asserts.bzl index c0f93a5d6..e81fff165 100644 --- a/test/utils/asserts.bzl +++ b/test/utils/asserts.bzl @@ -129,6 +129,21 @@ def ExpectedStarlarkAndroidResourcesInfo( transitive_compiled_resources = [], packages_to_r_txts = {}, name = "unused"): # appease linter + """Creates expected StarlarkAndroidResourcesInfo test data. + + Args: + direct_resources_nodes: Direct resources node labels. + transitive_resources_nodes: Transitive resources node labels. + transitive_assets: Transitive asset paths. + transitive_assets_symbols: Transitive asset symbol paths. + transitive_compiled_resources: Transitive compiled resource paths. + packages_to_r_txts: Mapping from Java packages to R.txt paths. + name: Unused compatibility parameter. + + Returns: + The label of the generated expected info target. + """ + name = (str(direct_resources_nodes) + str(transitive_resources_nodes) + str(transitive_assets) + str(transitive_assets_symbols) + str(transitive_compiled_resources)) name = ":_data_" + str(hash(name)) diff --git a/toolchains/android/toolchain.bzl b/toolchains/android/toolchain.bzl index ce8b61c6e..ddafd3848 100644 --- a/toolchains/android/toolchain.bzl +++ b/toolchains/android/toolchain.bzl @@ -250,7 +250,6 @@ _ATTRS = dict( allow_files = True, default = "//rules:robolectric_properties_template.txt", ), - shuffle_jars = attr.label( cfg = "exec", default = Label("//tools/android:shuffle_jars"), @@ -317,10 +316,10 @@ _ATTRS = dict( executable = True, ), deploy_info_writer = attr.label( - allow_single_file = True, - cfg = "exec", - default = Label("//src/tools/deploy_info"), - executable = True, + allow_single_file = True, + cfg = "exec", + default = Label("//src/tools/deploy_info"), + executable = True, ), translation_merger = attr.label( cfg = "exec", diff --git a/tools/jdk/jvmopts.bzl b/tools/jdk/jvmopts.bzl index 5e9bf4912..2a4c893c6 100644 --- a/tools/jdk/jvmopts.bzl +++ b/tools/jdk/jvmopts.bzl @@ -23,4 +23,3 @@ BASE_JVMOPTS = [ "-Xms8g", "-Xmx8g", ] -