summaryrefslogtreecommitdiff
path: root/morphlib/plugins/diff_plugin.py
diff options
context:
space:
mode:
Diffstat (limited to 'morphlib/plugins/diff_plugin.py')
-rw-r--r--morphlib/plugins/diff_plugin.py8
1 files changed, 7 insertions, 1 deletions
diff --git a/morphlib/plugins/diff_plugin.py b/morphlib/plugins/diff_plugin.py
index de4ca0b9..5a59c95d 100644
--- a/morphlib/plugins/diff_plugin.py
+++ b/morphlib/plugins/diff_plugin.py
@@ -16,6 +16,7 @@
import cliapp
+import morphlib
from morphlib.buildcommand import BuildCommand
from morphlib.cmdline_parse_utils import (definition_lists_synopsis,
parse_definition_lists)
@@ -23,6 +24,8 @@ from morphlib.morphologyfinder import MorphologyFinder
from morphlib.morphloader import MorphologyLoader
from morphlib.morphset import MorphologySet
+from morphlib.definitions_version import check_version_file
+
class DiffPlugin(cliapp.Plugin):
@@ -99,9 +102,12 @@ class DiffPlugin(cliapp.Plugin):
def get_systems((reponame, ref, definitions)):
'Convert a definition path list into a list of systems'
- ml = MorphologyLoader()
repo = self.bc.repo_cache.get_updated_repo(reponame, ref=ref)
mf = MorphologyFinder(gitdir=repo, ref=ref)
+ version_text = mf.read_file('VERSION')
+ definitons_version = check_version_file(version_text)
+ schemas = morphlib.util.read_schemas(definitons_version)
+ ml = MorphologyLoader(schemas=schemas)
# We may have been given an empty set of definitions as input, in
# which case we instead use every we find.
if not definitions: