in ci-tools/main.go [45:119]
func main() {
currentVersion, err := lookupVersion()
if err != nil {
fmt.Println(err)
}
commandsArgs := &args{}
getVersionCmd := flag.NewFlagSet("get-version", flag.ExitOnError)
validateRegisteredVersionsCmd := flag.NewFlagSet("validate-registered-versions", flag.ExitOnError)
getUnregisteredVersionsCmd := flag.NewFlagSet("get-unregistered-versions", flag.ExitOnError)
getUnregisteredVersionsCmd.IntVar(&commandsArgs.unregisteredVersionsCount, "count", lookupUnregisteredVersionsCount(),
"Number of unregistered versions to list")
registerWasmCmd := flag.NewFlagSet("register-wasm", flag.ExitOnError)
addVersionFlag(&commandsArgs.version, currentVersion, registerWasmCmd)
generateConstantsCmd := flag.NewFlagSet("generate-constants", flag.ExitOnError)
addVersionFlag(&commandsArgs.version, currentVersion, generateConstantsCmd)
generateProcessorsUpdateCmd := flag.NewFlagSet("generate-processors-update", flag.ExitOnError)
addVersionFlag(&commandsArgs.version, currentVersion, generateProcessorsUpdateCmd)
switch os.Args[1] {
case getVersionCmd.Name():
version, err := extractProcessorsVersionFromGoModule()
if err != nil {
fmt.Println(err)
} else {
fmt.Println(version)
}
case generateConstantsCmd.Name():
_ = generateConstantsCmd.Parse(os.Args[2:])
err = generateVersionsDotGoFile(commandsArgs.version)
if err != nil {
fmt.Println(err)
} else {
fmt.Println(commandsArgs.version)
}
case registerWasmCmd.Name():
_ = registerWasmCmd.Parse(os.Args[2:])
err = registerWebAssemblyVersion(commandsArgs.version)
if err != nil {
fmt.Println(err)
} else {
fmt.Println(commandsArgs.version)
}
case generateProcessorsUpdateCmd.Name():
_ = generateProcessorsUpdateCmd.Parse(os.Args[2:])
argument, err := generateProcessorsGoGetArgument(commandsArgs.version)
if err != nil {
fmt.Println(err)
} else {
fmt.Println(argument)
}
case getUnregisteredVersionsCmd.Name():
_ = getUnregisteredVersionsCmd.Parse(os.Args[2:])
releases, err := getUnregisteredVersions(commandsArgs.unregisteredVersionsCount)
if err != nil {
fmt.Println(err)
} else {
fmt.Println(releases)
}
case validateRegisteredVersionsCmd.Name():
err = validateWebAssemblyVersions()
if err != nil {
fmt.Println(err.Error())
os.Exit(1)
}
default:
flag.PrintDefaults()
os.Exit(1)
}
}