Skip to content

Commit 281f43f

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 968b185 commit 281f43f

10 files changed

Lines changed: 90 additions & 61 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: 55 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -51,6 +51,13 @@ FUNCTION_BINDING_SOURCES = [
5151
"FunctionBindingImpl.java",
5252
]
5353

54+
# keep sorted
55+
FUNCTION_OVERLOAD_IMPL_SOURCES = [
56+
"FunctionOverload.java",
57+
"FunctionResolver.java",
58+
"ResolvedOverload.java",
59+
]
60+
5461
# keep sorted
5562
INTERPRABLE_SOURCES = [
5663
"GlobalResolver.java",
@@ -137,7 +144,7 @@ cel_android_library(
137144
":base_android",
138145
":evaluation_exception",
139146
":evaluation_exception_builder",
140-
":function_overload_impl",
147+
":function_overload_impl_android",
141148
"//:auto_value",
142149
"//common:error_codes",
143150
"//common/annotations",
@@ -157,8 +164,8 @@ java_library(
157164
":runtime_helpers",
158165
"//common/annotations",
159166
"@maven//:com_google_guava_guava",
167+
"@maven//:com_google_protobuf_protobuf_java",
160168
"@maven//:org_jspecify_jspecify",
161-
"@maven_android//:com_google_protobuf_protobuf_javalite",
162169
],
163170
)
164171

@@ -202,7 +209,6 @@ java_library(
202209
"@maven//:com_google_errorprone_error_prone_annotations",
203210
"@maven//:com_google_guava_guava",
204211
"@maven//:com_google_protobuf_protobuf_java",
205-
"@maven_android//:com_google_protobuf_protobuf_javalite",
206212
],
207213
)
208214

