Skip to content

Commit 2c4026f

Browse files
l46kokcopybara-github
authored andcommitted
Implement interfaces for CelLiteRuntime. Add Android runtime tests
PiperOrigin-RevId: 732239885
1 parent 5f9c853 commit 2c4026f

35 files changed

+1231
-74
lines changed

WORKSPACE

+3-3
Original file line numberDiff line numberDiff line change
@@ -168,9 +168,9 @@ maven_install(
168168
### rules_android setup
169169
http_archive(
170170
name = "rules_android",
171-
sha256 = "7dc7a6ed0b9bf53f1f363292733e3d7164e140e96ed433a2937b19570d01d517",
172-
strip_prefix = "rules_android-0.6.1",
173-
url = "https://github.com/bazelbuild/rules_android/releases/download/v0.6.1/rules_android-v0.6.1.tar.gz",
171+
sha256 = "20d78e80007335ae83bf0de6fd7be192f7b6550857fa93734dbc287995eee756",
172+
strip_prefix = "rules_android-0.6.2",
173+
url = "https://github.com/bazelbuild/rules_android/releases/download/v0.6.2/rules_android-v0.6.2.tar.gz",
174174
)
175175

176176
load("@rules_android//:prereqs.bzl", "rules_android_prereqs")

cel_android_library.bzl renamed to cel_android_rules.bzl

+24-5
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,11 @@
1313
# limitations under the License.
1414
"""Macro to create android_library rules with CEL specific options applied."""
1515

16-
load("@rules_android//rules:rules.bzl", "android_library")
16+
load("@rules_android//rules:rules.bzl", "android_library", "android_local_test")
17+
18+
DEFAULT_JAVACOPTS = [
19+
"-XDstringConcat=inline", # SDK forces usage of StringConcatFactory (java 9+)
20+
]
1721

1822
def cel_android_library(name, **kwargs):
1923
"""
@@ -23,15 +27,30 @@ def cel_android_library(name, **kwargs):
2327
name: name of the android_library target
2428
**kwargs: rest of the args accepted by android_library
2529
"""
26-
default_javacopts = [
27-
"-XDstringConcat=inline", # SDK forces usage of StringConcatFactory (java 9+)
28-
]
2930

3031
javacopts = kwargs.get("javacopts", [])
31-
all_javacopts = default_javacopts + javacopts
32+
all_javacopts = DEFAULT_JAVACOPTS + javacopts
3233

3334
android_library(
3435
name = name,
3536
javacopts = all_javacopts,
3637
**kwargs
3738
)
39+
40+
def cel_android_local_test(name, **kwargs):
41+
"""
42+
Generates android_local_test target with CEL specific javacopts applied
43+
44+
Args:
45+
name: name of the android_local_test target
46+
**kwargs: rest of the args accepted by android_local_test
47+
"""
48+
49+
javacopts = kwargs.get("javacopts", [])
50+
all_javacopts = DEFAULT_JAVACOPTS + javacopts
51+
52+
android_local_test(
53+
name = name,
54+
javacopts = all_javacopts,
55+
**kwargs
56+
)

common/BUILD.bazel

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
load("@rules_java//java:defs.bzl", "java_library")
2-
load("//:cel_android_library.bzl", "cel_android_library")
2+
load("//:cel_android_rules.bzl", "cel_android_library")
33

44
package(
55
default_applicable_licenses = ["//:license"],

common/ast/BUILD.bazel

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
load("@rules_java//java:defs.bzl", "java_library")
2-
load("//:cel_android_library.bzl", "cel_android_library")
2+
load("//:cel_android_rules.bzl", "cel_android_library")
33

44
package(
55
default_applicable_licenses = ["//:license"],

common/internal/BUILD.bazel

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
load("@rules_java//java:defs.bzl", "java_library")
2-
load("//:cel_android_library.bzl", "cel_android_library")
2+
load("//:cel_android_rules.bzl", "cel_android_library")
33

44
package(
55
default_applicable_licenses = ["//:license"],

common/src/main/java/dev/cel/common/BUILD.bazel

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
load("@rules_java//java:defs.bzl", "java_library")
2-
load("//:cel_android_library.bzl", "cel_android_library")
2+
load("//:cel_android_rules.bzl", "cel_android_library")
33

44
package(
55
default_applicable_licenses = ["//:license"],

common/src/main/java/dev/cel/common/ast/BUILD.bazel

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
load("@rules_java//java:defs.bzl", "java_library")
2-
load("//:cel_android_library.bzl", "cel_android_library")
2+
load("//:cel_android_rules.bzl", "cel_android_library")
33

44
package(
55
default_applicable_licenses = [

common/src/main/java/dev/cel/common/internal/BUILD.bazel

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
load("@rules_java//java:defs.bzl", "java_library")
2-
load("//:cel_android_library.bzl", "cel_android_library")
2+
load("//:cel_android_rules.bzl", "cel_android_library")
33

44
package(
55
default_applicable_licenses = [

common/src/main/java/dev/cel/common/types/BUILD.bazel

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
load("@rules_java//java:defs.bzl", "java_library")
2-
load("//:cel_android_library.bzl", "cel_android_library")
2+
load("//:cel_android_rules.bzl", "cel_android_library")
33

44
package(
55
default_applicable_licenses = [

common/types/BUILD.bazel

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
load("@rules_java//java:defs.bzl", "java_library")
2-
load("//:cel_android_library.bzl", "cel_android_library")
2+
load("//:cel_android_rules.bzl", "cel_android_library")
33

44
package(
55
default_applicable_licenses = ["//:license"],

runtime/BUILD.bazel

+62-1
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
load("@rules_java//java:defs.bzl", "java_library")
2+
load("//:cel_android_rules.bzl", "cel_android_library")
23

34
package(
45
default_applicable_licenses = ["//:license"],
@@ -8,10 +9,20 @@ package(
89
java_library(
910
name = "runtime",
1011
exports = [
12+
":evaluation_exception",
1113
"//runtime/src/main/java/dev/cel/runtime",
12-
"//runtime/src/main/java/dev/cel/runtime:evaluation_exception",
14+
"//runtime/src/main/java/dev/cel/runtime:descriptor_message_provider",
1315
"//runtime/src/main/java/dev/cel/runtime:function_overload",
1416
"//runtime/src/main/java/dev/cel/runtime:metadata",
17+
"//runtime/src/main/java/dev/cel/runtime:runtime_type_provider",
18+
],
19+
)
20+
21+
java_library(
22+
name = "dispatcher",
23+
visibility = ["//:internal"],
24+
exports = [
25+
"//runtime/src/main/java/dev/cel/runtime:dispatcher",
1526
],
1627
)
1728

@@ -46,8 +57,17 @@ java_library(
4657
],
4758
)
4859

60+
cel_android_library(
61+
name = "function_binding_android",
62+
visibility = ["//:android_allow_list"],
63+
exports = [
64+
"//runtime/src/main/java/dev/cel/runtime:function_binding_android",
65+
],
66+
)
67+
4968
java_library(
5069
name = "function_overload_impl",
70+
# used_by_android
5171
visibility = ["//:internal"],
5272
exports = [
5373
"//runtime/src/main/java/dev/cel/runtime:function_overload_impl",
@@ -59,8 +79,30 @@ java_library(
5979
exports = ["//runtime/src/main/java/dev/cel/runtime:evaluation_exception_builder"],
6080
)
6181

82+
java_library(
83+
name = "lite_runtime",
84+
visibility = ["//:internal"],
85+
exports = [
86+
"//runtime/src/main/java/dev/cel/runtime:lite_runtime",
87+
],
88+
)
89+
90+
java_library(
91+
name = "lite_runtime_factory",
92+
visibility = ["//:internal"],
93+
exports = [
94+
"//runtime/src/main/java/dev/cel/runtime:lite_runtime_factory",
95+
],
96+
)
97+
98+
java_library(
99+
name = "evaluation_exception",
100+
exports = ["//runtime/src/main/java/dev/cel/runtime:evaluation_exception"],
101+
)
102+
62103
java_library(
63104
name = "interpreter",
105+
deprecation = "Please use CEL-Java Fluent APIs //runtime:runtime instead",
64106
exports = ["//runtime/src/main/java/dev/cel/runtime:interpreter"],
65107
)
66108

@@ -114,6 +156,25 @@ java_library(
114156
exports = ["//runtime/src/main/java/dev/cel/runtime:evaluation_listener"],
115157
)
116158

159+
cel_android_library(
160+
name = "standard_functions_android",
161+
exports = [
162+
"//runtime/src/main/java/dev/cel/runtime:standard_functions_android",
163+
],
164+
)
165+
166+
cel_android_library(
167+
name = "lite_runtime_android",
168+
visibility = ["//:android_allow_list"],
169+
exports = ["//runtime/src/main/java/dev/cel/runtime:lite_runtime_android"],
170+
)
171+
172+
cel_android_library(
173+
name = "lite_runtime_factory_android",
174+
visibility = ["//:android_allow_list"],
175+
exports = ["//runtime/src/main/java/dev/cel/runtime:lite_runtime_factory_android"],
176+
)
177+
117178
java_library(
118179
name = "base",
119180
exports = [

0 commit comments

Comments
 (0)