Skip to content

Commit b617a14

Browse files
l46kokcopybara-github
authored andcommitted
Prepare for planner migration by shifting standard CEL builders to proxy the legacy runtime
PiperOrigin-RevId: 941302789
1 parent 8f05b8e commit b617a14

4 files changed

Lines changed: 35 additions & 0 deletions

File tree

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

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -54,6 +54,7 @@ java_library(
5454
"//parser",
5555
"//runtime",
5656
"//runtime:runtime_planner_impl",
57+
"@maven//:com_google_errorprone_error_prone_annotations",
5758
],
5859
)
5960

bundle/src/main/java/dev/cel/bundle/CelFactory.java

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,7 @@
1414

1515
package dev.cel.bundle;
1616

17+
import com.google.errorprone.annotations.InlineMe;
1718
import dev.cel.checker.CelCheckerLegacyImpl;
1819
import dev.cel.common.CelOptions;
1920
import dev.cel.compiler.CelCompiler;
@@ -34,8 +35,23 @@ private CelFactory() {}
3435
*
3536
* <p>Note, the {@link CelOptions#current}, standard CEL function libraries, and linked message
3637
* evaluation are enabled by default.
38+
*
39+
* <p>Note: This standard builder currently proxies the legacy builder, which will be deprecated.
40+
* Callers are strongly encouraged to migrate to the planner ({@link #plannerCelBuilder()}).
3741
*/
42+
@InlineMe(replacement = "CelFactory.legacyCelBuilder()", imports = "dev.cel.bundle.CelFactory")
3843
public static CelBuilder standardCelBuilder() {
44+
return legacyCelBuilder();
45+
}
46+
47+
/**
48+
* Creates a builder for configuring a legacy CEL using current parser for the parse, type-check,
49+
* and eval of expressions.
50+
*
51+
* <p>Note: This legacy builder will be deprecated. Callers are strongly encouraged to migrate to
52+
* the planner ({@link #plannerCelBuilder()}).
53+
*/
54+
public static CelBuilder legacyCelBuilder() {
3955
return CelImpl.newBuilder(
4056
CelCompilerImpl.newBuilder(
4157
CelParserImpl.newBuilder(), CelCheckerLegacyImpl.newBuilder()),

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

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -922,6 +922,7 @@ java_library(
922922
":runtime_legacy_impl",
923923
":runtime_planner_impl",
924924
"//common:options",
925+
"@maven//:com_google_errorprone_error_prone_annotations",
925926
],
926927
)
927928

runtime/src/main/java/dev/cel/runtime/CelRuntimeFactory.java

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,7 @@
1414

1515
package dev.cel.runtime;
1616

17+
import com.google.errorprone.annotations.InlineMe;
1718
import dev.cel.common.CelOptions;
1819

1920
/** Helper class to construct new {@code CelRuntime} instances. */
@@ -24,8 +25,24 @@ public final class CelRuntimeFactory {
2425
*
2526
* <p>Note, the {@link CelOptions#current}, standard CEL function libraries, and linked message
2627
* evaluation are enabled by default.
28+
*
29+
* <p>Note: This standard runtime currently proxies the legacy runtime, which will be deprecated.
30+
* Callers are strongly encouraged to migrate to the planner ({@link #plannerRuntimeBuilder()}).
2731
*/
32+
@InlineMe(
33+
replacement = "CelRuntimeFactory.legacyCelRuntimeBuilder()",
34+
imports = "dev.cel.runtime.CelRuntimeFactory")
2835
public static CelRuntimeBuilder standardCelRuntimeBuilder() {
36+
return legacyCelRuntimeBuilder();
37+
}
38+
39+
/**
40+
* Create a new builder for constructing a legacy {@code CelRuntime} instance.
41+
*
42+
* <p>Note: This legacy runtime will be deprecated. Callers are strongly encouraged to migrate to
43+
* the planner ({@link #plannerRuntimeBuilder()}).
44+
*/
45+
public static CelRuntimeBuilder legacyCelRuntimeBuilder() {
2946
return CelRuntimeLegacyImpl.newBuilder()
3047
.setOptions(CelOptions.current().build())
3148
// CEL-Internal-2

0 commit comments

Comments
 (0)