Skip to content

Commit 9461389

Browse files
dmitriplotnikovcopybara-github
authored andcommitted
Exclude protobuf-javalite from the public artifacts for CEL.
This is done to avoid a dependency on both protobuf-java and protobuf-lite, which leads to a classpath conflict PiperOrigin-RevId: 789943418
1 parent 8a1ad06 commit 9461389

10 files changed

Lines changed: 86 additions & 56 deletions

File tree

.github/workflows/unwanted_deps.sh

Lines changed: 24 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -15,21 +15,31 @@
1515

1616
# Script ran as part of Github CEL-Java CI to verify that the runtime jar does not contain unwanted dependencies.
1717

18-
UNWANTED_DEPS=(
19-
'@cel_spec' # Do not include generated CEL protos in the jar
20-
'protobuf_java_util' # Does not support protolite
21-
)
22-
23-
runtime_deps="$(bazel query 'deps(//publish:cel_runtime)' --nohost_deps --noimplicit_deps --output graph)"
24-
25-
for unwanted_dep in "${UNWANTED_DEPS[@]}"; do
26-
if echo "$runtime_deps" | grep "$unwanted_dep" > /dev/null; then
27-
echo -e "Runtime contains unwanted dependency: $unwanted_dep!\n"
28-
echo "cel_spec dependency graph (including '$unwanted_dep'):"
29-
echo "$(echo "$runtime_deps" | grep "$unwanted_dep")"
18+
function checkUnwantedDeps {
19+
target="$1"
20+
unwanted_dep="$2"
21+
22+
query="bazel query 'deps(${target})' --notool_deps --noimplicit_deps --output graph"
23+
deps=$(eval $query)
24+
25+
if echo "$deps" | grep "$unwanted_dep" > /dev/null; then
26+
echo -e "$target contains unwanted dependency: $unwanted_dep!\n"
27+
echo "$(echo "$deps" | grep "$unwanted_dep")"
3028
exit 1
3129
fi
32-
done
30+
}
3331

34-
exit 0
32+
# Do not include generated CEL protos in the jar
33+
checkUnwantedDeps '//publish:cel_runtime' '@cel_spec'
3534

35+
# cel_runtime does not support protolite
36+
checkUnwantedDeps '//publish:cel_runtime' 'protobuf_java_util'
37+
checkUnwantedDeps '//publish:cel' 'protobuf_java_util'
38+
39+
# cel_runtime shouldn't depend on the protobuf_lite runtime
40+
checkUnwantedDeps '//publish:cel_runtime' '@maven_android//:com_google_protobuf_protobuf_javalite'
41+
checkUnwantedDeps '//publish:cel' '@maven_android//:com_google_protobuf_protobuf_javalite'
42+
43+
# cel_runtime_android shouldn't depend on the full protobuf runtime
44+
checkUnwantedDeps '//publish:cel_runtime_android' '@maven//:com_google_protobuf_protobuf_java'
45+
exit 0

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

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -209,7 +209,6 @@ java_library(
209209
"@maven//:com_google_errorprone_error_prone_annotations",
210210
"@maven//:com_google_guava_guava",
211211
"@maven//:com_google_protobuf_protobuf_java",
212-
"@maven_android//:com_google_protobuf_protobuf_javalite",
213212
],
214213
)
215214

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

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -52,7 +52,6 @@ java_library(
5252
"@maven//:com_google_errorprone_error_prone_annotations",
5353
"@maven//:com_google_guava_guava",
5454
"@maven//:com_google_protobuf_protobuf_java",
55-
"@maven_android//:com_google_protobuf_protobuf_javalite",
5655
],
5756
)
5857

@@ -114,7 +113,7 @@ java_library(
114113
":ast",
115114
"//common/annotations",
116115
"@maven//:com_google_guava_guava",
117-
"@maven_android//:com_google_protobuf_protobuf_javalite",
116+
"@maven//:com_google_protobuf_protobuf_java",
118117
],
119118
)
120119

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

