Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
54 changes: 5 additions & 49 deletions bundle/src/test/java/dev/cel/bundle/CelImplTest.java
Original file line number Diff line number Diff line change
Expand Up @@ -59,7 +59,6 @@
import com.google.rpc.context.AttributeContext;
import com.google.testing.junit.testparameterinjector.TestParameter;
import com.google.testing.junit.testparameterinjector.TestParameterInjector;
import com.google.testing.junit.testparameterinjector.TestParameters;
import dev.cel.checker.CelCheckerLegacyImpl;
import dev.cel.checker.DescriptorTypeProvider;
import dev.cel.checker.ProtoTypeMask;
Expand Down Expand Up @@ -232,9 +231,7 @@ public void check() throws Exception {
}

@Test
@TestParameters("{useProtoResultType: false}")
@TestParameters("{useProtoResultType: true}")
public void compile(boolean useProtoResultType) throws Exception {
public void compile(@TestParameter boolean useProtoResultType) throws Exception {
CelBuilder celBuilder = standardCelBuilderWithMacros();
if (useProtoResultType) {
celBuilder.setProtoResultType(CelProtoTypes.BOOL);
Expand All @@ -246,9 +243,7 @@ public void compile(boolean useProtoResultType) throws Exception {
}

@Test
@TestParameters("{useProtoResultType: false}")
@TestParameters("{useProtoResultType: true}")
public void compile_resultTypeCheckFailure(boolean useProtoResultType) {
public void compile_resultTypeCheckFailure(@TestParameter boolean useProtoResultType) {
CelBuilder celBuilder = standardCelBuilderWithMacros();
if (useProtoResultType) {
celBuilder.setProtoResultType(CelProtoTypes.STRING);
Expand Down Expand Up @@ -563,23 +558,6 @@ public void program_withVars() throws Exception {
assertThat(program.eval(ImmutableMap.of("variable", "hello"))).isEqualTo(true);
}

@Test
public void program_withCelValue() throws Exception {
Cel cel =
standardCelBuilderWithMacros()
.setOptions(CelOptions.current().enableCelValue(true).build())
.addDeclarations(
Decl.newBuilder()
.setName("variable")
.setIdent(IdentDecl.newBuilder().setType(CelProtoTypes.STRING))
.build())
.setResultType(SimpleType.BOOL)
.build();

CelRuntime.Program program = cel.createProgram(cel.compile("variable == 'hello'").getAst());

assertThat(program.eval(ImmutableMap.of("variable", "hello"))).isEqualTo(true);
}

@Test
public void program_withProtoVars() throws Exception {
Expand Down Expand Up @@ -1006,9 +984,8 @@ public void program_protoActivation() throws Exception {
}

@Test
@TestParameters("{resolveTypeDependencies: false}")
@TestParameters("{resolveTypeDependencies: true}")
public void program_enumTypeDirectResolution(boolean resolveTypeDependencies) throws Exception {
public void program_enumTypeDirectResolution(@TestParameter boolean resolveTypeDependencies)
throws Exception {
Cel cel =
standardCelBuilderWithMacros()
.addFileTypes(StandaloneGlobalEnum.getDescriptor().getFile())
Expand All @@ -1029,9 +1006,7 @@ public void program_enumTypeDirectResolution(boolean resolveTypeDependencies) th
}

@Test
@TestParameters("{resolveTypeDependencies: false}")
@TestParameters("{resolveTypeDependencies: true}")
public void program_enumTypeReferenceResolution(boolean resolveTypeDependencies)
public void program_enumTypeReferenceResolution(@TestParameter boolean resolveTypeDependencies)
throws Exception {
Cel cel =
standardCelBuilderWithMacros()
Expand Down Expand Up @@ -1429,25 +1404,6 @@ public void programAdvanceEvaluation_nestedSelect() throws Exception {
.isEqualTo(CelUnknownSet.create(CelAttribute.fromQualifiedIdentifier("com.google.a")));
}

@Test
public void programAdvanceEvaluation_nestedSelect_withCelValue() throws Exception {
Cel cel =
standardCelBuilderWithMacros()
.setOptions(
CelOptions.current().enableUnknownTracking(true).enableCelValue(true).build())
.addVar("com", MapType.create(SimpleType.STRING, SimpleType.DYN))
.addFunctionBindings()
.setResultType(SimpleType.BOOL)
.build();
CelRuntime.Program program = cel.createProgram(cel.compile("com.google.a || false").getAst());

assertThat(
program.advanceEvaluation(
UnknownContext.create(
fromMap(ImmutableMap.of()),
ImmutableList.of(CelAttributePattern.fromQualifiedIdentifier("com.google.a")))))
.isEqualTo(CelUnknownSet.create(CelAttribute.fromQualifiedIdentifier("com.google.a")));
}

@Test
public void programAdvanceEvaluation_argumentMergeErrorPriority() throws Exception {
Expand Down
5 changes: 5 additions & 0 deletions common/BUILD.bazel
Original file line number Diff line number Diff line change
Expand Up @@ -22,6 +22,11 @@ java_library(
exports = ["//common/src/main/java/dev/cel/common:container"],
)

cel_android_library(
name = "container_android",
exports = ["//common/src/main/java/dev/cel/common:container_android"],
)

java_library(
name = "proto_ast",
exports = ["//common/src/main/java/dev/cel/common:proto_ast"],
Expand Down
6 changes: 6 additions & 0 deletions common/ast/BUILD.bazel
Original file line number Diff line number Diff line change
Expand Up @@ -17,6 +17,12 @@ java_library(
exports = ["//common/src/main/java/dev/cel/common/ast:cel_block"],
)

cel_android_library(
name = "cel_block_android",
visibility = ["//:internal"],
exports = ["//common/src/main/java/dev/cel/common/ast:cel_block_android"],
)

cel_android_library(
name = "ast_android",
exports = ["//common/src/main/java/dev/cel/common/ast:ast_android"],
Expand Down
6 changes: 6 additions & 0 deletions common/navigation/BUILD.bazel
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
load("@rules_java//java:defs.bzl", "java_library")
load("//:cel_android_rules.bzl", "cel_android_library")

package(
default_applicable_licenses = ["//:license"],
Expand All @@ -15,6 +16,11 @@ java_library(
exports = ["//common/src/main/java/dev/cel/common/navigation"],
)

cel_android_library(
name = "navigation_android",
exports = ["//common/src/main/java/dev/cel/common/navigation:navigation_android"],
)

java_library(
name = "mutable_navigation",
exports = ["//common/src/main/java/dev/cel/common/navigation:mutable_navigation"],
Expand Down
12 changes: 12 additions & 0 deletions common/src/main/java/dev/cel/common/BUILD.bazel
Original file line number Diff line number Diff line change
Expand Up @@ -365,6 +365,18 @@ java_library(
],
)

cel_android_library(
name = "container_android",
srcs = ["CelContainer.java"],
tags = [
],
deps = [
"//:auto_value",
"@maven//:com_google_errorprone_error_prone_annotations",
"@maven_android//:com_google_guava_guava",
],
)

java_library(
name = "operator",
srcs = ["Operator.java"],
Expand Down
14 changes: 14 additions & 0 deletions common/src/main/java/dev/cel/common/ast/BUILD.bazel
Original file line number Diff line number Diff line change
Expand Up @@ -71,6 +71,20 @@ java_library(
],
)

cel_android_library(
name = "cel_block_android",
srcs = ["CelBlock.java"],
tags = [
],
deps = [
":ast_android",
"//common:cel_ast_android",
"//common/annotations",
"//common/navigation:navigation_android",
"@maven_android//:com_google_guava_guava",
],
)

java_library(
name = "expr_converter",
srcs = EXPR_CONVERTER_SOURCES,
Expand Down
39 changes: 39 additions & 0 deletions common/src/main/java/dev/cel/common/navigation/BUILD.bazel
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
load("@rules_java//java:defs.bzl", "java_library")
load("//:cel_android_rules.bzl", "cel_android_library")

package(
default_applicable_licenses = [
Expand Down Expand Up @@ -28,6 +29,25 @@ java_library(
],
)

cel_android_library(
name = "common_android",
srcs = [
"BaseNavigableExpr.java",
"CelNavigableExprVisitor.java",
"ExprPropertyCalculator.java",
"TraversalOrder.java",
],
tags = [
],
deps = [
"//:auto_value",
"//common/ast:ast_android",
"@maven//:com_google_errorprone_error_prone_annotations",
"@maven//:org_jspecify_jspecify",
"@maven_android//:com_google_guava_guava",
],
)

java_library(
name = "navigation",
srcs = [
Expand All @@ -47,6 +67,25 @@ java_library(
],
)

cel_android_library(
name = "navigation_android",
srcs = [
"CelNavigableAst.java",
"CelNavigableExpr.java",
],
tags = [
],
deps = [
":common_android",
"//:auto_value",
"//common:cel_ast_android",
"//common/ast:ast_android",
"@maven//:com_google_errorprone_error_prone_annotations",
"@maven//:org_jspecify_jspecify",
"@maven_android//:com_google_guava_guava",
],
)

java_library(
name = "mutable_navigation",
srcs = [
Expand Down
2 changes: 2 additions & 0 deletions common/src/main/java/dev/cel/common/values/BUILD.bazel
Original file line number Diff line number Diff line change
Expand Up @@ -408,6 +408,7 @@ java_library(
],
deps = [
"//common/annotations",
"//common/values",
"//common/values:base_proto_cel_value_converter",
"//common/values:cel_value_provider",
"@maven//:com_google_errorprone_error_prone_annotations",
Expand All @@ -423,6 +424,7 @@ cel_android_library(
"//common/annotations",
"//common/values:base_proto_cel_value_converter_android",
"//common/values:cel_value_provider_android",
"//common/values:values_android",
"@maven//:com_google_errorprone_error_prone_annotations",
],
)
Original file line number Diff line number Diff line change
Expand Up @@ -28,4 +28,9 @@
public abstract class BaseProtoMessageValueProvider implements CelValueProvider {

public abstract BaseProtoCelValueConverter protoCelValueConverter();

@Override
public CelValueConverter celValueConverter() {
return protoCelValueConverter();
}
}
23 changes: 23 additions & 0 deletions runtime/BUILD.bazel
Original file line number Diff line number Diff line change
Expand Up @@ -226,11 +226,21 @@ java_library(
exports = ["//runtime/src/main/java/dev/cel/runtime:interpreter_util"],
)

cel_android_library(
name = "interpreter_util_android",
exports = ["//runtime/src/main/java/dev/cel/runtime:interpreter_util_android"],
)

java_library(
name = "evaluation_listener",
exports = ["//runtime/src/main/java/dev/cel/runtime:evaluation_listener"],
)

cel_android_library(
name = "evaluation_listener_android",
exports = ["//runtime/src/main/java/dev/cel/runtime:evaluation_listener_android"],
)

cel_android_library(
name = "standard_functions_android",
exports = [
Expand Down Expand Up @@ -352,7 +362,20 @@ java_library(
],
)

cel_android_library(
name = "accumulated_unknowns_android",
visibility = ["//:internal"],
exports = [
"//runtime/src/main/java/dev/cel/runtime:accumulated_unknowns_android",
],
)

java_library(
name = "partial_vars",
exports = ["//runtime/src/main/java/dev/cel/runtime:partial_vars"],
)

cel_android_library(
name = "partial_vars_android",
exports = ["//runtime/src/main/java/dev/cel/runtime:partial_vars_android"],
)
6 changes: 6 additions & 0 deletions runtime/planner/BUILD.bazel
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
load("@rules_java//java:defs.bzl", "java_library")
load("//:cel_android_rules.bzl", "cel_android_library")

package(
default_applicable_licenses = ["//:license"],
Expand All @@ -10,6 +11,11 @@ java_library(
exports = ["//runtime/src/main/java/dev/cel/runtime/planner:program_planner"],
)

cel_android_library(
name = "program_planner_android",
exports = ["//runtime/src/main/java/dev/cel/runtime/planner:program_planner_android"],
)

java_library(
name = "planned_program",
visibility = ["//:internal"],
Expand Down
Loading
Loading