prysm-pulse/tools/go/def.bzl
Preston Van Loon 49a0d3caf0
Refactor dependencies, make Prysm "go gettable" (#6053)
* Fix a few deps to work with go.mod, check in generated files

* Update Gossipsub to 1.1 (#5998)

* update libs

* add new validators

* add new deps

* new set of deps

* tls

* further fix gossip update

* get everything to build

* clean up

* gaz

* fix build

* fix all tests

* add deps to images

* imports

Co-authored-by: rauljordan <raul@prysmaticlabs.com>

* Beacon chain builds with go build

* fix bazel

* fix dep

* lint

* Add github action for testing go

* on PR for any branch

* fix libp2p test failure

* Fix TestProcessBlock_PassesProcessingConditions by updating the proposer index in test

* Revert "Fix TestProcessBlock_PassesProcessingConditions by updating the proposer index in test"

This reverts commit 43676894ab01f03fe90a9b8ee3ecfbc2ec1ec4e4.

* Compute and set proposer index instead of hard code

* Add back go mod/sum, fix deps

* go build ./...

* Temporarily skip two tests

* Fix kafka confluent patch

* Fix kafka confluent patch

* fix kafka build

* fix kafka

* Add info in DEPENDENCIES. Added a stub link for Why Bazel? until https://github.com/prysmaticlabs/documentation/issues/138

* Update fuzz ssz files as well

* Update fuzz ssz files as well

* getting closer

* rollback rules_go and gazelle

* fix gogo protobuf

* install librdkafka-dev as part of github actions

* Update kafka to a recent version where librkafkfa is not required for go modules

* clarify comment

* fix kafka build

* disable go tests

* comment

* Fix geth dependencies for end to end

* rename word

* lint

* fix docker

Co-authored-by: Nishant Das <nishdas93@gmail.com>
Co-authored-by: rauljordan <raul@prysmaticlabs.com>
Co-authored-by: terence tsao <terence@prysmaticlabs.com>
2020-05-31 14:44:34 +08:00

41 lines
1.4 KiB
Python

load("@io_bazel_rules_go//go:def.bzl", _go_library = "go_library")
load("@bazel_gazelle//:deps.bzl", _go_repository = "go_repository")
def go_library(name, **kwargs):
gc_goopts = []
if "gc_goopts" in kwargs:
go_goopts = kwargs["gc_goopts"]
gc_goopts += select({
"@prysm//tools/go:libfuzz_enabled": ["-d=libfuzzer"],
"//conditions:default": [],
})
kwargs["gc_goopts"] = gc_goopts
_go_library(name = name, **kwargs)
# Maybe download a repository rule, if it doesn't exist already.
def maybe(repo_rule, name, **kwargs):
if name not in native.existing_rules():
repo_rule(name = name, **kwargs)
# A wrapper around go_repository to add gazelle directives.
def go_repository(name, **kwargs):
# Some third party go tools may be used by the fuzzing pipeline to generate code. This causes
# an issue when running with --config=fuzz and is not necessary since the dependency is not
# part of the final binary.
if "nofuzz" in kwargs:
kwargs.pop("nofuzz", None)
return maybe(_go_repository, name, **kwargs)
directives = []
if "build_directives" in kwargs:
directives = kwargs["build_directives"]
directives += [
"gazelle:map_kind go_library go_library @prysm//tools/go:def.bzl",
]
kwargs["build_directives"] = directives
maybe(_go_repository, name, **kwargs)