@@ -40,6 +40,114 @@ compile_cel(
40
40
expression = "''.isEmpty() && [].isEmpty()" ,
41
41
)
42
42
43
+ compile_cel (
44
+ name = "compiled_proto2_select_primitives_all_ored" ,
45
+ environment = "//testing/environment:proto2_message_variables" ,
46
+ expression = "proto2.single_int32 == 1 || proto2.single_int64 == 2 || proto2.single_uint32 == 3u || proto2.single_uint64 == 4u ||" +
47
+ "proto2.single_sint32 == 5 || proto2.single_sint64 == 6 || proto2.single_fixed32 == 7u || proto2.single_fixed64 == 8u ||" +
48
+ "proto2.single_sfixed32 == 9 || proto2.single_sfixed64 == 10 || proto2.single_float == 1.5 || proto2.single_double == 2.5 ||" +
49
+ "proto2.single_bool || proto2.single_string == 'hello world' || proto2.single_bytes == b\' abc\' " ,
50
+ proto_srcs = ["@cel_spec//proto/cel/expr/conformance/proto2:test_all_types_proto" ],
51
+ )
52
+
53
+ compile_cel (
54
+ name = "compiled_proto2_select_primitives" ,
55
+ environment = "//testing/environment:proto2_message_variables" ,
56
+ expression = "proto2.single_int32 == 1 && proto2.single_int64 == 2 && proto2.single_uint32 == 3u && proto2.single_uint64 == 4u &&" +
57
+ "proto2.single_sint32 == 5 && proto2.single_sint64 == 6 && proto2.single_fixed32 == 7u && proto2.single_fixed64 == 8u &&" +
58
+ "proto2.single_sfixed32 == 9 && proto2.single_sfixed64 == 10 && proto2.single_float == 1.5 && proto2.single_double == 2.5 &&" +
59
+ "proto2.single_bool && proto2.single_string == 'hello world' && proto2.single_bytes == b\' abc\' " ,
60
+ proto_srcs = ["@cel_spec//proto/cel/expr/conformance/proto2:test_all_types_proto" ],
61
+ )
62
+
63
+ compile_cel (
64
+ name = "compiled_proto2_select_wrappers" ,
65
+ environment = "//testing/environment:proto2_message_variables" ,
66
+ expression = "proto2.single_int32_wrapper == 1 && proto2.single_int64_wrapper == 2 && proto2.single_float_wrapper == 1.5 &&" +
67
+ "proto2.single_double_wrapper == 2.5 && proto2.single_uint32_wrapper == 3u && proto2.single_uint64_wrapper == 4u &&" +
68
+ "proto2.single_string_wrapper == 'hello world' && proto2.single_bool_wrapper && proto2.single_bytes_wrapper == b\' abc\' " ,
69
+ proto_srcs = ["@cel_spec//proto/cel/expr/conformance/proto2:test_all_types_proto" ],
70
+ )
71
+
72
+ compile_cel (
73
+ name = "compiled_proto3_select_primitives_all_ored" ,
74
+ environment = "//testing/environment:proto3_message_variables" ,
75
+ expression = "proto3.single_int32 == 1 || proto3.single_int64 == 2 || proto3.single_uint32 == 3u || proto3.single_uint64 == 4u ||" +
76
+ "proto3.single_sint32 == 5 || proto3.single_sint64 == 6 || proto3.single_fixed32 == 7u || proto3.single_fixed64 == 8u ||" +
77
+ "proto3.single_sfixed32 == 9 || proto3.single_sfixed64 == 10 || proto3.single_float == 1.5 || proto3.single_double == 2.5 ||" +
78
+ "proto3.single_bool || proto3.single_string == 'hello world' || proto3.single_bytes == b\' abc\' " ,
79
+ proto_srcs = ["@cel_spec//proto/cel/expr/conformance/proto3:test_all_types_proto" ],
80
+ )
81
+
82
+ compile_cel (
83
+ name = "compiled_proto3_select_primitives" ,
84
+ environment = "//testing/environment:proto3_message_variables" ,
85
+ expression = "proto3.single_int32 == 1 && proto3.single_int64 == 2 && proto3.single_uint32 == 3u && proto3.single_uint64 == 4u &&" +
86
+ "proto3.single_sint32 == 5 && proto3.single_sint64 == 6 && proto3.single_fixed32 == 7u && proto3.single_fixed64 == 8u &&" +
87
+ "proto3.single_sfixed32 == 9 && proto3.single_sfixed64 == 10 && proto3.single_float == 1.5 && proto3.single_double == 2.5 &&" +
88
+ "proto3.single_bool && proto3.single_string == 'hello world' && proto3.single_bytes == b\' abc\' " ,
89
+ proto_srcs = ["@cel_spec//proto/cel/expr/conformance/proto3:test_all_types_proto" ],
90
+ )
91
+
92
+ compile_cel (
93
+ name = "compiled_proto3_select_wrappers" ,
94
+ environment = "//testing/environment:proto3_message_variables" ,
95
+ expression = "proto3.single_int32_wrapper == 1 && proto3.single_int64_wrapper == 2 && proto3.single_float_wrapper == 1.5 &&" +
96
+ "proto3.single_double_wrapper == 2.5 && proto3.single_uint32_wrapper == 3u && proto3.single_uint64_wrapper == 4u &&" +
97
+ "proto3.single_string_wrapper == 'hello world' && proto3.single_bool_wrapper && proto3.single_bytes_wrapper == b\' abc\' " ,
98
+ proto_srcs = ["@cel_spec//proto/cel/expr/conformance/proto3:test_all_types_proto" ],
99
+ )
100
+
101
+ compile_cel (
102
+ name = "compiled_proto2_deep_traversal" ,
103
+ environment = "//testing/environment:proto2_message_variables" ,
104
+ expression = "proto2.oneof_type.payload.repeated_string" ,
105
+ proto_srcs = ["@cel_spec//proto/cel/expr/conformance/proto2:test_all_types_proto" ],
106
+ )
107
+
108
+ compile_cel (
109
+ name = "compiled_proto3_deep_traversal" ,
110
+ environment = "//testing/environment:proto3_message_variables" ,
111
+ expression = "proto3.oneof_type.payload.repeated_string" ,
112
+ proto_srcs = ["@cel_spec//proto/cel/expr/conformance/proto3:test_all_types_proto" ],
113
+ )
114
+
115
+ compile_cel (
116
+ name = "compiled_proto2_select_repeated_fields" ,
117
+ environment = "//testing/environment:proto2_message_variables" ,
118
+ expression = "[proto2.repeated_int32, proto2.repeated_int64, proto2.repeated_uint32, proto2.repeated_uint64, proto2.repeated_sint32, proto2.repeated_sint64, " +
119
+ "proto2.repeated_fixed32, proto2.repeated_fixed64, proto2.repeated_sfixed32, proto2.repeated_sfixed64, proto2.repeated_float, proto2.repeated_double, " +
120
+ "proto2.repeated_bool, proto2.repeated_string, proto2.repeated_bytes]" ,
121
+ proto_srcs = ["@cel_spec//proto/cel/expr/conformance/proto2:test_all_types_proto" ],
122
+ )
123
+
124
+ compile_cel (
125
+ name = "compiled_proto3_select_repeated_fields" ,
126
+ environment = "//testing/environment:proto3_message_variables" ,
127
+ expression = "[proto3.repeated_int32, proto3.repeated_int64, proto3.repeated_uint32, proto3.repeated_uint64, proto3.repeated_sint32, proto3.repeated_sint64, " +
128
+ "proto3.repeated_fixed32, proto3.repeated_fixed64, proto3.repeated_sfixed32, proto3.repeated_sfixed64, proto3.repeated_float, proto3.repeated_double, " +
129
+ "proto3.repeated_bool, proto3.repeated_string, proto3.repeated_bytes]" ,
130
+ proto_srcs = ["@cel_spec//proto/cel/expr/conformance/proto3:test_all_types_proto" ],
131
+ )
132
+
133
+ compile_cel (
134
+ name = "compiled_proto2_select_map_fields" ,
135
+ environment = "//testing/environment:proto2_message_variables" ,
136
+ expression = "[proto2.map_bool_bool, proto2.map_bool_string, proto2.map_bool_bytes, proto2.map_bool_int32, proto2.map_bool_int64, " +
137
+ "proto2.map_bool_uint32, proto2.map_bool_uint64, proto2.map_bool_float, proto2.map_bool_double, proto2.map_bool_enum, " +
138
+ "proto2.map_bool_duration, proto2.map_bool_timestamp]" ,
139
+ proto_srcs = ["@cel_spec//proto/cel/expr/conformance/proto2:test_all_types_proto" ],
140
+ )
141
+
142
+ compile_cel (
143
+ name = "compiled_proto3_select_map_fields" ,
144
+ environment = "//testing/environment:proto3_message_variables" ,
145
+ expression = "[proto3.map_bool_bool, proto3.map_bool_string, proto3.map_bool_bytes, proto3.map_bool_int32, proto3.map_bool_int64, " +
146
+ "proto3.map_bool_uint32, proto3.map_bool_uint64, proto3.map_bool_float, proto3.map_bool_double, proto3.map_bool_enum, " +
147
+ "proto3.map_bool_duration, proto3.map_bool_timestamp]" ,
148
+ proto_srcs = ["@cel_spec//proto/cel/expr/conformance/proto3:test_all_types_proto" ],
149
+ )
150
+
43
151
filegroup (
44
152
name = "compiled_exprs" ,
45
153
# keep sorted
@@ -50,9 +158,25 @@ filegroup(
50
158
":compiled_list_literal" ,
51
159
":compiled_one_plus_two" ,
52
160
":compiled_primitive_variables" ,
161
+ ":compiled_proto2_deep_traversal" ,
162
+ ":compiled_proto2_select_map_fields" ,
163
+ ":compiled_proto2_select_primitives" ,
164
+ ":compiled_proto2_select_primitives_all_ored" ,
165
+ ":compiled_proto2_select_repeated_fields" ,
166
+ ":compiled_proto2_select_wrappers" ,
167
+ ":compiled_proto3_deep_traversal" ,
168
+ ":compiled_proto3_select_map_fields" ,
169
+ ":compiled_proto3_select_primitives" ,
170
+ ":compiled_proto3_select_primitives_all_ored" ,
171
+ ":compiled_proto3_select_repeated_fields" ,
172
+ ":compiled_proto3_select_wrappers" ,
53
173
],
54
174
)
55
175
176
+ ANDROID_TESTS = [
177
+ "CelLiteRuntimeAndroidTest.java" ,
178
+ ]
179
+
56
180
java_library (
57
181
name = "tests" ,
58
182
testonly = 1 ,
@@ -62,7 +186,7 @@ java_library(
62
186
exclude = [
63
187
"CelValueInterpreterTest.java" ,
64
188
"InterpreterTest.java" ,
65
- ],
189
+ ] + ANDROID_TESTS ,
66
190
),
67
191
resources = [":compiled_exprs" ],
68
192
deps = [
@@ -76,7 +200,6 @@ java_library(
76
200
"//common:compiler_common" ,
77
201
"//common:error_codes" ,
78
202
"//common:options" ,
79
- "//common:proto_ast" ,
80
203
"//common:proto_v1alpha1_ast" ,
81
204
"//common:runtime_exception" ,
82
205
"//common/ast" ,
@@ -108,7 +231,6 @@ java_library(
108
231
"//runtime:interpreter_util" ,
109
232
"//runtime:lite_runtime" ,
110
233
"//runtime:lite_runtime_factory" ,
111
- "//runtime:lite_runtime_impl" ,
112
234
"//runtime:proto_message_activation_factory" ,
113
235
"//runtime:proto_message_runtime_equality" ,
114
236
"//runtime:proto_message_runtime_helpers" ,
@@ -120,7 +242,6 @@ java_library(
120
242
"//runtime:unknown_options" ,
121
243
"//testing:test_all_types_cel_java_proto2" ,
122
244
"//testing:test_all_types_cel_java_proto3" ,
123
- "@cel_spec//proto/cel/expr:checked_java_proto" ,
124
245
"@cel_spec//proto/cel/expr/conformance/proto2:test_all_types_java_proto" ,
125
246
"@cel_spec//proto/cel/expr/conformance/proto3:test_all_types_java_proto" ,
126
247
"@com_google_googleapis//google/api/expr/v1alpha1:expr_java_proto" ,
@@ -166,24 +287,28 @@ java_library(
166
287
167
288
cel_android_local_test (
168
289
name = "android_tests" ,
169
- srcs = [ "CelLiteRuntimeAndroidTest.java" ] ,
290
+ srcs = ANDROID_TESTS ,
170
291
resources = [":compiled_exprs" ],
171
292
test_class = "dev.cel.runtime.CelLiteRuntimeAndroidTest" ,
172
293
deps = [
173
294
"//:java_truth" ,
174
295
"//common:cel_ast_android" ,
175
- "//common:cel_source_android" ,
176
296
"//common:options" ,
177
297
"//common:proto_ast_android" ,
178
- "//common/ast:ast_android" ,
179
- "//common/types:types_android" ,
298
+ "//common/values:proto_message_lite_value_provider_android" ,
180
299
"//runtime:evaluation_exception" ,
181
300
"//runtime:function_binding_android" ,
182
301
"//runtime:lite_runtime_android" ,
183
302
"//runtime:lite_runtime_factory_android" ,
184
303
"//runtime:lite_runtime_impl_android" ,
185
304
"//runtime:standard_functions_android" ,
305
+ "//runtime:unknown_attributes_android" ,
306
+ "//testing:test_all_types_cel_java_proto2_lite" ,
307
+ "//testing:test_all_types_cel_java_proto3_lite" ,
186
308
"@cel_spec//proto/cel/expr:checked_java_proto_lite" ,
309
+ "@cel_spec//proto/cel/expr/conformance/proto2:test_all_types_java_proto_lite" ,
310
+ "@cel_spec//proto/cel/expr/conformance/proto3:test_all_types_java_proto_lite" ,
311
+ "@maven//:com_google_protobuf_protobuf_java_util" ,
187
312
"@maven//:com_google_testparameterinjector_test_parameter_injector" ,
188
313
"@maven_android//:com_google_guava_guava" ,
189
314
"@maven_android//:com_google_protobuf_protobuf_javalite" ,
0 commit comments