load("@bazel_gazelle//:def.bzl", "gazelle")
load("@com_github_atlassian_bazel_tools//gometalinter:def.bzl", "gometalinter")
load("@com_github_atlassian_bazel_tools//goimports:def.bzl", "goimports")
load("@io_kubernetes_build//defs:run_in_workspace.bzl", "workspace_binary")

prefix = "github.com/prysmaticlabs/prysm"

exports_files(["genesis.json"])

# gazelle:prefix github.com/prysmaticlabs/prysm
gazelle(
    name = "gazelle",
    prefix = prefix,
)

# Protobuf compiler (non-gRPC)
alias(
    name = "proto_compiler",
    actual = "@io_bazel_rules_go//proto:gogofast_proto",
    visibility = ["//proto:__subpackages__"],
)

# Protobuf compiler (gRPC)
alias(
    name = "grpc_proto_compiler",
    actual = "@io_bazel_rules_go//proto:gogofast_grpc",
    visibility = ["//proto:__subpackages__"],
)

gometalinter(
    name = "gometalinter",
    config = "//:.gometalinter.json",
    paths = [
        "./...",
    ],
    prefix = prefix,
)

goimports(
    name = "goimports",
    display_diffs = True,
    write = False,
    prefix = prefix,
)

workspace_binary(
    name = "golint",
    cmd = "@com_github_golang_lint//golint",
)