Lines changed: 6 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -47,7 +47,6 @@ java_library(
4747
"@maven//:com_google_guava_guava",
4848
"@maven//:com_google_protobuf_protobuf_java",
4949
"@maven//:org_antlr_antlr4_runtime",
50-
"@maven_android//:com_google_protobuf_protobuf_javalite",
5150
],
5251
)
5352

@@ -132,15 +131,18 @@ DYNAMIC_PROTO_SOURCES = [
132131

133132
java_library(
134133
name = "default_instance_message_factory",
135-
srcs = ["DefaultInstanceMessageFactory.java"],
134+
srcs = [
135+
"DefaultInstanceMessageFactory.java",
136+
"DefaultInstanceMessageLiteFactory.java",
137+
],
136138
tags = [
137139
],
138140
deps = [
139-
":default_instance_message_lite_factory",
140141
":proto_java_qualified_names",
142+
":reflection_util",
141143
"//common/annotations",
144+
"@maven//:com_google_guava_guava",
142145
"@maven//:com_google_protobuf_protobuf_java",
143-
"@maven_android//:com_google_protobuf_protobuf_javalite",
144146
],
145147
)
146148

@@ -175,7 +177,6 @@ java_library(
175177
"@maven//:com_google_errorprone_error_prone_annotations",
176178
"@maven//:com_google_guava_guava",
177179
"@maven//:com_google_protobuf_protobuf_java",
178-
"@maven_android//:com_google_protobuf_protobuf_javalite",
179180
],
180181
)
181182

@@ -193,7 +194,6 @@ java_library(
193194
"@maven//:com_google_errorprone_error_prone_annotations",
194195
"@maven//:com_google_guava_guava",
195196
"@maven//:com_google_protobuf_protobuf_java",
196-
"@maven_android//:com_google_protobuf_protobuf_javalite",
197197
],
198198
)
199199

@@ -210,7 +210,6 @@ java_library(
210210
"@maven//:com_google_guava_guava",
211211
"@maven//:com_google_protobuf_protobuf_java",
212212
"@maven//:org_jspecify_jspecify",
213-
"@maven_android//:com_google_protobuf_protobuf_javalite",
214213
],
215214
)
216215

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

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -181,7 +181,6 @@ java_library(
181181
"@maven//:com_google_errorprone_error_prone_annotations",
182182
"@maven//:com_google_guava_guava",
183183
"@maven//:com_google_protobuf_protobuf_java",
184-
"@maven_android//:com_google_protobuf_protobuf_javalite",
185184
],
186185
)
187186

@@ -223,7 +222,6 @@ java_library(
223222
"@maven//:com_google_guava_guava",
224223
"@maven//:com_google_protobuf_protobuf_java",
225224
"@maven//:org_jspecify_jspecify",
226-
"@maven_android//:com_google_protobuf_protobuf_javalite",
227225
],
228226
)
229227

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

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -162,7 +162,7 @@ java_library(
162162
"//runtime:function_binding",
163163
"@maven//:com_google_errorprone_error_prone_annotations",
164164
"@maven//:com_google_guava_guava",
165-
"@maven_android//:com_google_protobuf_protobuf_javalite",
165+
"@maven//:com_google_protobuf_protobuf_java",
166166
],
167167
)
168168

@@ -187,7 +187,6 @@ java_library(
187187
"//runtime:runtime_equality",
188188
"@maven//:com_google_guava_guava",
189189
"@maven//:com_google_protobuf_protobuf_java",
190-
"@maven_android//:com_google_protobuf_protobuf_javalite",
191190
],
192191
)
193192

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

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -140,7 +140,7 @@ java_library(
140140
"//common/ast",
141141
"//common/ast:cel_expr_visitor",
142142
"@maven//:com_google_guava_guava",
143+
"@maven//:com_google_protobuf_protobuf_java",
143144
"@maven//:com_google_re2j_re2j",
144-
"@maven_android//:com_google_protobuf_protobuf_javalite",
145145
],
146146
)

