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/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 af06e80e2..0a1607443 100644 --- a/android/rules.bzl +++ b/android/rules.bzl @@ -15,6 +15,12 @@ # Don't use relative paths since this file is coppied to //android/rules.bzl. +load( + "//providers:providers.bzl", + _AndroidAppsInfo = "AndroidAppsInfo", + _ApkInfo = "ApkInfo", + _StarlarkApkInfo = "StarlarkApkInfo", +) load( "//rules:android_sdk.bzl", _android_sdk = "android_sdk", @@ -27,12 +33,6 @@ load( "//rules:instrumented_app_info_aspect.bzl", _instrumented_app_info_aspect = "instrumented_app_info_aspect", ) -load( - "//providers:providers.bzl", - _AndroidAppsInfo = "AndroidAppsInfo", - _ApkInfo = "ApkInfo", - _StarlarkApkInfo = "StarlarkApkInfo", -) load( "//rules/aar_import:rule.bzl", _aar_import = "aar_import", 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/aar_import.bzl b/mobile_install/adapters/aar_import.bzl index 56cf341b9..aab5eaa7f 100644 --- a/mobile_install/adapters/aar_import.bzl +++ b/mobile_install/adapters/aar_import.bzl @@ -13,6 +13,7 @@ # limitations under the License. """Rule adapter for aar_import.""" +load("@rules_java//java/common:java_info.bzl", "JavaInfo") load( "//mobile_install:providers.bzl", "MIAndroidAssetsInfo", @@ -26,7 +27,6 @@ load("//mobile_install:transform.bzl", "dex") load("//providers:providers.bzl", "StarlarkAndroidResourcesInfo") load("//rules:java.bzl", _java = "java") load("//rules:visibility.bzl", "PROJECT_VISIBILITY") -load("@rules_java//java/common:java_info.bzl", "JavaInfo") load(":base.bzl", "make_adapter") load(":desugar.bzl", "get_desugar_classpath") diff --git a/mobile_install/adapters/android_binary.bzl b/mobile_install/adapters/android_binary.bzl index 4405494d0..d6bc54d8e 100644 --- a/mobile_install/adapters/android_binary.bzl +++ b/mobile_install/adapters/android_binary.bzl @@ -13,6 +13,7 @@ # limitations under the License. """Rule adapter for android_binary.""" +load("@rules_java//java/common:java_info.bzl", "JavaInfo") load("//mobile_install:launcher_direct.bzl", "make_direct_launcher") load("//mobile_install:process.bzl", "process") load( @@ -27,7 +28,6 @@ load("//mobile_install:utils.bzl", "utils") load("//providers:providers.bzl", "AndroidBinaryNativeLibsInfo", "AndroidBuildStampInfo", "AndroidIdeInfo") load("//rules:visibility.bzl", "PROJECT_VISIBILITY") load("//rules/flags:flags.bzl", "flags") -load("@rules_java//java/common:java_info.bzl", "JavaInfo") load(":base.bzl", "make_adapter") load(":desugar.bzl", "get_desugar_classpath") diff --git a/mobile_install/adapters/android_library.bzl b/mobile_install/adapters/android_library.bzl index 60a550f3b..4fcc7bf53 100644 --- a/mobile_install/adapters/android_library.bzl +++ b/mobile_install/adapters/android_library.bzl @@ -13,6 +13,7 @@ # limitations under the License. """Rule adapter for android_library.""" +load("@rules_java//java/common:java_info.bzl", "JavaInfo") load( "//mobile_install:providers.bzl", "MIAndroidAarNativeLibsInfo", @@ -27,7 +28,6 @@ load("//mobile_install:tools.bzl", "TOOLCHAIN_TYPES") load("//mobile_install:transform.bzl", "dex", "filter_jars") load("//providers:providers.bzl", "AndroidIdeInfo") load("//rules:visibility.bzl", "PROJECT_VISIBILITY") -load("@rules_java//java/common:java_info.bzl", "JavaInfo") load(":base.bzl", "make_adapter") load(":desugar.bzl", "get_desugar_classpath") diff --git a/mobile_install/adapters/default.bzl b/mobile_install/adapters/default.bzl index 6a7ab9e52..ba4470bdf 100644 --- a/mobile_install/adapters/default.bzl +++ b/mobile_install/adapters/default.bzl @@ -13,6 +13,7 @@ # limitations under the License. """Rule adapter for unknown rules without specific adapters""" +load("@rules_java//java/common:java_info.bzl", "JavaInfo") load( "//mobile_install:providers.bzl", "MIAndroidDexInfo", @@ -22,7 +23,6 @@ load( load("//mobile_install:transform.bzl", "dex", "extract_jar_resources") load("//mobile_install:utils.bzl", "utils") load("//rules:visibility.bzl", "PROJECT_VISIBILITY") -load("@rules_java//java/common:java_info.bzl", "JavaInfo") load(":base.bzl", "make_adapter") load(":desugar.bzl", "get_desugar_classpath") diff --git a/mobile_install/adapters/java_import.bzl b/mobile_install/adapters/java_import.bzl index d309e291c..4c6e83d78 100644 --- a/mobile_install/adapters/java_import.bzl +++ b/mobile_install/adapters/java_import.bzl @@ -13,6 +13,7 @@ # limitations under the License. """Rule adapter for java_import.""" +load("@rules_java//java/common:java_info.bzl", "JavaInfo") load( "//mobile_install:providers.bzl", "MIAndroidDexInfo", @@ -22,7 +23,6 @@ load( load("//mobile_install:transform.bzl", "dex", "extract_jar_resources") load("//mobile_install:utils.bzl", "utils") load("//rules:visibility.bzl", "PROJECT_VISIBILITY") -load("@rules_java//java/common:java_info.bzl", "JavaInfo") load(":base.bzl", "make_adapter") load(":desugar.bzl", "get_desugar_classpath") diff --git a/mobile_install/adapters/java_library.bzl b/mobile_install/adapters/java_library.bzl index d7dbebf7d..986cb1fdd 100644 --- a/mobile_install/adapters/java_library.bzl +++ b/mobile_install/adapters/java_library.bzl @@ -13,6 +13,7 @@ # limitations under the License. """Rule adapter for java_library.""" +load("@rules_java//java/common:java_info.bzl", "JavaInfo") load( "//mobile_install:providers.bzl", "MIAndroidDexInfo", @@ -21,7 +22,6 @@ load( ) load("//mobile_install:transform.bzl", "dex", "extract_jar_resources") load("//rules:visibility.bzl", "PROJECT_VISIBILITY") -load("@rules_java//java/common:java_info.bzl", "JavaInfo") load(":base.bzl", "make_adapter") load(":desugar.bzl", "get_desugar_classpath") diff --git a/mobile_install/adapters/java_lite_grpc_library.bzl b/mobile_install/adapters/java_lite_grpc_library.bzl index bff15b9c5..b71b9a16b 100644 --- a/mobile_install/adapters/java_lite_grpc_library.bzl +++ b/mobile_install/adapters/java_lite_grpc_library.bzl @@ -13,10 +13,10 @@ # limitations under the License. """Rule adapter for _java_lite_grpc_library.""" +load("@rules_java//java/common:java_info.bzl", "JavaInfo") load("//mobile_install:providers.bzl", "MIAndroidDexInfo", "MIJavaResourcesInfo", "providers") load("//mobile_install:transform.bzl", "dex", "extract_jar_resources") load("//rules:visibility.bzl", "PROJECT_VISIBILITY") -load("@rules_java//java/common:java_info.bzl", "JavaInfo") load(":base.bzl", "make_adapter") load(":desugar.bzl", "get_desugar_classpath") 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/adapters/proto_library.bzl b/mobile_install/adapters/proto_library.bzl index ff1832e1f..91c1f92fb 100644 --- a/mobile_install/adapters/proto_library.bzl +++ b/mobile_install/adapters/proto_library.bzl @@ -13,10 +13,10 @@ # limitations under the License. """Rule adapter for proto_library.""" +load("@rules_java//java/common:java_info.bzl", "JavaInfo") load("//mobile_install:providers.bzl", "MIAndroidDexInfo", "providers") load("//mobile_install:transform.bzl", "dex") load("//rules:visibility.bzl", "PROJECT_VISIBILITY") -load("@rules_java//java/common:java_info.bzl", "JavaInfo") load(":base.bzl", "make_adapter") load(":desugar.bzl", "get_desugar_classpath") diff --git a/mobile_install/apks.bzl b/mobile_install/apks.bzl index 63c6c1589..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 = {} @@ -115,7 +134,7 @@ def make_split_apks( to_pack = dexes + [r_dex] if native_zips: to_pack.extend(native_zips) - for i, artifact in enumerate(to_pack): + for artifact in to_pack: # the split attr in the manifest will be used to name the file on the device like # split_${SPLIT_ID}.apk. We need to follow the same pattern so that we can compare # files during sync time and only do the incremental install. 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..11e42e964 100644 --- a/mobile_install/mi.bzl +++ b/mobile_install/mi.bzl @@ -13,11 +13,11 @@ # limitations under the License. """Aspect for mobile-install.""" +load("@rules_java//java/common:java_info.bzl", "JavaInfo") load("//rules:min_sdk_version.bzl", "min_sdk_version") load("//rules:utils.bzl", "ANDROID_SDK_TOOLCHAIN_TYPE", "ANDROID_TOOLCHAIN_TYPE") load("//rules:visibility.bzl", "PROJECT_VISIBILITY") load("//rules/flags:flags.bzl", "flags") -load("@rules_java//java/common:java_info.bzl", "JavaInfo") load(":adapters.bzl", "adapters") load(":debug.bzl", "debug") load(":tools.bzl", "TOOLCHAIN_TYPES", "TOOL_ATTRS") @@ -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/r_java.bzl b/mobile_install/r_java.bzl index 03c9d9646..0d27e41d7 100644 --- a/mobile_install/r_java.bzl +++ b/mobile_install/r_java.bzl @@ -13,8 +13,8 @@ # limitations under the License. """Methods to create and process R.java.""" -load("//rules:visibility.bzl", "PROJECT_VISIBILITY") load("@rules_java//java/common:java_common.bzl", "java_common") +load("//rules:visibility.bzl", "PROJECT_VISIBILITY") load(":utils.bzl", "utils") visibility(PROJECT_VISIBILITY) 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 75a843e8e..aacffe4d7 100644 --- a/mobile_install/utils.bzl +++ b/mobile_install/utils.bzl @@ -13,10 +13,11 @@ # limitations under the License. """Utilities for by the Mobile-Install aspect.""" +load("@rules_java//java/common:java_common.bzl", "java_common") 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 eb2ef1062..6adef8cd0 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/aar_import/attrs.bzl b/rules/aar_import/attrs.bzl index 049424902..d03d7fe0e 100644 --- a/rules/aar_import/attrs.bzl +++ b/rules/aar_import/attrs.bzl @@ -13,12 +13,12 @@ # limitations under the License. """Attributes.""" +load("@rules_java//java/common:java_info.bzl", "JavaInfo") load( "//rules:attrs.bzl", _attrs = "attrs", ) load("//rules:visibility.bzl", "PROJECT_VISIBILITY") -load("@rules_java//java/common:java_info.bzl", "JavaInfo") visibility(PROJECT_VISIBILITY) diff --git a/rules/aar_import/impl.bzl b/rules/aar_import/impl.bzl index 3d491d92e..bef2347e8 100644 --- a/rules/aar_import/impl.bzl +++ b/rules/aar_import/impl.bzl @@ -13,6 +13,9 @@ # limitations under the License. """Implementation.""" +load("@rules_java//java/common:java_common.bzl", "java_common") +load("@rules_java//java/common:java_info.bzl", "JavaInfo") +load("@rules_java//java/common:proguard_spec_info.bzl", "ProguardSpecInfo") load("//providers:providers.bzl", "AndroidLintRulesInfo", "AndroidNativeLibsInfo") load( "//rules:acls.bzl", @@ -41,9 +44,6 @@ load( ) load("//rules:visibility.bzl", "PROJECT_VISIBILITY") load("//rules/flags:flags.bzl", _flags = "flags") -load("@rules_java//java/common:java_common.bzl", "java_common") -load("@rules_java//java/common:java_info.bzl", "JavaInfo") -load("@rules_java//java/common:proguard_spec_info.bzl", "ProguardSpecInfo") visibility(PROJECT_VISIBILITY) @@ -52,8 +52,8 @@ ANDROID_MANIFEST = "AndroidManifest.xml" LINT_JAR = "lint.jar" # Resources context dict fields. -_PROVIDERS = "providers" -_VALIDATION_RESULTS = "validation_results" +_PROVIDERS = "providers" # @unused +_VALIDATION_RESULTS = "validation_results" # @unused def _create_aar_tree_artifact(ctx, name): return ctx.actions.declare_directory("%s/unzipped/%s/%s" % (RULE_PREFIX, name, ctx.label.name)) @@ -138,9 +138,9 @@ def _process_resources( aar, package, manifest, - deps, + deps, # @unused aar_resources_extractor_tool, - unzip_tool): + unzip_tool): # @unused # Extract resources and assets, if they exist. resources = _create_aar_tree_artifact(ctx, "resources") assets = _create_aar_tree_artifact(ctx, "assets") diff --git a/rules/aar_import/rule.bzl b/rules/aar_import/rule.bzl index 9110162d7..fb087b6d7 100644 --- a/rules/aar_import/rule.bzl +++ b/rules/aar_import/rule.bzl @@ -13,13 +13,13 @@ # limitations under the License. """aar_import rule.""" +load("@rules_java//java/common:java_info.bzl", "JavaInfo") load("//providers:providers.bzl", "AndroidIdeInfo", "AndroidLibraryResourceClassJarProvider", "AndroidNativeLibsInfo") load( "//rules:utils.bzl", "ANDROID_SDK_TOOLCHAIN_TYPE", ) load("//rules:visibility.bzl", "PROJECT_VISIBILITY") -load("@rules_java//java/common:java_info.bzl", "JavaInfo") load(":attrs.bzl", _ATTRS = "ATTRS") load(":impl.bzl", _impl = "impl") diff --git a/rules/acls.bzl b/rules/acls.bzl index 40ac6e664..cf4de6458 100644 --- a/rules/acls.bzl +++ b/rules/acls.bzl @@ -310,11 +310,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 @@ -325,7 +335,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_application_rule.bzl b/rules/android_application/android_application_rule.bzl index a450426d7..2399ee53d 100644 --- a/rules/android_application/android_application_rule.bzl +++ b/rules/android_application/android_application_rule.bzl @@ -13,6 +13,7 @@ # limitations under the License. """android_application rule.""" +load("@rules_java//java/common:java_common.bzl", "java_common") load( "//providers:providers.bzl", "AndroidArchivedSandboxedSdkInfo", @@ -61,7 +62,6 @@ load( _log = "log", ) load("//rules:visibility.bzl", "PROJECT_VISIBILITY") -load("@rules_java//java/common:java_common.bzl", "java_common") load(":android_feature_module_rule.bzl", "get_feature_module_paths") load(":attrs.bzl", "ANDROID_APPLICATION_ATTRS") @@ -187,8 +187,8 @@ def _create_feature_manifest( aapt2, feature_manifest_script, priority_feature_manifest_script, - android_resources_busybox, - host_javabase): + android_resources_busybox, # @unused + host_javabase): # @unused info = feature_target[AndroidFeatureModuleInfo] manifest = ctx.actions.declare_file(ctx.label.name + "/" + feature_target.label.name + "/AndroidManifest.xml") 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 b7b719987..7924cdb82 100644 --- a/rules/android_application/attrs.bzl +++ b/rules/android_application/attrs.bzl @@ -82,7 +82,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/attrs.bzl b/rules/android_binary/attrs.bzl index b6cd67c6e..abf71255a 100644 --- a/rules/android_binary/attrs.bzl +++ b/rules/android_binary/attrs.bzl @@ -13,6 +13,8 @@ # limitations under the License. """Attributes.""" +load("@rules_cc//cc/common:cc_info.bzl", "CcInfo") +load("@rules_java//java/common:java_info.bzl", "JavaInfo") load("//providers:providers.bzl", "StarlarkApkInfo") load("//rules:android_neverlink_aspect.bzl", "android_neverlink_aspect") load("//rules:android_platforms_transition.bzl", "android_platforms_transition") @@ -27,8 +29,6 @@ load( "split_config_aspect", ) load("//rules:visibility.bzl", "PROJECT_VISIBILITY") -load("@rules_cc//cc/common:cc_info.bzl", "CcInfo") -load("@rules_java//java/common:java_info.bzl", "JavaInfo") visibility(PROJECT_VISIBILITY) diff --git a/rules/android_binary/impl.bzl b/rules/android_binary/impl.bzl index c9d1bb707..6e55579d9 100644 --- a/rules/android_binary/impl.bzl +++ b/rules/android_binary/impl.bzl @@ -13,6 +13,10 @@ # limitations under the License. """Implementation.""" +load("@bazel_skylib//rules:common_settings.bzl", "BuildSettingInfo") +load("@rules_java//java/common:java_common.bzl", "java_common") +load("@rules_java//java/common:java_info.bzl", "JavaInfo") +load("@rules_java//java/common:java_plugin_info.bzl", "JavaPluginInfo") load("//providers:providers.bzl", "AndroidDexInfo", "AndroidFeatureFlagSet", "AndroidIdlInfo", "AndroidInstrumentationInfo", "AndroidLibraryResourceClassJarProvider", "AndroidOptimizationInfo", "AndroidPreDexJarInfo", "ApkInfo", "BaselineProfileProvider", "DataBindingV2Info", "ProguardMappingInfo", "StarlarkAndroidDexInfo", "StarlarkAndroidResourcesInfo", "StarlarkApkInfo") load("//rules:acls.bzl", "acls") load("//rules:add_constraints.bzl", "add_constraints") @@ -47,10 +51,6 @@ load( ) load("//rules:visibility.bzl", "PROJECT_VISIBILITY") load("//rules/flags:flags.bzl", _flags = "flags") -load("@rules_java//java/common:java_common.bzl", "java_common") -load("@rules_java//java/common:java_info.bzl", "JavaInfo") -load("@rules_java//java/common:java_plugin_info.bzl", "JavaPluginInfo") -load("@bazel_skylib//rules:common_settings.bzl", "BuildSettingInfo") load(":r8.bzl", "process_r8", "process_resource_shrinking_r8") visibility(PROJECT_VISIBILITY) @@ -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( @@ -259,7 +259,15 @@ def _process_build_info(_unused_ctx, **unused_ctxs): ), ) -def _process_dex(ctx, validation_ctx, packaged_resources_ctx, manifest_ctx, deploy_ctx, bp_ctx, optimize_ctx, **_unused_ctxs): +def _process_dex( + ctx, + validation_ctx, + packaged_resources_ctx, + manifest_ctx, + deploy_ctx, + bp_ctx, # @unused + optimize_ctx, + **_unused_ctxs): if validation_ctx.use_r8: return ProviderInfo( name = "dex_ctx", @@ -421,7 +429,16 @@ def _process_dex(ctx, validation_ctx, packaged_resources_ctx, manifest_ctx, depl ), ) -def _process_deploy_jar(ctx, validation_ctx, stamp_ctx, manifest_ctx, packaged_resources_ctx, jvm_ctx, build_info_ctx, proto_ctx, **_unused_ctxs): +def _process_deploy_jar( + ctx, + validation_ctx, + stamp_ctx, + manifest_ctx, + packaged_resources_ctx, # @unused + jvm_ctx, + build_info_ctx, + proto_ctx, # @unused + **_unused_ctxs): if validation_ctx.use_r8: return ProviderInfo( name = "deploy_ctx", @@ -608,6 +625,7 @@ def _get_library_r_jars(deps): transitive_resource_jars += dep.jars.to_list() return transitive_resource_jars +# @unused def _is_test_binary(ctx): """Whether this android_binary target is a test binary. diff --git a/rules/android_binary/rule.bzl b/rules/android_binary/rule.bzl index 91ae065a7..f11d2b6be 100644 --- a/rules/android_binary/rule.bzl +++ b/rules/android_binary/rule.bzl @@ -13,6 +13,7 @@ # limitations under the License. """Starlark Android Binary for Android Rules.""" +load("@rules_java//java/common:java_info.bzl", "JavaInfo") load("//providers:providers.bzl", "ApkInfo") load("//rules:acls.bzl", "acls") load( @@ -21,13 +22,12 @@ load( ) load("//rules:utils.bzl", "ANDROID_SDK_TOOLCHAIN_TYPE") load("//rules:visibility.bzl", "PROJECT_VISIBILITY") -load("@rules_java//java/common:java_info.bzl", "JavaInfo") load(":attrs.bzl", "ATTRS") load(":impl.bzl", "impl") visibility(PROJECT_VISIBILITY) -_DEFAULT_ALLOWED_ATTRS = ["name", "visibility", "tags", "testonly", "transitive_configs", "$enable_manifest_merging", "features", "exec_properties"] +_DEFAULT_ALLOWED_ATTRS = ["name", "visibility", "tags", "testonly", "transitive_configs", "$enable_manifest_merging", "features", "exec_properties"] # @unused _DEFAULT_PROVIDES = [ApkInfo, JavaInfo] @@ -126,7 +126,7 @@ def android_binary_macro(**attrs): # Required for ACLs check in _outputs(), since the callback can't access the native module. attrs["$package_name"] = native.package_name() - target_fqn = "//%s:%s" % (native.package_name(), attrs["name"]) + target_fqn = "//%s:%s" % (native.package_name(), attrs["name"]) # @unused if type(attrs.get("proguard_specs", None)) == "select" or attrs.get("proguard_specs", None): attrs["$generate_proguard_outputs"] = True diff --git a/rules/android_library/attrs.bzl b/rules/android_library/attrs.bzl index 00e02137f..10dc2afa0 100644 --- a/rules/android_library/attrs.bzl +++ b/rules/android_library/attrs.bzl @@ -13,15 +13,15 @@ # limitations under the License. """Attributes.""" +load("@rules_cc//cc/common:cc_info.bzl", "CcInfo") +load("@rules_java//java/common:java_info.bzl", "JavaInfo") +load("@rules_java//java/common:java_plugin_info.bzl", "JavaPluginInfo") load("//providers:providers.bzl", "StarlarkApkInfo") load( "//rules:attrs.bzl", _attrs = "attrs", ) load("//rules:visibility.bzl", "PROJECT_VISIBILITY") -load("@rules_cc//cc/common:cc_info.bzl", "CcInfo") -load("@rules_java//java/common:java_info.bzl", "JavaInfo") -load("@rules_java//java/common:java_plugin_info.bzl", "JavaPluginInfo") visibility(PROJECT_VISIBILITY) diff --git a/rules/android_library/impl.bzl b/rules/android_library/impl.bzl index 6a3c74074..157067ea7 100644 --- a/rules/android_library/impl.bzl +++ b/rules/android_library/impl.bzl @@ -13,6 +13,9 @@ # limitations under the License. """Implementation.""" +load("@rules_java//java/common:java_info.bzl", "JavaInfo") +load("@rules_java//java/common:java_plugin_info.bzl", "JavaPluginInfo") +load("@rules_java//java/common:proguard_spec_info.bzl", "ProguardSpecInfo") load("//providers:providers.bzl", "AndroidIdlInfo", "AndroidLibraryAarInfo", "AndroidLintRulesInfo", "AndroidNativeLibsInfo", "BaselineProfileProvider", "DataBindingV2Info", "StarlarkAndroidResourcesInfo", "StarlarkApkInfo") load("//rules:acls.bzl", "acls") load("//rules:attrs.bzl", _attrs = "attrs") @@ -31,9 +34,6 @@ load("//rules:proguard.bzl", _proguard = "proguard") load("//rules:resources.bzl", _resources = "resources") load("//rules:utils.bzl", "get_android_sdk", "get_android_toolchain", "log", "utils") load("//rules:visibility.bzl", "PROJECT_VISIBILITY") -load("@rules_java//java/common:java_info.bzl", "JavaInfo") -load("@rules_java//java/common:java_plugin_info.bzl", "JavaPluginInfo") -load("@rules_java//java/common:proguard_spec_info.bzl", "ProguardSpecInfo") visibility(PROJECT_VISIBILITY) @@ -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,12 @@ def _process_lint_rules(ctx, **unused_sub_ctxs): ), ) -def _process_aar(ctx, java_package, resources_ctx, proguard_ctx, **unused_ctx): +def _process_aar( + ctx, + java_package, # @unused + resources_ctx, + proguard_ctx, + **_unused_ctx): aar_ctx = { _PROVIDERS: [], _VALIDATION_OUTPUTS: [], @@ -358,7 +363,7 @@ def _process_aar(ctx, java_package, 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 +386,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 +414,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 +429,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( @@ -460,12 +465,12 @@ PROCESSORS = dict( def finalize( ctx, resources_ctx, - intellij_ctx, + intellij_ctx, # @unused jvm_ctx, proguard_ctx, providers, validation_outputs, - **unused_ctxs): + **_unused_ctxs): """Creates the DefaultInfo and OutputGroupInfo providers. Args: @@ -476,7 +481,7 @@ def finalize( 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_library/rule.bzl b/rules/android_library/rule.bzl index 4b3c53272..7c947e97b 100644 --- a/rules/android_library/rule.bzl +++ b/rules/android_library/rule.bzl @@ -13,6 +13,7 @@ # limitations under the License. """android_library rule.""" +load("@rules_java//java/common:java_info.bzl", "JavaInfo") load("//providers:providers.bzl", "AndroidCcLinkParamsInfo", "AndroidIdeInfo", "AndroidIdlInfo", "AndroidLibraryResourceClassJarProvider", "AndroidNativeLibsInfo") load( "//rules:attrs.bzl", @@ -20,7 +21,6 @@ load( ) load("//rules:utils.bzl", "ANDROID_SDK_TOOLCHAIN_TYPE") load("//rules:visibility.bzl", "PROJECT_VISIBILITY") -load("@rules_java//java/common:java_info.bzl", "JavaInfo") load(":attrs.bzl", _ATTRS = "ATTRS") load(":impl.bzl", _impl = "impl") 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/attrs.bzl b/rules/android_local_test/attrs.bzl index 684f27cde..9b6be925a 100644 --- a/rules/android_local_test/attrs.bzl +++ b/rules/android_local_test/attrs.bzl @@ -13,14 +13,14 @@ # limitations under the License. """Attributes.""" +load("@rules_cc//cc/common:cc_info.bzl", "CcInfo") +load("@rules_java//java/common:java_common.bzl", "java_common") +load("@rules_java//java/common:java_info.bzl", "JavaInfo") load( "//rules:attrs.bzl", _attrs = "attrs", ) load("//rules:visibility.bzl", "PROJECT_VISIBILITY") -load("@rules_cc//cc/common:cc_info.bzl", "CcInfo") -load("@rules_java//java/common:java_common.bzl", "java_common") -load("@rules_java//java/common:java_info.bzl", "JavaInfo") visibility(PROJECT_VISIBILITY) diff --git a/rules/android_local_test/impl.bzl b/rules/android_local_test/impl.bzl index 3bbe206b2..8edecc3ae 100644 --- a/rules/android_local_test/impl.bzl +++ b/rules/android_local_test/impl.bzl @@ -13,6 +13,10 @@ # limitations under the License. """Bazel rule for Android local test.""" +load("@bazel_skylib//rules:common_settings.bzl", "BuildSettingInfo") +load("@rules_java//java/common:java_common.bzl", "java_common") +load("@rules_java//java/common:java_info.bzl", "JavaInfo") +load("@rules_java//java/common:java_plugin_info.bzl", "JavaPluginInfo") load("//providers:providers.bzl", "AndroidFilteredJdepsInfo") load("//rules:add_constraints.bzl", "add_constraints") load("//rules:attrs.bzl", "attrs") @@ -39,10 +43,6 @@ load( "utils", ) load("//rules:visibility.bzl", "PROJECT_VISIBILITY") -load("@rules_java//java/common:java_common.bzl", "java_common") -load("@rules_java//java/common:java_info.bzl", "JavaInfo") -load("@rules_java//java/common:java_plugin_info.bzl", "JavaPluginInfo") -load("@bazel_skylib//rules:common_settings.bzl", "BuildSettingInfo") visibility(PROJECT_VISIBILITY) diff --git a/rules/android_local_test/rule.bzl b/rules/android_local_test/rule.bzl index 059653fe0..4421cb6c7 100644 --- a/rules/android_local_test/rule.bzl +++ b/rules/android_local_test/rule.bzl @@ -13,9 +13,9 @@ # limitations under the License. """Bazel rule for Android local test.""" +load("@rules_java//java/common:java_info.bzl", "JavaInfo") load("//rules:utils.bzl", "ANDROID_SDK_TOOLCHAIN_TYPE") load("//rules:visibility.bzl", "PROJECT_VISIBILITY") -load("@rules_java//java/common:java_info.bzl", "JavaInfo") load(":attrs.bzl", "ATTRS") load(":impl.bzl", "impl") @@ -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_neverlink_aspect.bzl b/rules/android_neverlink_aspect.bzl index c6c145d58..ee2d6c15d 100644 --- a/rules/android_neverlink_aspect.bzl +++ b/rules/android_neverlink_aspect.bzl @@ -17,13 +17,13 @@ Used for determining the -libraryjars argument for Proguard. The compile-time cl unsufficient here as those are ijars. """ +load("@rules_java//java/common:java_info.bzl", "JavaInfo") load("//providers:providers.bzl", "AndroidLibraryResourceClassJarProvider") load( "//rules:utils.bzl", "utils", ) load("//rules:visibility.bzl", "PROJECT_VISIBILITY") -load("@rules_java//java/common:java_info.bzl", "JavaInfo") visibility(PROJECT_VISIBILITY) diff --git a/rules/android_platforms_transition.bzl b/rules/android_platforms_transition.bzl index 5bc4b9897..4b5aac2c0 100644 --- a/rules/android_platforms_transition.bzl +++ b/rules/android_platforms_transition.bzl @@ -15,8 +15,8 @@ This transition ensures that the platforms are set to valid Android Platforms. """ -load("//rules:visibility.bzl", "PROJECT_VISIBILITY") load("@bazel_skylib//lib:sets.bzl", "sets") +load("//rules:visibility.bzl", "PROJECT_VISIBILITY") load(":min_sdk_version.bzl", "min_sdk_version") load(":utils.bzl", "utils") 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..739566f8e 100644 --- a/rules/attrs.bzl +++ b/rules/attrs.bzl @@ -13,12 +13,11 @@ # 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") load("@rules_java//java/common:java_info.bzl", "JavaInfo") load("@rules_java//java/common:java_plugin_info.bzl", "JavaPluginInfo") +load("//rules:android_split_transition.bzl", "android_transition") +load("//rules:visibility.bzl", "PROJECT_VISIBILITY") load(":utils.bzl", "ANDROID_SDK_TOOLCHAIN_TYPE", "log") visibility(PROJECT_VISIBILITY) @@ -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 20562e091..0e694974c 100644 --- a/rules/bundletool.bzl +++ b/rules/bundletool.bzl @@ -13,13 +13,13 @@ # limitations under the License. """Bazel Bundletool Commands.""" +load("@bazel_skylib//lib:paths.bzl", "paths") +load("@rules_java//java/common:java_common.bzl", "java_common") load( "//rules:utils.bzl", "ANDROID_TOOLCHAIN_TYPE", ) load("//rules:visibility.bzl", "PROJECT_VISIBILITY") -load("@rules_java//java/common:java_common.bzl", "java_common") -load("@bazel_skylib//lib:paths.bzl", "paths") load(":common.bzl", _common = "common") load(":java.bzl", _java = "java") @@ -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/common.bzl b/rules/common.bzl index ae7ef9115..88d7ac1ff 100644 --- a/rules/common.bzl +++ b/rules/common.bzl @@ -13,10 +13,10 @@ # limitations under the License. """Bazel common library for the Android rules.""" -load("//rules:visibility.bzl", "PROJECT_VISIBILITY") -load("//rules/android_common:reexport_android_common.bzl", _native_android_common = "native_android_common") load("@rules_java//java/common:java_common.bzl", "java_common") load("@rules_java//java/common:java_info.bzl", "JavaInfo") +load("//rules:visibility.bzl", "PROJECT_VISIBILITY") +load("//rules/android_common:reexport_android_common.bzl", _native_android_common = "native_android_common") load(":utils.bzl", "ANDROID_TOOLCHAIN_TYPE", "get_android_toolchain", _log = "log") visibility(PROJECT_VISIBILITY) diff --git a/rules/data_binding.bzl b/rules/data_binding.bzl index 9039cba35..cdaa131c2 100644 --- a/rules/data_binding.bzl +++ b/rules/data_binding.bzl @@ -132,7 +132,7 @@ def _setup_dependent_lib_artifacts(ctx, output_dir, deps): return dep_lib_artifacts def _get_javac_opts( - ctx, + ctx, # @unused java_package, artifact_type, dependency_artifacts_dir, diff --git a/rules/dex.bzl b/rules/dex.bzl index 96ea2a8ff..5483e4ff6 100644 --- a/rules/dex.bzl +++ b/rules/dex.bzl @@ -13,13 +13,13 @@ # limitations under the License. """Bazel Dex Commands.""" +load("@bazel_skylib//lib:collections.bzl", "collections") load("//providers:providers.bzl", "StarlarkAndroidDexInfo") load("//rules:acls.bzl", "acls") load("//rules:attrs.bzl", _attrs = "attrs") load("//rules:common.bzl", _common = "common") load("//rules:java.bzl", _java = "java") load("//rules:visibility.bzl", "PROJECT_VISIBILITY") -load("@bazel_skylib//lib:collections.bzl", "collections") load(":utils.bzl", "ANDROID_TOOLCHAIN_TYPE", "get_android_toolchain", "utils") visibility(PROJECT_VISIBILITY) @@ -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 b1542407c..bb9c3273b 100644 --- a/rules/dex_desugar_aspect.bzl +++ b/rules/dex_desugar_aspect.bzl @@ -13,10 +13,10 @@ # limitations under the License. """Aspect that transitively build .dex archives and desugar jars.""" +load("@bazel_skylib//lib:partial.bzl", "partial") +load("@rules_java//java/common:java_info.bzl", "JavaInfo") load("//providers:providers.bzl", "AndroidBytecodeTransformerInfo", "AndroidIdeInfo", "StarlarkAndroidDexInfo") load("//rules:visibility.bzl", "PROJECT_VISIBILITY") -load("@rules_java//java/common:java_info.bzl", "JavaInfo") -load("@bazel_skylib//lib:partial.bzl", "partial") load(":acls.bzl", "acls") load(":attrs.bzl", _attrs = "attrs") load(":desugar.bzl", _desugar = "desugar") @@ -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, []) @@ -214,7 +214,7 @@ def _get_platform_based_toolchain_jars(ctx): return ctx.rule.attr._aidl_lib[JavaInfo].runtime_output_jars return [] -def _get_aspect_dexopts(ctx): +def _get_aspect_dexopts(ctx): # @unused return _power_set(_dex.normalize_dexopts(_dex.DEXOPTS_SUPPORTED_IN_INCREMENTAL_DEXING)) def _get_boot_classpath(target, ctx): 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/configurations.bzl b/rules/flags/configurations.bzl index 6e55a8137..9ac85bf20 100644 --- a/rules/flags/configurations.bzl +++ b/rules/flags/configurations.bzl @@ -13,8 +13,8 @@ # limitations under the License. """Configuration definitions.""" -load("//rules:visibility.bzl", "PROJECT_VISIBILITY") load("@bazel_skylib//rules:common_settings.bzl", "int_setting") +load("//rules:visibility.bzl", "PROJECT_VISIBILITY") visibility(PROJECT_VISIBILITY) 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..ef1ded42d 100644 --- a/rules/java.bzl +++ b/rules/java.bzl @@ -13,9 +13,9 @@ # limitations under the License. """Bazel Java APIs for the Android rules.""" -load("//rules:visibility.bzl", "PROJECT_VISIBILITY") load("@rules_java//java/common:java_common.bzl", "java_common") load("@rules_java//java/private:android_support.bzl", "android_support") # buildifier: disable=bzl-visibility +load("//rules:visibility.bzl", "PROJECT_VISIBILITY") load(":path.bzl", _path = "path") load(":utils.bzl", "log") @@ -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/min_sdk_version.bzl b/rules/min_sdk_version.bzl index 1f5e91b10..b36417383 100644 --- a/rules/min_sdk_version.bzl +++ b/rules/min_sdk_version.bzl @@ -18,14 +18,14 @@ it holds utilities for handling minSdkVersion propagation. """ -load("//rules:visibility.bzl", "PROJECT_VISIBILITY") load("@bazel_skylib//rules:common_settings.bzl", "BuildSettingInfo") +load("//rules:visibility.bzl", "PROJECT_VISIBILITY") visibility(PROJECT_VISIBILITY) _SETTING = "//rules/flags:min_sdk_version" _DEPOT_FLOOR = 23 -_MIN_SDK_LEVELS = sorted([_DEPOT_FLOOR, 24]) +_MIN_SDK_LEVELS = sorted([_DEPOT_FLOOR, 24]) # @unused _ATTRS = dict( _min_sdk_version = attr.label( @@ -34,7 +34,7 @@ _ATTRS = dict( ), ) -def _clamp(min_sdk_version): +def _clamp(min_sdk_version): # @unused # TODO(asinclair): Uncomment this once android_binary is Starlarkified and the order of the # Android Platforms Transition and Feature Flags transition is swapped. # clamped = _MIN_SDK_LEVELS[0] @@ -45,7 +45,7 @@ def _clamp(min_sdk_version): # return clamped return 0 -def _get(ctx): +def _get(ctx): # @unused # This is the case when an android_binary target does not set a value explicitly. # The configuration value defaults to 0 # So in this case we use the depot floor. diff --git a/rules/native_deps.bzl b/rules/native_deps.bzl index a6f561c8f..5b384e4a9 100644 --- a/rules/native_deps.bzl +++ b/rules/native_deps.bzl @@ -16,13 +16,13 @@ Defines the native libs processing and an aspect to collect build configuration of split deps """ -load("//providers:providers.bzl", "AndroidBinaryNativeLibsInfo", "AndroidCcLinkParamsInfo", "AndroidNativeLibsInfo") -load("//rules:utils.bzl", "utils") -load("//rules:visibility.bzl", "PROJECT_VISIBILITY") +load("@bazel_skylib//lib:paths.bzl", "paths") load("@rules_cc//cc/common:cc_common.bzl", "cc_common") load("@rules_cc//cc/common:cc_info.bzl", "CcInfo") load("@rules_java//java/common:java_info.bzl", "JavaInfo") -load("@bazel_skylib//lib:paths.bzl", "paths") +load("//providers:providers.bzl", "AndroidBinaryNativeLibsInfo", "AndroidCcLinkParamsInfo", "AndroidNativeLibsInfo") +load("//rules:utils.bzl", "utils") +load("//rules:visibility.bzl", "PROJECT_VISIBILITY") visibility(PROJECT_VISIBILITY) @@ -35,7 +35,7 @@ SplitConfigInfo = provider( ) def _split_config_aspect_impl(__, ctx): - android_cfg = ctx.fragments.android + android_cfg = ctx.fragments.android # @unused return SplitConfigInfo( build_config = ctx.configuration, target_platform = ctx.fragments.platform.platform, diff --git a/rules/proguard.bzl b/rules/proguard.bzl index a1fdea74c..3fc5e2f97 100644 --- a/rules/proguard.bzl +++ b/rules/proguard.bzl @@ -13,9 +13,9 @@ # limitations under the License. """Bazel Android Proguard library for the Android rules.""" -load("//rules:visibility.bzl", "PROJECT_VISIBILITY") load("@rules_java//java/common:java_common.bzl", "java_common") load("@rules_java//java/common:proguard_spec_info.bzl", "ProguardSpecInfo") +load("//rules:visibility.bzl", "PROJECT_VISIBILITY") load(":acls.bzl", "acls") load(":android_neverlink_aspect.bzl", "StarlarkAndroidNeverlinkInfo") load(":baseline_profiles.bzl", _baseline_profiles = "baseline_profiles") diff --git a/rules/resources.bzl b/rules/resources.bzl index 01adcfbcf..44437d05e 100644 --- a/rules/resources.bzl +++ b/rules/resources.bzl @@ -13,13 +13,13 @@ # limitations under the License. """Bazel Android Resources.""" +load("@bazel_skylib//rules:common_settings.bzl", "BuildSettingInfo") +load("@rules_java//java/common:java_info.bzl", "JavaInfo") load("//providers:providers.bzl", "AndroidLibraryResourceClassJarProvider", "ResourcesNodeInfo", "StarlarkAndroidResourcesInfo") load("//rules:acls.bzl", "acls") load("//rules:add_constraints.bzl", "add_constraints") load("//rules:min_sdk_version.bzl", _min_sdk_version = "min_sdk_version") load("//rules:visibility.bzl", "PROJECT_VISIBILITY") -load("@rules_java//java/common:java_info.bzl", "JavaInfo") -load("@bazel_skylib//rules:common_settings.bzl", "BuildSettingInfo") load(":attrs.bzl", _attrs = "attrs") load(":busybox.bzl", _busybox = "busybox") load(":path.bzl", _path = "path") @@ -496,7 +496,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, @@ -886,6 +886,7 @@ def _liteparse(ctx, out_r_pb, resource_files, android_kit): toolchain = None, ) +# @unused def _fastr(ctx, r_pbs, package, manifest, android_kit): """Create R.srcjar from the given R.pb files in the transitive closure. @@ -1007,6 +1008,7 @@ def _make_aar( ) return aar +# @unused def _validate(ctx, manifest, defined_assets, defined_assets_dir): if ((defined_assets and not defined_assets_dir) or (not defined_assets and defined_assets_dir)): @@ -1214,9 +1216,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 af06e80e2..0a1607443 100644 --- a/rules/rules.bzl +++ b/rules/rules.bzl @@ -15,6 +15,12 @@ # Don't use relative paths since this file is coppied to //android/rules.bzl. +load( + "//providers:providers.bzl", + _AndroidAppsInfo = "AndroidAppsInfo", + _ApkInfo = "ApkInfo", + _StarlarkApkInfo = "StarlarkApkInfo", +) load( "//rules:android_sdk.bzl", _android_sdk = "android_sdk", @@ -27,12 +33,6 @@ load( "//rules:instrumented_app_info_aspect.bzl", _instrumented_app_info_aspect = "instrumented_app_info_aspect", ) -load( - "//providers:providers.bzl", - _AndroidAppsInfo = "AndroidAppsInfo", - _ApkInfo = "ApkInfo", - _StarlarkApkInfo = "StarlarkApkInfo", -) load( "//rules/aar_import:rule.bzl", _aar_import = "aar_import", 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/java/com/example/sampleapp/BUILD b/src/java/com/example/sampleapp/BUILD index 27ce5c4fb..f19f88273 100644 --- a/src/java/com/example/sampleapp/BUILD +++ b/src/java/com/example/sampleapp/BUILD @@ -1,7 +1,7 @@ # Sample app to demonstrate proper rule structuring and mobile-install usage. -load("//rules:rules.bzl", "android_binary", "android_library") load("@rules_cc//cc:cc_library.bzl", "cc_library") +load("//rules:rules.bzl", "android_binary", "android_library") package(default_visibility = ["//src:__subpackages__"]) 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..36a4248d0 100644 --- a/src/tools/ak/res/proto/BUILD +++ b/src/tools/ak/res/proto/BUILD @@ -1,9 +1,8 @@ # 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") +load("@io_bazel_rules_go//proto:def.bzl", "go_proto_library") package( default_applicable_licenses = ["//:license"], 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/android_local_test/java_launcher_test.bzl b/test/rules/android_local_test/java_launcher_test.bzl index b96680610..98c567dea 100644 --- a/test/rules/android_local_test/java_launcher_test.bzl +++ b/test/rules/android_local_test/java_launcher_test.bzl @@ -16,9 +16,9 @@ launcher_test: Asserts that the executable is contained in the target's runfiles. """ -load("//rules:visibility.bzl", "PROJECT_VISIBILITY") load("@bazel_skylib//lib:sets.bzl", "sets") load("@bazel_skylib//lib:unittest.bzl", "analysistest", "asserts") +load("//rules:visibility.bzl", "PROJECT_VISIBILITY") visibility(PROJECT_VISIBILITY) diff --git a/test/rules/android_local_test/test.bzl b/test/rules/android_local_test/test.bzl index 18f4303c3..b7fa87f82 100644 --- a/test/rules/android_local_test/test.bzl +++ b/test/rules/android_local_test/test.bzl @@ -16,10 +16,10 @@ rule_test: Inspect and assert on rule providers. """ +load("@rules_java//java/common:java_info.bzl", "JavaInfo") load("//providers:providers.bzl", "AndroidFilteredJdepsInfo") load("//rules:visibility.bzl", "PROJECT_VISIBILITY") load("//test/utils:asserts.bzl", "asserts") -load("@rules_java//java/common:java_info.bzl", "JavaInfo") visibility(PROJECT_VISIBILITY) diff --git a/test/rules/resources/test.bzl b/test/rules/resources/test.bzl index 6fdec0120..59bf84ca2 100644 --- a/test/rules/resources/test.bzl +++ b/test/rules/resources/test.bzl @@ -13,6 +13,14 @@ # limitations under the License. """Test rule for resource processing.""" +load( + "@bazel_skylib//lib:unittest.bzl", + "analysistest", + "asserts", + "unittest", +) +load("@bazel_skylib//rules:common_settings.bzl", "BuildSettingInfo") +load("@rules_java//java/common:java_common.bzl", "java_common") load("//providers:providers.bzl", "StarlarkAndroidResourcesInfo") load("//rules:attrs.bzl", "ANDROID_BINARY_ATTRS") load("//rules:common.bzl", _common = "common") @@ -31,18 +39,15 @@ load( "//test/utils:asserts.bzl", _asserts = "asserts", ) -load("@rules_java//java/common:java_common.bzl", "java_common") -load( - "@bazel_skylib//lib:unittest.bzl", - "analysistest", - "asserts", - "unittest", -) -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) @@ -543,7 +548,7 @@ resources_package_test = rule( def _package_resources_final_id_test(ctx): env = analysistest.begin(ctx) - target_under_test = analysistest.target_under_test(env) + target_under_test = analysistest.target_under_test(env) # @unused actions = analysistest.target_actions(env) found_final_r = False found_nonfinal_r = False 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 bdbd28463..f8413a429 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)) @@ -146,6 +161,7 @@ def ExpectedStarlarkAndroidResourcesInfo( ) return name +# @unused def _build_expected_resources_node_info(string): parts = string.split(":") if len(parts) != 5: diff --git a/test/utils/lib.bzl b/test/utils/lib.bzl index c22790a28..5e4fcf385 100644 --- a/test/utils/lib.bzl +++ b/test/utils/lib.bzl @@ -13,11 +13,11 @@ # limitations under the License. """Bazel Android testing libs.""" -load("//rules:visibility.bzl", "PROJECT_VISIBILITY") load( "@bazel_skylib//lib:unittest.bzl", _asserts = "asserts", ) +load("//rules:visibility.bzl", "PROJECT_VISIBILITY") load( ":file.bzl", _file = "file", diff --git a/test/utils/unittest.bzl b/test/utils/unittest.bzl index 1a3e3e744..a0b300ac7 100644 --- a/test/utils/unittest.bzl +++ b/test/utils/unittest.bzl @@ -13,13 +13,13 @@ # limitations under the License. """Bazel lib that provides test helpers for testing.""" -load("//rules:visibility.bzl", "PROJECT_VISIBILITY") -load("@rules_java//java:java_library.bzl", "java_library") load( "@bazel_skylib//lib:unittest.bzl", _analysistest = "analysistest", _unittest = "unittest", ) +load("@rules_java//java:java_library.bzl", "java_library") +load("//rules:visibility.bzl", "PROJECT_VISIBILITY") load(":file.bzl", _file = "file") visibility(PROJECT_VISIBILITY) diff --git a/toolchains/android/toolchain.bzl b/toolchains/android/toolchain.bzl index 8789dbd90..aa22a58ff 100644 --- a/toolchains/android/toolchain.bzl +++ b/toolchains/android/toolchain.bzl @@ -322,10 +322,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/android/defs.bzl b/tools/android/defs.bzl index a50d8614e..a46745d29 100644 --- a/tools/android/defs.bzl +++ b/tools/android/defs.bzl @@ -13,11 +13,11 @@ # limitations under the License. """A rule that returns android.jar from the current android sdk.""" +load("@rules_java//java/common:java_common.bzl", "java_common") load("//rules:common.bzl", _common = "common") load("//rules:java.bzl", _java = "java") load("//rules:utils.bzl", "ANDROID_SDK_TOOLCHAIN_TYPE", "get_android_sdk") load("//rules:visibility.bzl", "PROJECT_VISIBILITY") -load("@rules_java//java/common:java_common.bzl", "java_common") visibility(PROJECT_VISIBILITY) 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", ] -