Skip to content

Commit eda7b03

Browse files
committed
Add stable CEL support: dev.cel.expr
1 parent bd90685 commit eda7b03

File tree

5 files changed

+23
-0
lines changed

5 files changed

+23
-0
lines changed

bazel/external_proto_deps.bzl

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -29,12 +29,16 @@ EXTERNAL_PROTO_GO_BAZEL_DEP_MAP = {
2929
# go_googleapis in https://github.com/bazelbuild/rules_go/blob/master/go/dependencies.rst#overriding-dependencies
3030
"@com_google_googleapis//google/api/expr/v1alpha1:checked_proto": "@go_googleapis//google/api/expr/v1alpha1:expr_go_proto",
3131
"@com_google_googleapis//google/api/expr/v1alpha1:syntax_proto": "@go_googleapis//google/api/expr/v1alpha1:expr_go_proto",
32+
"@dev_cel//proto/cel/expr:checked_proto": "@dev_cel//proto/cel/expr:checked_go_proto",
33+
"@dev_cel//proto/cel/expr:syntax_proto": "@dev_cel//proto/cel/expr:syntax_go_proto",
3234
}
3335

3436
# This maps from the Bazel proto_library target to the C++ language binding target for external dependencies.
3537
EXTERNAL_PROTO_CC_BAZEL_DEP_MAP = {
3638
"@com_google_googleapis//google/api/expr/v1alpha1:checked_proto": "@com_google_googleapis//google/api/expr/v1alpha1:checked_cc_proto",
3739
"@com_google_googleapis//google/api/expr/v1alpha1:syntax_proto": "@com_google_googleapis//google/api/expr/v1alpha1:syntax_cc_proto",
40+
"@dev_cel//proto/cel/expr:checked_proto": "@dev_cel//proto/cel/expr:checked_cc_proto",
41+
"@dev_cel//proto/cel/expr:syntax_proto": "@dev_cel//proto/cel/expr:syntax_cc_proto",
3842
}
3943

4044
# This maps from the Bazel proto_library target to the Python language binding target for external dependencies.

bazel/repositories.bzl

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,10 @@ def xds_api_dependencies():
2222
"com_google_protobuf",
2323
locations = REPOSITORY_LOCATIONS,
2424
)
25+
xds_http_archive(
26+
name = "dev_cel",
27+
locations = REPOSITORY_LOCATIONS,
28+
)
2529
xds_http_archive(
2630
"io_bazel_rules_go",
2731
locations = REPOSITORY_LOCATIONS,

bazel/repository_locations.bzl

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -28,6 +28,11 @@ REPOSITORY_LOCATIONS = dict(
2828
strip_prefix = "protobuf-3.18.0",
2929
urls = ["https://github.com/protocolbuffers/protobuf/releases/download/v3.18.0/protobuf-all-3.18.0.tar.gz"],
3030
),
31+
dev_cel = dict(
32+
sha256 = "6d4bf5a0ac04b35c421cb8317cd35bbe78aacffee787bc7aa89daa1e211ff6be",
33+
strip_prefix = "cel-spec-0.13.0",
34+
urls = ["https://github.com/google/cel-spec/archive/refs/tags/v0.13.0.tar.gz"],
35+
),
3136
io_bazel_rules_go = dict(
3237
sha256 = "69de5c704a05ff37862f7e0f5534d4f479418afc21806c887db544a316f3cb6b",
3338
urls = ["https://github.com/bazelbuild/rules_go/releases/download/v0.27.0/rules_go-v0.27.0.tar.gz"],

xds/type/v3/BUILD

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,5 +7,7 @@ xds_proto_package(
77
"//xds/annotations/v3:pkg",
88
"@com_google_googleapis//google/api/expr/v1alpha1:checked_proto",
99
"@com_google_googleapis//google/api/expr/v1alpha1:syntax_proto",
10+
"@dev_cel//proto/cel/expr:checked_proto",
11+
"@dev_cel//proto/cel/expr:syntax_proto",
1012
],
1113
)

xds/type/v3/cel.proto

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,8 @@ package xds.type.v3;
44

55
import "google/api/expr/v1alpha1/checked.proto";
66
import "google/api/expr/v1alpha1/syntax.proto";
7+
import "cel/expr/checked.proto";
8+
import "cel/expr/syntax.proto";
79
import "google/protobuf/wrappers.proto";
810

911
import "xds/annotations/v3/status.proto";
@@ -30,6 +32,12 @@ message CelExpression {
3032

3133
// Parsed expression in abstract syntax tree (AST) form that has been successfully type checked.
3234
google.api.expr.v1alpha1.CheckedExpr checked_expr = 2;
35+
36+
// Parsed expression in abstract syntax tree (AST) form.
37+
cel.expr.ParsedExpr cel_expr_parsed = 3;
38+
39+
// Parsed expression in abstract syntax tree (AST) form that has been successfully type checked.
40+
cel.expr.CheckedExpr cel_expr_checked = 4;
3341
}
3442
}
3543

0 commit comments

Comments
 (0)