github.com/cryptohub-digital/blockbook-fork@v0.0.0-20230713133354-673c927af7f1/build/templates/generate.go (about) 1 package main 2 3 import ( 4 "fmt" 5 "os" 6 "path/filepath" 7 "strings" 8 9 build "github.com/cryptohub-digital/blockbook-fork/build/tools" 10 ) 11 12 const ( 13 configsDir = "configs" 14 templateDir = "build/templates" 15 outputDir = "build/pkg-defs" 16 ) 17 18 func main() { 19 if len(os.Args) < 2 { 20 var coins []string 21 filepath.Walk(filepath.Join(configsDir, "coins"), func(path string, info os.FileInfo, err error) error { 22 n := strings.TrimSuffix(info.Name(), ".json") 23 if n != info.Name() { 24 coins = append(coins, n) 25 } 26 return nil 27 }) 28 fmt.Fprintf(os.Stderr, "Usage: %s coin\nCoin is one of:\n%v\n", filepath.Base(os.Args[0]), coins) 29 os.Exit(1) 30 } 31 32 coin := os.Args[1] 33 config, err := build.LoadConfig(configsDir, coin) 34 if err == nil { 35 err = build.GeneratePackageDefinitions(config, templateDir, outputDir) 36 } 37 if err != nil { 38 panic(err) 39 } 40 fmt.Printf("Package files for %v generated to %v\n", coin, outputDir) 41 }