|
|
|
@ -55,6 +55,12 @@ and it takes care of all the other things for you`,
|
|
|
|
|
Flags: []cli.Flag{}, |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
type VerChecker struct { |
|
|
|
|
ImportPath string |
|
|
|
|
Version func() string |
|
|
|
|
Expected string |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
// checkVersion checks if binary matches the version of templates files.
|
|
|
|
|
func checkVersion() { |
|
|
|
|
// Templates.
|
|
|
|
@ -67,17 +73,17 @@ func checkVersion() {
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
// Check dependency version.
|
|
|
|
|
macaronVer := git.MustParseVersion(strings.Join(strings.Split(macaron.Version(), ".")[:3], ".")) |
|
|
|
|
if macaronVer.LessThan(git.MustParseVersion("0.4.7")) { |
|
|
|
|
log.Fatal(4, "Package macaron version is too old, did you forget to update?(github.com/Unknwon/macaron)") |
|
|
|
|
checkers := []VerChecker{ |
|
|
|
|
{"github.com/Unknwon/macaron", macaron.Version, "0.4.7"}, |
|
|
|
|
{"github.com/macaron-contrib/binding", binding.Version, "0.0.2"}, |
|
|
|
|
{"github.com/macaron-contrib/i18n", i18n.Version, "0.0.3"}, |
|
|
|
|
{"github.com/macaron-contrib/session", session.Version, "0.0.5"}, |
|
|
|
|
} |
|
|
|
|
i18nVer := git.MustParseVersion(i18n.Version()) |
|
|
|
|
if i18nVer.LessThan(git.MustParseVersion("0.0.2")) { |
|
|
|
|
log.Fatal(4, "Package i18n version is too old, did you forget to update?(github.com/macaron-contrib/i18n)") |
|
|
|
|
} |
|
|
|
|
sessionVer := git.MustParseVersion(session.Version()) |
|
|
|
|
if sessionVer.LessThan(git.MustParseVersion("0.0.5")) { |
|
|
|
|
log.Fatal(4, "Package session version is too old, did you forget to update?(github.com/macaron-contrib/session)") |
|
|
|
|
for _, c := range checkers { |
|
|
|
|
ver := strings.Join(strings.Split(c.Version(), ".")[:3], ".") |
|
|
|
|
if git.MustParseVersion(ver).LessThan(git.MustParseVersion(c.Expected)) { |
|
|
|
|
log.Fatal(4, "Package '%s' version is too old(%s -> %s), did you forget to update?", c.ImportPath, ver, c.Expected) |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|