Skip to content

Commit 8a5123e

Browse files
l46kokcopybara-github
authored andcommitted
Migrate Lite Runtime to Program Planner
PiperOrigin-RevId: 945938801
1 parent 7d6d21e commit 8a5123e

29 files changed

Lines changed: 1268 additions & 855 deletions

bundle/src/test/java/dev/cel/bundle/CelImplTest.java

Lines changed: 0 additions & 36 deletions
Original file line numberDiff line numberDiff line change
@@ -563,23 +563,6 @@ public void program_withVars() throws Exception {
563563
assertThat(program.eval(ImmutableMap.of("variable", "hello"))).isEqualTo(true);
564564
}
565565

566-
@Test
567-
public void program_withCelValue() throws Exception {
568-
Cel cel =
569-
standardCelBuilderWithMacros()
570-
.setOptions(CelOptions.current().enableCelValue(true).build())
571-
.addDeclarations(
572-
Decl.newBuilder()
573-
.setName("variable")
574-
.setIdent(IdentDecl.newBuilder().setType(CelProtoTypes.STRING))
575-
.build())
576-
.setResultType(SimpleType.BOOL)
577-
.build();
578-
579-
CelRuntime.Program program = cel.createProgram(cel.compile("variable == 'hello'").getAst());
580-
581-
assertThat(program.eval(ImmutableMap.of("variable", "hello"))).isEqualTo(true);
582-
}
583566

