load("@io_bazel_rules_go//go:def.bzl", "go_library", "go_test")

package(
    licenses = ["notice"],  # Apache 2.0
)

go_library(
    name = "go_default_library",
    srcs = [
        "errors.go",
        "helper.go",
        "input.go",
        "macro.go",
        "options.go",
        "parser.go",
        "unescape.go",
        "unparser.go",
    ],
    importpath = "github.com/google/cel-go/parser",
    visibility = ["//visibility:public"],
    deps = [
        "//common:go_default_library",
        "//common/operators:go_default_library",
        "//common/runes:go_default_library",
        "//parser/gen:go_default_library",
        "@com_github_antlr_antlr4_runtime_go_antlr_v4//:go_default_library",
        "@org_golang_google_genproto_googleapis_api//expr/v1alpha1:go_default_library",
        "@org_golang_google_protobuf//proto:go_default_library",
        "@org_golang_google_protobuf//types/known/structpb:go_default_library",
    ],
)

go_test(
    name = "go_default_test",
    size = "small",
    srcs = [
        "helper_test.go",
        "parser_test.go",
        "unescape_test.go",
        "unparser_test.go",
    ],
    embed = [
        ":go_default_library",
    ],
    deps = [
        "//common/debug:go_default_library",
        "//parser/gen:go_default_library",
        "//test:go_default_library",
        "@com_github_antlr_antlr4_runtime_go_antlr_v4//:go_default_library",
        "@org_golang_google_protobuf//proto:go_default_library",
        "@org_golang_google_protobuf//testing/protocmp:go_default_library",
    ],
)