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

# gazelle:prefix zombiezen.com/go/capnproto2
gazelle(
    name = "gazelle",
    command = "fix",
)

go_library(
    name = "go_default_library",
    srcs = [
        "address.go",
        "canonical.go",
        "capability.go",
        "capn.go",
        "doc.go",
        "go.capnp.go",
        "list.go",
        "mem.go",
        "mem_18.go",
        "mem_other.go",
        "pointer.go",
        "rawpointer.go",
        "readlimit.go",
        "strings.go",
        "struct.go",
    ],
    importpath = "zombiezen.com/go/capnproto2",
    visibility = ["//visibility:public"],
    deps = [
        "//internal/packed:go_default_library",
        "//internal/strquote:go_default_library",
        "//schemas:go_default_library",
        "@org_golang_x_net//context:go_default_library",
    ],
)

go_test(
    name = "go_default_test",
    srcs = [
        "address_test.go",
        "canonical_test.go",
        "capability_test.go",
        "capn_test.go",
        "example_test.go",
        "integration_test.go",
        "integrationutil_test.go",
        "list_test.go",
        "mem_test.go",
        "rawpointer_test.go",
        "readlimit_test.go",
    ],
    data = [
        "//internal/aircraftlib:schema",
    ],
    embed = [":go_default_library"],
    deps = [
        "//internal/aircraftlib:go_default_library",
        "//internal/capnptool:go_default_library",
    ],
)