runtime/BUILD.bazel

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -78,7 +78,6 @@ cel_android_library(
7878

7979
java_library(
8080
name = "function_overload_impl",
81-
# used_by_android
8281
visibility = ["//:internal"],
8382
exports = ["//runtime/src/main/java/dev/cel/runtime:function_overload_impl"],
8483
)

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

Lines changed: 51 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -137,7 +137,7 @@ cel_android_library(
137137
":base_android",
138138
":evaluation_exception",
139139
":evaluation_exception_builder",
140-
":function_overload_impl",
140+
":function_overload_impl_android",
141141
"//:auto_value",
142142
"//common:error_codes",
143143
"//common/annotations",
@@ -157,8 +157,8 @@ java_library(
157157
":runtime_helpers",
158158
"//common/annotations",
159159
"@maven//:com_google_guava_guava",
160+
"@maven//:com_google_protobuf_protobuf_java",
160161
"@maven//:org_jspecify_jspecify",
161-
"@maven_android//:com_google_protobuf_protobuf_javalite",
162162
],
163163
)
164164

@@ -202,7 +202,6 @@ java_library(
202202
"@maven//:com_google_errorprone_error_prone_annotations",
203203
"@maven//:com_google_guava_guava",
204204
"@maven//:com_google_protobuf_protobuf_java",
205-
"@maven_android//:com_google_protobuf_protobuf_javalite",
206205
],
207206
)
208207

