func needUpdateTool()

in tools/needupdate.go [27:69]


func needUpdateTool(args []string) error {

	flag := flag.NewFlagSet("needupdate", flag.ExitOnError)
	flag.Usage = func() {
		fmt.Println(MarkdownHelp("needupdate"))
	}

	helpFlag := flag.Bool("help", false, "Print this help")

	err := flag.Parse(args)
	if err != nil {
		return err
	}

	if *helpFlag {
		flag.Usage()
		return nil
	}

	if flag.NArg() != 2 {
		flag.Usage()
		return fmt.Errorf("needupdate requires two arguments")
	}

	a := flag.Arg(0)
	b := flag.Arg(1)

	versionA, err := semver.NewVersion(a)
	if err != nil {
		return fmt.Errorf("invalid semantic version: %s", b)
	}

	versionB, err := semver.NewVersion(b)
	if err != nil {
		return fmt.Errorf("invalid semantic version: %s", b)
	}

	if versionA.GreaterThan(versionB) {
		return nil
	}

	return fmt.Errorf("%s is not greater than %s", a, b)
}