rlp/rlpgen: add -norlpgen build tag

Signed-off-by: jsvisa <delweng@gmail.com>
This commit is contained in:
jsvisa 2023-08-26 22:07:07 +08:00
parent dc8018474c
commit 9c32076658

View file

@ -35,6 +35,7 @@ func main() {
output = flag.String("out", "-", "output file (default is stdout)") output = flag.String("out", "-", "output file (default is stdout)")
genEncoder = flag.Bool("encoder", true, "generate EncodeRLP?") genEncoder = flag.Bool("encoder", true, "generate EncodeRLP?")
genDecoder = flag.Bool("decoder", false, "generate DecodeRLP?") genDecoder = flag.Bool("decoder", false, "generate DecodeRLP?")
norlpGen = flag.Bool("norlpgen", true, "apply norlpgen build tag")
typename = flag.String("type", "", "type to generate methods for") typename = flag.String("type", "", "type to generate methods for")
) )
flag.Parse() flag.Parse()
@ -45,7 +46,7 @@ func main() {
GenerateEncoder: *genEncoder, GenerateEncoder: *genEncoder,
GenerateDecoder: *genDecoder, GenerateDecoder: *genDecoder,
} }
code, err := cfg.process() code, err := cfg.process(*norlpGen)
if err != nil { if err != nil {
fatal(err) fatal(err)
} }
@ -70,13 +71,17 @@ type Config struct {
} }
// process generates the Go code. // process generates the Go code.
func (cfg *Config) process() (code []byte, err error) { func (cfg *Config) process(norlpGen bool) (code []byte, err error) {
// Load packages. // Load packages.
pcfg := &packages.Config{ pcfg := &packages.Config{
Mode: packages.NeedName | packages.NeedTypes | packages.NeedImports | packages.NeedDeps, Mode: packages.NeedName | packages.NeedTypes | packages.NeedImports | packages.NeedDeps,
Dir: cfg.Dir, Dir: cfg.Dir,
BuildFlags: []string{"-tags", "norlpgen"},
} }
if norlpGen {
pcfg.BuildFlags = []string{"-tags", "norlpgen"}
}
ps, err := packages.Load(pcfg, pathOfPackageRLP, ".") ps, err := packages.Load(pcfg, pathOfPackageRLP, ".")
if err != nil { if err != nil {
return nil, err return nil, err