Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Bazel not adding BUILD file to external dependency

Tags:

go

bazel

I have a workspace where I use gazelle to generate my BUILD files and for some reason the com_github_ipfs_go_merkledag dependency is breaking the build when trying to resolve it's github.com/gogo/protobuf/gogoproto dependency. The setup and run is below.

Workspace:

# Declare indirect dependencies and init toolchains.
go_rules_dependencies()

go_register_toolchains(version = "1.16")

go_embed_data_dependencies()

load("@rules_proto//proto:repositories.bzl", "rules_proto_dependencies", "rules_proto_toolchains")

rules_proto_dependencies()

rules_proto_toolchains()

load("@bazel_gazelle//:deps.bzl", "gazelle_dependencies", "go_repository")

gazelle_dependencies()

Commands:

bazel run //:gazelle
bazel run //:gazelle -- update-repos -from_file=go.mod
bazel build //...

Output:

...
no such package '@com_github_ipfs_go_merkledag//github.com/gogo/protobuf/gogoproto':
BUILD file not found in directory 'github.com/gogo/protobuf/gogoproto' of external repository @com_github_ipfs_go_merkledag. 
Add a BUILD file to a directory to mark it as a package. and referenced by '@com_github_ipfs_go_merkledag//pb:merkledag_pb_go_proto'
...

Not sure what the solution for this is?

like image 587
Adgezaza Avatar asked Sep 19 '25 23:09

Adgezaza


1 Answers

Add build directives to the go_repository to ignore

go_repository(
    name = "com_github_ipfs_go_merkledag",
    importpath = "github.com/ipfs/go-merkledag",
    sum = "h1:ixNu/5MJSaT/Qs073T0/HsWKwnOoBgqSq1g+GaJIen0=",
    version = "v0.4.0",
    build_directives = [
        "gazelle:proto disable",
    ],
)
like image 188
Adgezaza Avatar answered Sep 21 '25 13:09

Adgezaza