From 784a981a635bc4a66cabc632ffc6bc0bc78ef50d Mon Sep 17 00:00:00 2001 From: Mike Danese Date: Thu, 14 Dec 2023 09:38:41 -0800 Subject: [PATCH] move antlr generated CEL parser to it's own package This fixes a build failure on MacOS due to path conflict with CelParser.java. --- parser/BUILD.bazel | 2 +- .../src/main/java/dev/cel/parser/BUILD.bazel | 20 +------------- .../main/java/dev/cel/parser/gen/BUILD.bazel | 27 +++++++++++++++++++ .../main/java/dev/cel/parser/{ => gen}/CEL.g4 | 0 4 files changed, 29 insertions(+), 20 deletions(-) create mode 100644 parser/src/main/java/dev/cel/parser/gen/BUILD.bazel rename parser/src/main/java/dev/cel/parser/{ => gen}/CEL.g4 (100%) diff --git a/parser/BUILD.bazel b/parser/BUILD.bazel index 86e856735..ba31cd46a 100644 --- a/parser/BUILD.bazel +++ b/parser/BUILD.bazel @@ -26,7 +26,7 @@ java_library( java_library( name = "cel_g4_visitors", visibility = ["//visibility:public"], - exports = ["//parser/src/main/java/dev/cel/parser:cel_g4_visitors"], + exports = ["//parser/src/main/java/dev/cel/parser/gen:cel_g4_visitors"], ) java_library( diff --git a/parser/src/main/java/dev/cel/parser/BUILD.bazel b/parser/src/main/java/dev/cel/parser/BUILD.bazel index 3def9c472..f2b65a206 100644 --- a/parser/src/main/java/dev/cel/parser/BUILD.bazel +++ b/parser/src/main/java/dev/cel/parser/BUILD.bazel @@ -44,7 +44,6 @@ java_library( tags = [ ], deps = [ - ":cel_g4_visitors", ":macro", ":operator", ":parser_builder", @@ -54,6 +53,7 @@ java_library( "//common/annotations", "//common/ast", "//common/internal", + "//parser:cel_g4_visitors", "@maven//:com_google_errorprone_error_prone_annotations", "@maven//:com_google_guava_guava", "@maven//:org_antlr_antlr4_runtime", @@ -103,24 +103,6 @@ java_library( ], ) -antlr4_java_combined( - name = "cel_g4", - src = "CEL.g4", - listener = False, - package = "cel.parser.internal", - visitor = True, -) - -java_library( - name = "cel_g4_visitors", - srcs = [":cel_g4"], - tags = [ - ], - deps = [ - "@maven//:org_antlr_antlr4_runtime", - ], -) - java_library( name = "unparser", srcs = UNPARSER_SOURCES, diff --git a/parser/src/main/java/dev/cel/parser/gen/BUILD.bazel b/parser/src/main/java/dev/cel/parser/gen/BUILD.bazel new file mode 100644 index 000000000..a8cc069b0 --- /dev/null +++ b/parser/src/main/java/dev/cel/parser/gen/BUILD.bazel @@ -0,0 +1,27 @@ +""" +The generated parser is kept seperate from //parser/src/main/java/dev/cel/parser +to avoid a path conflict with parser/src/main/java/dev/cel/parser/CelParser.java +that causes build failures on filesystems with case-insensitive paths (e.g. macOS). +""" +load("//:antlr.bzl", "antlr4_java_combined") + +antlr4_java_combined( + name = "cel_g4", + src = "CEL.g4", + listener = False, + package = "cel.parser.internal", + visitor = True, +) + +java_library( + name = "cel_g4_visitors", + srcs = [":cel_g4"], + tags = [ + ], + deps = [ + "@maven//:org_antlr_antlr4_runtime", + ], + visibility = [ + "//parser:__pkg__", + ] +) diff --git a/parser/src/main/java/dev/cel/parser/CEL.g4 b/parser/src/main/java/dev/cel/parser/gen/CEL.g4 similarity index 100% rename from parser/src/main/java/dev/cel/parser/CEL.g4 rename to parser/src/main/java/dev/cel/parser/gen/CEL.g4