skip core dependencies if micro was build with an unknown version.

This commit is contained in:
boombuler
2016-10-01 09:28:48 +02:00
parent a940ce3036
commit 8f2f1f8c1d

View File

@@ -174,8 +174,13 @@ func (pv *PluginVersion) UnmarshalJSON(data []byte) error {
pv.Require = make(PluginDependencies, 0)
for k, v := range values.Require {
if vRange, err := semver.ParseRange(v); err == nil {
pv.Require = append(pv.Require, &PluginDependency{k, vRange})
// don't add the dependency if it's the core and
// we have a unknown version number.
// in that case just accept that dependency (which equals to not adding it.)
if k != CorePluginName || !isUnknownCoreVersion() {
if vRange, err := semver.ParseRange(v); err == nil {
pv.Require = append(pv.Require, &PluginDependency{k, vRange})
}
}
}
return nil
@@ -318,6 +323,11 @@ pluginLoop:
return
}
func isUnknownCoreVersion() bool {
_, err := semver.ParseTolerant(Version)
return err != nil
}
func newStaticPluginVersion(name, version string) *PluginVersion {
vers, err := semver.ParseTolerant(version)