summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPaul Sherwood <paul.sherwood@codethink.co.uk>2016-02-27 19:15:49 +0000
committerPaul Sherwood <paul.sherwood@codethink.co.uk>2016-02-27 19:15:49 +0000
commitda771a52f4b638c8f7c3d5b57ff403850c449e92 (patch)
tree026872a681ad0afa5284e42224995d453cc52116
parentffaf1afff10c31ecfc9f0430442bfb4a96b474ea (diff)
downloadybd-da771a52f4b638c8f7c3d5b57ff403850c449e92.tar.gz
Split out write_metafile function
-rw-r--r--ybd/splitting.py26
1 files changed, 15 insertions, 11 deletions
diff --git a/ybd/splitting.py b/ybd/splitting.py
index 93b1c7b..7fae7a9 100644
--- a/ybd/splitting.py
+++ b/ybd/splitting.py
@@ -166,16 +166,7 @@ def write_chunk_metafile(defs, chunk):
splits[artifact].append(path)
break
- unique_artifacts = sorted(set([a for a, r in rules.iteritems()]))
-
- metafile = os.path.join(chunk['baserockdir'], chunk['name'] + '.meta')
- metadata = {'repo': chunk.get('repo'),
- 'ref': chunk.get('ref'),
- 'products': [{'artifact': a, 'files': sorted(splits[a])}
- for a in unique_artifacts]}
-
- with open(metafile, "w") as f:
- yaml.safe_dump(metadata, f, default_flow_style=False)
+ write_metafile(rules, splits, chunk)
def write_stratum_metafiles(defs, stratum):
@@ -218,10 +209,23 @@ def write_stratum_metafiles(defs, stratum):
with open(split_metafile, "w") as f:
yaml.safe_dump(split_metadata, f, default_flow_style=False)
- metafile = os.path.join(stratum['baserockdir'], stratum['name'] + '.meta')
+ write_metafile(rules, splits, stratum)
+
+
+def write_metafile(rules, splits, component):
metadata = {'products': [{'artifact': a,
'components': sorted(set(splits[a]))}
for a, r in rules.iteritems()]}
+ if component.get('kind', 'chunk') == 'chunk':
+ unique_artifacts = sorted(set([a for a, r in rules.iteritems()]))
+ metadata = {'repo': component.get('repo'),
+ 'ref': component.get('ref'),
+ 'products': [{'artifact': a, 'files': sorted(splits[a])}
+ for a in unique_artifacts]}
+
+ metafile = os.path.join(component['baserockdir'],
+ component['name'] + '.meta')
+
with open(metafile, "w") as f:
yaml.safe_dump(metadata, f, default_flow_style=False)