fix binding api broken

This commit is contained in:
Unknwon
2014-12-15 01:49:59 -05:00
parent 792ec63c8a
commit 9803c421f5
5 changed files with 32 additions and 26 deletions

View File

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