|
@@ -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)
|
|
|
+ }
|
|
|
}
|
|
|
}
|
|
|
|