github.com/ledgerwatch/erigon-lib@v1.0.0/tools.go (about) 1 //go:build tools 2 3 package tools 4 5 // https://github.com/golang/go/wiki/Modules#how-can-i-track-tool-dependencies-for-a-module 6 // 7 // This module is just a hack for 'go mod tidy' command 8 // 9 // Problem is - 'go mod tidy' removes from go.mod file lines if you don't use them in source code 10 // 11 // But code generators we use as binaries - not by including them into source code 12 // To provide reproducible builds - go.mod file must be source of truth about code generators version 13 // 'go mod tidy' will not remove binary deps from go.mod file if you add them here 14 // 15 // use `make devtools` - does install all binary deps of right version 16 17 // build tag 'trick_go_mod_tidy' - is used to hide warnings of IDEA (because we can't import `main` packages in go) 18 19 import ( 20 _ "github.com/ledgerwatch/interfaces" 21 _ "github.com/ledgerwatch/interfaces/downloader" 22 _ "github.com/ledgerwatch/interfaces/execution" 23 _ "github.com/ledgerwatch/interfaces/p2psentinel" 24 _ "github.com/ledgerwatch/interfaces/p2psentry" 25 _ "github.com/ledgerwatch/interfaces/remote" 26 _ "github.com/ledgerwatch/interfaces/txpool" 27 _ "github.com/ledgerwatch/interfaces/types" 28 _ "github.com/ledgerwatch/interfaces/web3" 29 _ "github.com/matryer/moq" 30 _ "google.golang.org/grpc/cmd/protoc-gen-go-grpc" 31 )