584567
@Test
585568
public void program_withProtoVars() throws Exception {
@@ -1429,25 +1412,6 @@ public void programAdvanceEvaluation_nestedSelect() throws Exception {
14291412
.isEqualTo(CelUnknownSet.create(CelAttribute.fromQualifiedIdentifier("com.google.a")));
14301413
}
14311414

1432-
@Test
1433-
public void programAdvanceEvaluation_nestedSelect_withCelValue() throws Exception {
1434-
Cel cel =
1435-
standardCelBuilderWithMacros()
1436-
.setOptions(
1437-
CelOptions.current().enableUnknownTracking(true).enableCelValue(true).build())
1438-
.addVar("com", MapType.create(SimpleType.STRING, SimpleType.DYN))
1439-
.addFunctionBindings()
1440-
.setResultType(SimpleType.BOOL)
1441-
.build();
1442-
CelRuntime.Program program = cel.createProgram(cel.compile("com.google.a || false").getAst());
1443-
1444-
assertThat(
1445-
program.advanceEvaluation(
1446-
UnknownContext.create(
1447-
fromMap(ImmutableMap.of()),
1448-
ImmutableList.of(CelAttributePattern.fromQualifiedIdentifier("com.google.a")))))
1449-
.isEqualTo(CelUnknownSet.create(CelAttribute.fromQualifiedIdentifier("com.google.a")));
1450-
}
14511415

14521416
@Test
14531417
public void programAdvanceEvaluation_argumentMergeErrorPriority() throws Exception {

common/BUILD.bazel

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,11 @@ java_library(
2222
exports = ["//common/src/main/java/dev/cel/common:container"],
2323
)
2424

25+
cel_android_library(
26+
name = "container_android",
27+
exports = ["//common/src/main/java/dev/cel/common:container_android"],
28+
)
29+
2530
java_library(
2631
name = "proto_ast",
2732
exports = ["//common/src/main/java/dev/cel/common:proto_ast"],

common/ast/BUILD.bazel

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,12 @@ java_library(
1717
exports = ["//common/src/main/java/dev/cel/common/ast:cel_block"],
1818
)
1919

20+
cel_android_library(
21+
name = "cel_block_android",
22+
visibility = ["//:internal"],
23+
exports = ["//common/src/main/java/dev/cel/common/ast:cel_block_android"],
24+
)
25+
2026
cel_android_library(
2127
name = "ast_android",
2228
exports = ["//common/src/main/java/dev/cel/common/ast:ast_android"],

common/navigation/BUILD.bazel

Lines changed: 6 additions & 0 deletions
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"],
@@ -15,6 +16,11 @@ java_library(
1516
exports = ["//common/src/main/java/dev/cel/common/navigation"],
1617
)
1718

19+
cel_android_library(
20+
name = "navigation_android",
21+
exports = ["//common/src/main/java/dev/cel/common/navigation:navigation_android"],
22+
)
23+
1824
java_library(
1925
name = "mutable_navigation",
2026
exports = ["//common/src/main/java/dev/cel/common/navigation:mutable_navigation"],

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

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -365,6 +365,18 @@ java_library(
365365
],
366366
)
367367

368+
cel_android_library(
369+
name = "container_android",
370+
srcs = ["CelContainer.java"],
371+
tags = [
372+
],
373+
deps = [
374+
"//:auto_value",
375+
"@maven//:com_google_errorprone_error_prone_annotations",
376+
"@maven_android//:com_google_guava_guava",
377+
],
378+
)
379+
368380
java_library(
369381
name = "operator",
370382
srcs = ["Operator.java"],

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

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -71,6 +71,20 @@ java_library(
7171
],
7272
)
7373

74+
cel_android_library(
75+
name = "cel_block_android",
76+
srcs = ["CelBlock.java"],
77+
tags = [
78+
],
79+
deps = [
80+
":ast_android",
81+
"//common:cel_ast_android",
82+
"//common/annotations",
83+
"//common/navigation:navigation_android",
84+
"@maven_android//:com_google_guava_guava",
85+
],
86+
)
87+
7488
java_library(
7589
name = "expr_converter",
7690
srcs = EXPR_CONVERTER_SOURCES,

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

Lines changed: 39 additions & 0 deletions
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 = [
@@ -28,6 +29,25 @@ java_library(
2829
],
2930
)
3031

32+
cel_android_library(
33+
name = "common_android",
34+
srcs = [
35+
"BaseNavigableExpr.java",
36+
"CelNavigableExprVisitor.java",
37+
"ExprPropertyCalculator.java",
38+
"TraversalOrder.java",
39+
],
40+
tags = [
41+
],
42+
deps = [
43+
"//:auto_value",
44+
"//common/ast:ast_android",
45+
"@maven//:com_google_errorprone_error_prone_annotations",
46+
"@maven//:org_jspecify_jspecify",
47+
"@maven_android//:com_google_guava_guava",
48+
],
49+
)
50+
3151
java_library(
3252
name = "navigation",
3353
srcs = [
@@ -47,6 +67,25 @@ java_library(
4767
],
4868
)
4969

70+
cel_android_library(
71+
name = "navigation_android",
72+
srcs = [
73+
"CelNavigableAst.java",
74+
"CelNavigableExpr.java",
75+
],
76+
tags = [
77+
],
78+
deps = [
79+
":common_android",
80+
"//:auto_value",
81+
"//common:cel_ast_android",
82+
"//common/ast:ast_android",
83+
"@maven//:com_google_errorprone_error_prone_annotations",
84+
"@maven//:org_jspecify_jspecify",
85+
"@maven_android//:com_google_guava_guava",
86+
],
87+
)
88+
5089
java_library(
5190
name = "mutable_navigation",
5291
srcs = [

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

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -408,6 +408,7 @@ java_library(
408408
],
409409
deps = [
410410
"//common/annotations",
411+
"//common/values",
411412
"//common/values:base_proto_cel_value_converter",
412413
"//common/values:cel_value_provider",
413414
"@maven//:com_google_errorprone_error_prone_annotations",
@@ -423,6 +424,7 @@ cel_android_library(
423424
"//common/annotations",
424425
"//common/values:base_proto_cel_value_converter_android",
425426
"//common/values:cel_value_provider_android",
427+
"//common/values:values_android",
426428
"@maven//:com_google_errorprone_error_prone_annotations",
427429
],
428430
)

common/src/main/java/dev/cel/common/values/BaseProtoMessageValueProvider.java

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -28,4 +28,9 @@
2828
public abstract class BaseProtoMessageValueProvider implements CelValueProvider {
2929

3030
public abstract BaseProtoCelValueConverter protoCelValueConverter();
31+
32+
@Override
33+
public CelValueConverter celValueConverter() {
34+
return protoCelValueConverter();
35+
}
3136
}

runtime/BUILD.bazel

Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -226,11 +226,21 @@ java_library(
226226
exports = ["//runtime/src/main/java/dev/cel/runtime:interpreter_util"],
227227
)
228228

229+
cel_android_library(
230+
name = "interpreter_util_android",
231+
exports = ["//runtime/src/main/java/dev/cel/runtime:interpreter_util_android"],
232+
)
233+
229234
java_library(
230235
name = "evaluation_listener",
231236
exports = ["//runtime/src/main/java/dev/cel/runtime:evaluation_listener"],
232237
)
233238

239+
cel_android_library(
240+
name = "evaluation_listener_android",
241+
exports = ["//runtime/src/main/java/dev/cel/runtime:evaluation_listener_android"],
242+
)
243+
234244
cel_android_library(
235245
name = "standard_functions_android",
236246
exports = [
@@ -352,7 +362,20 @@ java_library(
352362
],
353363
)
354364

365+
cel_android_library(
366+
name = "accumulated_unknowns_android",
367+
visibility = ["//:internal"],
368+
exports = [
369+
"//runtime/src/main/java/dev/cel/runtime:accumulated_unknowns_android",
370+
],
371+
)
372+
355373
java_library(
356374
name = "partial_vars",
357375
exports = ["//runtime/src/main/java/dev/cel/runtime:partial_vars"],
358376
)
377+
378+
cel_android_library(
379+
name = "partial_vars_android",
380+
exports = ["//runtime/src/main/java/dev/cel/runtime:partial_vars_android"],
381+
)

0 commit comments

Comments
 (0)