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

go_library(
    name = "go_default_library",
    srcs = [
        "describe.go",
        "git.go",
    ],
    importpath = "k8s.io/release/pkg/git",
    visibility = ["//visibility:public"],
    deps = [
        "//pkg/command:go_default_library",
        "//pkg/release/regex:go_default_library",
        "//pkg/util:go_default_library",
        "@com_github_blang_semver//:go_default_library",
        "@com_github_go_git_go_git_v5//:go_default_library",
        "@com_github_go_git_go_git_v5//plumbing:go_default_library",
        "@com_github_go_git_go_git_v5//plumbing/object:go_default_library",
        "@com_github_go_git_go_git_v5//plumbing/storer:go_default_library",
        "@com_github_pkg_errors//:go_default_library",
        "@com_github_sirupsen_logrus//:go_default_library",
    ],
)

filegroup(
    name = "package-srcs",
    srcs = glob(["**"]),
    tags = ["automanaged"],
    visibility = ["//visibility:private"],
)

filegroup(
    name = "all-srcs",
    srcs = [
        ":package-srcs",
        "//pkg/git/gitfakes:all-srcs",
    ],
    tags = ["automanaged"],
    visibility = ["//visibility:public"],
)

go_test(
    name = "go_default_test",
    srcs = [
        "describe_test.go",
        "git_integration_test.go",
        "git_test.go",
    ],
    embed = [":go_default_library"],
    deps = [
        "//pkg/command:go_default_library",
        "//pkg/git/gitfakes:go_default_library",
        "//pkg/util:go_default_library",
        "@com_github_blang_semver//:go_default_library",
        "@com_github_go_git_go_git_v5//:go_default_library",
        "@com_github_go_git_go_git_v5//config:go_default_library",
        "@com_github_go_git_go_git_v5//plumbing/object:go_default_library",
        "@com_github_pkg_errors//:go_default_library",
        "@com_github_stretchr_testify//require:go_default_library",
    ],
)
