Filter out library resource Jar files from the inputs of the deploy jar.

The classes in the library resources jars are already included in the toplevel binary resource jar, so it's the duplication of effort to pass them in the singlejar action. This also makes bazel stop executing the desugar actions for these library resource jars, which matches the Native implmentation.

PiperOrigin-RevId: 589009659
Change-Id: Ib06e2a6a2e493b9fe3cc7d61725b921c610ae2f0
diff --git a/rules/dex.bzl b/rules/dex.bzl
index 58d2adf..9a7b7a4 100644
--- a/rules/dex.bzl
+++ b/rules/dex.bzl
@@ -46,6 +46,7 @@
         inclusion_filter_jar = None,
         java_info = None,
         desugar_dict = {},
+        transitive_runtime_jars_for_archive = [],
         shuffle_jars = None,
         dexbuilder = None,
         dexbuilder_after_proguard = None,
@@ -81,11 +82,10 @@
             dex_archives.append(dex_archive)
 
         # Use dicts rather than lists for more efficient filtering
-        library_r_jar_dict = {jar: True for jar in _get_library_r_jars(deps)}
         runtime_jars_dict = {jar: True for jar in runtime_jars}
         dex_archives += _to_dexed_classpath(
             dex_archives_dict = {d.jar: d.dex for d in info.dex_archives_dict.get("".join(incremental_dexopts), depset()).to_list()},
-            classpath = [jar for jar in java_info.transitive_runtime_jars.to_list() if jar not in library_r_jar_dict],
+            classpath = transitive_runtime_jars_for_archive,
             runtime_jars_dict = runtime_jars_dict,
         )
     else:
@@ -567,12 +567,6 @@
 
         return java8_legacy_dex, java8_legacy_dex_map
 
-def _get_library_r_jars(deps):
-    transitive_resource_jars = []
-    for dep in utils.collect_providers(AndroidLibraryResourceClassJarProvider, deps):
-        transitive_resource_jars += dep.jars.to_list()
-    return transitive_resource_jars
-
 def _dex_merge(
         ctx,
         output = None,