@@ -254,7 +253,7 @@ cel_android_library(
254253
srcs = BASE_SOURCES,
255254
visibility = ["//visibility:private"],
256255
deps = [
257-
":function_overload_impl",
256+
":function_overload_impl_android",
258257
":metadata",
259258
"//common:cel_ast_android",
260259
"//common/annotations",
@@ -314,7 +313,7 @@ cel_android_library(
314313
":evaluation_exception",
315314
":evaluation_exception_builder",
316315
":evaluation_listener_android",
317-
":function_overload_impl",
316+
":function_overload_impl_android",
318317
":interpretable_android",
319318
":interpreter_util_android",
320319
":metadata",
@@ -354,7 +353,7 @@ java_library(
354353
"//common/internal:comparison_functions",
355354
"@maven//:com_google_errorprone_error_prone_annotations",
356355
"@maven//:com_google_guava_guava",
357-
"@maven_android//:com_google_protobuf_protobuf_javalite",
356+
"@maven//:com_google_protobuf_protobuf_java",
358357
],
359358
)
360359

@@ -435,7 +434,6 @@ java_library(
435434
"@maven//:com_google_protobuf_protobuf_java",
436435
"@maven//:com_google_re2j_re2j",
437436
"@maven//:org_threeten_threeten_extra",
438-
"@maven_android//:com_google_protobuf_protobuf_javalite",
439437
],
440438
)
441439

@@ -501,9 +499,9 @@ cel_android_library(
501499
":dispatcher_android",
502500
":evaluation_exception",
503501
":function_binding_android",
504-
":function_overload",
505-
":function_overload_impl",
506-
":function_resolver",
502+
":function_overload_android",
503+
":function_overload_impl_android",
504+
":function_resolver_android",
507505
"//:auto_value",
508506
"@maven//:com_google_errorprone_error_prone_annotations",
509507
"@maven_android//:com_google_guava_guava",
@@ -585,7 +583,7 @@ cel_android_library(
585583
deps = [
586584
":evaluation_exception",
587585
":evaluation_listener_android",
588-
":function_overload_impl",
586+
":function_overload_impl_android",
589587
"//common/annotations",
590588
"@maven//:com_google_errorprone_error_prone_annotations",
591589
"@maven//:org_jspecify_jspecify",
@@ -723,7 +721,7 @@ cel_android_library(
723721
tags = [
724722
],
725723
deps = [
726-
":function_overload",
724+
":function_overload_android",
727725
"//common/annotations",
728726
"@maven//:com_google_errorprone_error_prone_annotations",
729727
"@maven_android//:com_google_guava_guava",
@@ -733,7 +731,6 @@ cel_android_library(
733731
java_library(
734732
name = "function_resolver",
735733
srcs = ["CelFunctionResolver.java"],
736-
# used_by_android
737734
tags = [
738735
],
739736
deps = [
@@ -743,12 +740,21 @@ java_library(
743740
],
744741
)
745742

743+
cel_android_library(
744+
name = "function_resolver_android",
745+
srcs = ["CelFunctionResolver.java"],
746+
deps = [
747+
":function_overload_impl_android",
748+
"@maven//:com_google_code_findbugs_annotations",
749+
"@maven//:com_google_errorprone_error_prone_annotations",
750+
],
751+
)
752+
746753
java_library(
747754
name = "function_overload",
748755
srcs = [
749756
"CelFunctionOverload.java",
750757
],
751-
# used_by_android
752758
tags = [
753759
],
754760
deps = [
@@ -757,16 +763,42 @@ java_library(
757763
],
758764
)
759765

766+
cel_android_library(
767+
name = "function_overload_android",
768+
srcs = [
769+
"CelFunctionOverload.java",
770+
],
771+
deps = [
772+
":function_overload_impl_android",
773+
"@maven//:com_google_errorprone_error_prone_annotations",
774+
],
775+
)
776+
760777
java_library(
761778
name = "function_overload_impl",
762779
srcs = [
763780
"FunctionOverload.java",
764781
"FunctionResolver.java",
765782
"ResolvedOverload.java",
766783
],
767-
# used_by_android
768784
tags = [
769785
],
786+
deps = [
787+
":evaluation_exception",
788+
"//common/annotations",
789+
"@maven//:com_google_code_findbugs_annotations",
790+
"@maven//:com_google_errorprone_error_prone_annotations",
791+
"@maven//:com_google_protobuf_protobuf_java",
792+
],
793+
)
794+
795+
cel_android_library(
796+
name = "function_overload_impl_android",
797+
srcs = [
798+
"FunctionOverload.java",
799+
"FunctionResolver.java",
800+
"ResolvedOverload.java",
801+
],
770802
deps = [
771803
":evaluation_exception",
772804
"//common/annotations",
@@ -812,6 +844,7 @@ java_library(
812844
"//common/types:cel_types",
813845
"//common/values:cel_value_provider",
814846
"//common/values:proto_message_value_provider",
847+
"//runtime/standard:standard_function",
815848
"@maven//:com_google_code_findbugs_annotations",
816849
"@maven//:com_google_errorprone_error_prone_annotations",
817850
"@maven//:com_google_guava_guava",
@@ -881,7 +914,7 @@ cel_android_library(
881914
":dispatcher_android",
882915
":evaluation_exception",
883916
":function_binding_android",
884-
":function_resolver",
917+
":function_resolver_android",
885918
":interpretable_android",
886919
":interpreter_android",
887920
":lite_runtime_android",
@@ -1001,7 +1034,7 @@ java_library(
10011034
"//common/values:combined_cel_value_provider",
10021035
"@maven//:com_google_errorprone_error_prone_annotations",
10031036
"@maven//:com_google_guava_guava",
1004-
"@maven_android//:com_google_protobuf_protobuf_javalite",
1037+
"@maven//:com_google_protobuf_protobuf_java",
10051038
],
10061039
)
10071040

@@ -1086,7 +1119,7 @@ cel_android_library(
10861119
deps = [
10871120
":evaluation_exception",
10881121
":function_binding_android",
1089-
":function_resolver",
1122+
":function_resolver_android",
10901123
"//:auto_value",
10911124
"//common:cel_ast_android",
10921125
"//common:options",

0 commit comments

Comments
 (0)