@@ -254,7 +260,7 @@ cel_android_library(
254260
srcs = BASE_SOURCES,
255261
visibility = ["//visibility:private"],
256262
deps = [
257-
":function_overload_impl",
263+
":function_overload_impl_android",
258264
":metadata",
259265
"//common:cel_ast_android",
260266
"//common/annotations",
@@ -314,7 +320,7 @@ cel_android_library(
314320
":evaluation_exception",
315321
":evaluation_exception_builder",
316322
":evaluation_listener_android",
317-
":function_overload_impl",
323+
":function_overload_impl_android",
318324
":interpretable_android",
319325
":interpreter_util_android",
320326
":metadata",
@@ -354,7 +360,7 @@ java_library(
354360
"//common/internal:comparison_functions",
355361
"@maven//:com_google_errorprone_error_prone_annotations",
356362
"@maven//:com_google_guava_guava",
357-
"@maven_android//:com_google_protobuf_protobuf_javalite",
363+
"@maven//:com_google_protobuf_protobuf_java",
358364
],
359365
)
360366

@@ -435,7 +441,6 @@ java_library(
435441
"@maven//:com_google_protobuf_protobuf_java",
436442
"@maven//:com_google_re2j_re2j",
437443
"@maven//:org_threeten_threeten_extra",
438-
"@maven_android//:com_google_protobuf_protobuf_javalite",
439444
],
440445
)
441446

@@ -501,9 +506,9 @@ cel_android_library(
501506
":dispatcher_android",
502507
":evaluation_exception",
503508
":function_binding_android",
504-
":function_overload",
505-
":function_overload_impl",
506-
":function_resolver",
509+
":function_overload_android",
510+
":function_overload_impl_android",
511+
":function_resolver_android",
507512
"//:auto_value",
508513
"@maven//:com_google_errorprone_error_prone_annotations",
509514
"@maven_android//:com_google_guava_guava",
@@ -585,7 +590,7 @@ cel_android_library(
585590
deps = [
586591
":evaluation_exception",
587592
":evaluation_listener_android",
588-
":function_overload_impl",
593+
":function_overload_impl_android",
589594
"//common/annotations",
590595
"@maven//:com_google_errorprone_error_prone_annotations",
591596
"@maven//:org_jspecify_jspecify",
@@ -723,7 +728,7 @@ cel_android_library(
723728
tags = [
724729
],
725730
deps = [
726-
":function_overload",
731+
":function_overload_android",
727732
"//common/annotations",
728733
"@maven//:com_google_errorprone_error_prone_annotations",
729734
"@maven_android//:com_google_guava_guava",
@@ -733,7 +738,6 @@ cel_android_library(
733738
java_library(
734739
name = "function_resolver",
735740
srcs = ["CelFunctionResolver.java"],
736-
# used_by_android
737741
tags = [
738742
],
739743
deps = [
@@ -743,12 +747,21 @@ java_library(
743747
],
744748
)
745749

750+
cel_android_library(
751+
name = "function_resolver_android",
752+
srcs = ["CelFunctionResolver.java"],
753+
deps = [
754+
":function_overload_impl_android",
755+
"@maven//:com_google_code_findbugs_annotations",
756+
"@maven//:com_google_errorprone_error_prone_annotations",
757+
],
758+
)
759+
746760
java_library(
747761
name = "function_overload",
748762
srcs = [
749763
"CelFunctionOverload.java",
750764
],
751-
# used_by_android
752765
tags = [
753766
],
754767
deps = [
@@ -757,16 +770,34 @@ java_library(
757770
],
758771
)
759772

760-
java_library(
761-
name = "function_overload_impl",
773+
cel_android_library(
774+
name = "function_overload_android",
762775
srcs = [
763-
"FunctionOverload.java",
764-
"FunctionResolver.java",
765-
"ResolvedOverload.java",
776+
"CelFunctionOverload.java",
766777
],
767-
# used_by_android
778+
deps = [
779+
":function_overload_impl_android",
780+
"@maven//:com_google_errorprone_error_prone_annotations",
781+
],
782+
)
783+
784+
java_library(
785+
name = "function_overload_impl",
786+
srcs = FUNCTION_OVERLOAD_IMPL_SOURCES,
768787
tags = [
769788
],
789+
deps = [
790+
":evaluation_exception",
791+
"//common/annotations",
792+
"@maven//:com_google_code_findbugs_annotations",
793+
"@maven//:com_google_errorprone_error_prone_annotations",
794+
"@maven//:com_google_protobuf_protobuf_java",
795+
],
796+
)
797+
798+
cel_android_library(
799+
name = "function_overload_impl_android",
800+
srcs = FUNCTION_OVERLOAD_IMPL_SOURCES,
770801
deps = [
771802
":evaluation_exception",
772803
"//common/annotations",
@@ -812,6 +843,7 @@ java_library(
812843
"//common/types:cel_types",
813844
"//common/values:cel_value_provider",
814845
"//common/values:proto_message_value_provider",
846+
"//runtime/standard:standard_function",
815847
"@maven//:com_google_code_findbugs_annotations",
816848
"@maven//:com_google_errorprone_error_prone_annotations",
817849
"@maven//:com_google_guava_guava",
@@ -881,7 +913,7 @@ cel_android_library(
881913
":dispatcher_android",
882914
":evaluation_exception",
883915
":function_binding_android",
884-
":function_resolver",
916+
":function_resolver_android",
885917
":interpretable_android",
886918
":interpreter_android",
887919
":lite_runtime_android",
@@ -1001,7 +1033,7 @@ java_library(
10011033
"//common/values:combined_cel_value_provider",
10021034
"@maven//:com_google_errorprone_error_prone_annotations",
10031035
"@maven//:com_google_guava_guava",
1004-
"@maven_android//:com_google_protobuf_protobuf_javalite",
1036+
"@maven//:com_google_protobuf_protobuf_java",
10051037
],
10061038
)
10071039

@@ -1086,7 +1118,7 @@ cel_android_library(
10861118
deps = [
10871119
":evaluation_exception",
10881120
":function_binding_android",
1089-
":function_resolver",
1121+
":function_resolver_android",
10901122
"//:auto_value",
10911123
"//common:cel_ast_android",
10921124
"//common:options",

0 commit comments

Comments
 (0)