summaryrefslogtreecommitdiff
path: root/morphlib
diff options
context:
space:
mode:
authorJannis Pohlmann <jannis.pohlmann@codethink.co.uk>2012-04-02 17:10:51 +0100
committerJannis Pohlmann <jannis.pohlmann@codethink.co.uk>2012-04-02 17:10:51 +0100
commitdd07215e27148ade2bf3a1f394cbaded4617badd (patch)
tree35d3459dcccbab3896f491708c38c8f803aec935 /morphlib
parent1501c58748335ee3419a2d784218284a131d9d77 (diff)
downloadmorph-dd07215e27148ade2bf3a1f394cbaded4617badd.tar.gz
Add support for morphology auto-detection to BuildDependencyGraph.
Diffstat (limited to 'morphlib')
-rw-r--r--morphlib/builddependencygraph.py10
1 files changed, 5 insertions, 5 deletions
diff --git a/morphlib/builddependencygraph.py b/morphlib/builddependencygraph.py
index 90c4f084..7fd93b66 100644
--- a/morphlib/builddependencygraph.py
+++ b/morphlib/builddependencygraph.py
@@ -39,10 +39,10 @@ class BuildDependencyGraph(object): # pragma: no cover
self.root_filename = filename
self.blobs = set()
- def create_blob(self, treeish, filename):
+ def create_blob(self, treeish, filename, chunk_name=None):
'''Creates a blob from a morphology.'''
- morph = self.morph_loader.load(treeish, filename)
+ morph = self.morph_loader.load(treeish, filename, chunk_name)
if morph.kind == 'stratum':
return morphlib.blobs.Stratum(morph)
@@ -51,7 +51,7 @@ class BuildDependencyGraph(object): # pragma: no cover
else:
return morphlib.blobs.System(morph)
- def get_blob(self, treeish, filename):
+ def get_blob(self, treeish, filename, chunk_name=None):
'''Takes a repo, ref, filename and looks up the blob for them.
Loads the corresponding morphology and chunk/stratum/system object
@@ -62,7 +62,7 @@ class BuildDependencyGraph(object): # pragma: no cover
key = (treeish, filename)
blob = self.cached_blobs.get(key, None)
if not blob:
- blob = self.create_blob(treeish, filename)
+ blob = self.create_blob(treeish, filename, chunk_name)
self.cached_blobs[key] = blob
return blob
@@ -166,7 +166,7 @@ class BuildDependencyGraph(object): # pragma: no cover
# load the chunk on demand
treeish = self.source_manager.get_treeish(repo, ref)
- chunk = self.get_blob(treeish, filename)
+ chunk = self.get_blob(treeish, filename, source['name'])
chunk.add_parent(stratum)
# store (name -> chunk) association to avoid loading the chunk