From 44dbd44aa5f66e6f57185e6e2df17e1241526541 Mon Sep 17 00:00:00 2001 From: Ted Xie Date: Tue, 12 Aug 2025 11:36:43 -0400 Subject: [PATCH 1/5] Enable resource rule tests for linux --- .bazelci/presubmit.yml | 22 ++++++++++++---------- 1 file changed, 12 insertions(+), 10 deletions(-) diff --git a/.bazelci/presubmit.yml b/.bazelci/presubmit.yml index c12c3544d..012036ce6 100644 --- a/.bazelci/presubmit.yml +++ b/.bazelci/presubmit.yml @@ -115,20 +115,22 @@ tasks: platform: ${{ platform }} bazel: ${{ bazel }} <<: *rules - # TODO(#397): Resource tests need some more debugging. - ## resource_rules: - ## platform: ${{ platform }} - ## bazel: ${{ bazel }} - ## <<: *resource_rules + # TODO(#397): Resource tests on Mac need some more debugging. + resource_rules_ubuntu2004: + name: "Resource rules on Linux with Bazel {bazel} and bzlmod disabled" + platform: ubuntu2004 + bazel: ${{ bazel }} + <<: *resource_rules tools_bzlmod: platform: ${{ platform }} bazel: ${{ bazel }} <<: *tools_bzlmod - # TODO(#397): Resource tests need some more debugging. - ## resource_rules_bzlmod: - ## platform: ${{ platform }} - ## bazel: ${{ bazel }} - ## <<: *resource_rules_bzlmod + # TODO(#397): Resource tests on Mac need some more debugging. + resource_rules_bzlmod: + name: "Resource rules on Linux with Bazel {bazel} and bzlmod disabled" + platform: ubuntu2004 + bazel: ${{ bazel }} + <<: *resource_rules_bzlmod rules_bzlmod: platform: ${{ platform }} bazel: ${{ bazel }} From e55b8f5c6f50e2c04060639a668f6e2af0060aea Mon Sep 17 00:00:00 2001 From: Ted Xie Date: Tue, 12 Aug 2025 12:08:32 -0400 Subject: [PATCH 2/5] Disable WORKSPACE resource tests --- .bazelci/presubmit.yml | 17 ++++++++--------- 1 file changed, 8 insertions(+), 9 deletions(-) diff --git a/.bazelci/presubmit.yml b/.bazelci/presubmit.yml index 012036ce6..df8a83027 100644 --- a/.bazelci/presubmit.yml +++ b/.bazelci/presubmit.yml @@ -115,19 +115,18 @@ tasks: platform: ${{ platform }} bazel: ${{ bazel }} <<: *rules - # TODO(#397): Resource tests on Mac need some more debugging. - resource_rules_ubuntu2004: - name: "Resource rules on Linux with Bazel {bazel} and bzlmod disabled" - platform: ubuntu2004 - bazel: ${{ bazel }} - <<: *resource_rules + # TODO(#397): Resource tests on WORKSPACE need some more debugging. + ## resource_rules_ubuntu2004: + ## name: "Resource rules on Linux with Bazel {bazel} and bzlmod disabled" + ## platform: ubuntu2004 + ## bazel: ${{ bazel }} + ## <<: *resource_rules tools_bzlmod: platform: ${{ platform }} bazel: ${{ bazel }} <<: *tools_bzlmod - # TODO(#397): Resource tests on Mac need some more debugging. - resource_rules_bzlmod: - name: "Resource rules on Linux with Bazel {bazel} and bzlmod disabled" + resource_rules_ubuntu2004_bzlmod: + name: "Resource rules on Linux with Bazel {bazel} and bzlmod enabled" platform: ubuntu2004 bazel: ${{ bazel }} <<: *resource_rules_bzlmod From 526701d34cbc57857377ccb23c264e06030f93eb Mon Sep 17 00:00:00 2001 From: Ted Xie Date: Tue, 12 Aug 2025 12:24:53 -0400 Subject: [PATCH 3/5] verbosely add manifest_merge_order flag --- .bazelci/presubmit.yml | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/.bazelci/presubmit.yml b/.bazelci/presubmit.yml index df8a83027..1bc005784 100644 --- a/.bazelci/presubmit.yml +++ b/.bazelci/presubmit.yml @@ -100,10 +100,12 @@ resource_rules_bzlmod: &resource_rules_bzlmod <<: *rules_flags ? "--enable_bzlmod" ? "--enable_workspace=false" + ? "--//rules/flags:manifest_merge_order=legacy" test_flags: <<: *rules_flags ? "--enable_bzlmod" ? "--enable_workspace=false" + ? "--//rules/flags:manifest_merge_order=legacy" <<: *resource_rules tasks: @@ -126,7 +128,7 @@ tasks: bazel: ${{ bazel }} <<: *tools_bzlmod resource_rules_ubuntu2004_bzlmod: - name: "Resource rules on Linux with Bazel {bazel} and bzlmod enabled" + name: "Resource rules with Bazel {bazel} and bzlmod enabled" platform: ubuntu2004 bazel: ${{ bazel }} <<: *resource_rules_bzlmod From 91c26aa1114a118d2ab19b176c89d2f696a03cce Mon Sep 17 00:00:00 2001 From: Ted Xie Date: Tue, 12 Aug 2025 12:57:31 -0400 Subject: [PATCH 4/5] Add debug statements --- test/rules/resources/test.bzl | 2 ++ 1 file changed, 2 insertions(+) diff --git a/test/rules/resources/test.bzl b/test/rules/resources/test.bzl index 23f319e7e..5700135eb 100644 --- a/test/rules/resources/test.bzl +++ b/test/rules/resources/test.bzl @@ -191,6 +191,7 @@ set -eu EXPECTED_R_CLASS_FIELDS="{expected_r_class_fields}" if [ "{check_r_java}" == "True" ]; then + set -x # Check the contents of the resources jar, as it is always produced. # There are cases when it is produced empty (with only META-INF data). @@ -205,6 +206,7 @@ if [ "{check_r_java}" == "True" ]; then exit fi + find . -name java -type f {java} -cp {class_path} com.google.RClassChecker \ --package="{package}" \ --expected_r_class_fields="${{EXPECTED_R_CLASS_FIELDS}}" From 0c2e78a136ef869404ed438802658306b03e358b Mon Sep 17 00:00:00 2001 From: Ted Xie Date: Tue, 12 Aug 2025 13:09:48 -0400 Subject: [PATCH 5/5] Use DefaultInfo --- test/rules/resources/test.bzl | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/test/rules/resources/test.bzl b/test/rules/resources/test.bzl index 5700135eb..dc5776a53 100644 --- a/test/rules/resources/test.bzl +++ b/test/rules/resources/test.bzl @@ -179,6 +179,7 @@ def _starlark_process_test_impl(ctx): runfiles = r_java.runtime_output_jars + [ctx.executable._r_class_check] java = ctx.attr._host_javabase[java_common.JavaRuntimeInfo] args["java"] = java.java_executable_exec_path + java = ctx.attr._host_javabase[DefaultInfo] elif ctx.attr.expected_r_class_fields: fail("Expected a R.java file but none was generated") @@ -191,8 +192,6 @@ set -eu EXPECTED_R_CLASS_FIELDS="{expected_r_class_fields}" if [ "{check_r_java}" == "True" ]; then - set -x - # Check the contents of the resources jar, as it is always produced. # There are cases when it is produced empty (with only META-INF data). # If there is no R.class generated and the expectation is no resource @@ -206,7 +205,6 @@ if [ "{check_r_java}" == "True" ]; then exit fi - find . -name java -type f {java} -cp {class_path} com.google.RClassChecker \ --package="{package}" \ --expected_r_class_fields="${{EXPECTED_R_CLASS_FIELDS}}"