diff --git a/MODULE.bazel b/MODULE.bazel index 0b67c825c..895715a5f 100644 --- a/MODULE.bazel +++ b/MODULE.bazel @@ -137,3 +137,4 @@ use_repo(maven, "maven", "maven_android", "maven_conformance") non_module_dependencies = use_extension("//:repositories.bzl", "non_module_dependencies") use_repo(non_module_dependencies, "antlr4_jar") use_repo(non_module_dependencies, "bazel_common") +use_repo(non_module_dependencies, "cel_policy") diff --git a/conformance/src/test/java/dev/cel/conformance/policy/BUILD.bazel b/conformance/src/test/java/dev/cel/conformance/policy/BUILD.bazel index 0326b6f15..e4d80eccf 100644 --- a/conformance/src/test/java/dev/cel/conformance/policy/BUILD.bazel +++ b/conformance/src/test/java/dev/cel/conformance/policy/BUILD.bazel @@ -29,3 +29,8 @@ java_library( "@maven//:junit_junit", ], ) + +cel_policy_conformance_test_java( + name = "policy_conformance_tests", + testdata = "@cel_policy//conformance:testdata", +) diff --git a/conformance/src/test/java/dev/cel/conformance/policy/cel_policy_conformance_test.bzl b/conformance/src/test/java/dev/cel/conformance/policy/cel_policy_conformance_test.bzl index 3e3720ec5..b53d982bb 100644 --- a/conformance/src/test/java/dev/cel/conformance/policy/cel_policy_conformance_test.bzl +++ b/conformance/src/test/java/dev/cel/conformance/policy/cel_policy_conformance_test.bzl @@ -33,7 +33,11 @@ def cel_policy_conformance_test_java( """ lbl = native.package_relative_label(testdata) - testdata_dir = lbl.package + "/" + lbl.name + + # Under Bzlmod, external repository runfiles are located in sibling directories + # named after their canonical repository name. + repo_prefix = "../" + lbl.workspace_name + "/" if lbl.workspace_name else "" + testdata_dir = repo_prefix + lbl.package + "/" + lbl.name java_test( name = name, diff --git a/repositories.bzl b/repositories.bzl index 8e9a9ba47..88f01019a 100644 --- a/repositories.bzl +++ b/repositories.bzl @@ -33,9 +33,20 @@ def bazel_common_dependency(): url = "https://github.com/google/bazel-common/archive/%s.tar.gz" % bazel_common_tag, ) +def cel_policy_dependency(): + cel_policy_tag = "569292f1c4eaa41894c1e37ee94eb146e284bcfa" + cel_policy_sha = "5a68318d906f6ce18492ad6f82b5f8bb083fd9d694cf567d399216c11da03157" + http_archive( + name = "cel_policy", + sha256 = cel_policy_sha, + strip_prefix = "cel-policy-%s" % cel_policy_tag, + url = "https://github.com/cel-expr/cel-policy/archive/%s.tar.gz" % cel_policy_tag, + ) + def _non_module_dependencies_impl(_ctx): antlr4_jar_dependency() bazel_common_dependency() + cel_policy_dependency() non_module_dependencies = module_extension( implementation = _non_module_dependencies_impl,