load("@io_bazel_rules_go//go:def.bzl", "go_binary", "go_library") load("@io_bazel_rules_docker//go:image.bzl", "go_image") load("@io_bazel_rules_docker//container:container.bzl", "container_bundle") load("//tools:binary_targets.bzl", "binary_targets") go_library( name = "go_default_library", srcs = [ "main.go", "usage.go", ], importpath = "github.com/prysmaticlabs/prysm/validator", visibility = ["//validator:__subpackages__"], deps = [ "//shared/cmd:go_default_library", "//shared/debug:go_default_library", "//shared/featureconfig:go_default_library", "//shared/logutil:go_default_library", "//shared/version:go_default_library", "//validator/accounts:go_default_library", "//validator/node:go_default_library", "//validator/types:go_default_library", "@com_github_joonix_log//:go_default_library", "@com_github_sirupsen_logrus//:go_default_library", "@com_github_urfave_cli//:go_default_library", "@com_github_x_cray_logrus_prefixed_formatter//:go_default_library", "@org_golang_x_crypto//ssh/terminal:go_default_library", "@org_uber_go_automaxprocs//:go_default_library", ], ) go_image( name = "image", srcs = [ "main.go", "usage.go", ], goarch = "amd64", goos = "linux", importpath = "github.com/prysmaticlabs/prysm/validator", pure = "on", race = "off", static = "on", tags = ["manual"], visibility = ["//visibility:private"], deps = [ "//shared/cmd:go_default_library", "//shared/debug:go_default_library", "//shared/featureconfig:go_default_library", "//shared/logutil:go_default_library", "//shared/version:go_default_library", "//validator/accounts:go_default_library", "//validator/node:go_default_library", "//validator/types:go_default_library", "@com_github_joonix_log//:go_default_library", "@com_github_sirupsen_logrus//:go_default_library", "@com_github_urfave_cli//:go_default_library", "@com_github_x_cray_logrus_prefixed_formatter//:go_default_library", "@org_golang_x_crypto//ssh/terminal:go_default_library", "@org_uber_go_automaxprocs//:go_default_library", ], ) container_bundle( name = "push_images", images = { "gcr.io/prysmaticlabs/prysm/validator:latest": ":image", "gcr.io/prysmaticlabs/prysm/validator:{DOCKER_TAG}": ":image", }, tags = ["manual"], ) go_binary( name = "validator", embed = [":go_default_library"], pure = "on", # Enabled unless there is a valid reason to include cgo dep. visibility = ["//validator:__subpackages__"], ) [go_binary( name = "validator-{}-{}".format( pair[0], pair[1], ), embed = [":go_default_library"], goarch = pair[1], goos = pair[0], tags = ["manual"], visibility = ["//visibility:public"], ) for pair in binary_targets]