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  )