diff options
author | Richard Ipsum <richard.ipsum@codethink.co.uk> | 2014-03-03 11:44:50 +0000 |
---|---|---|
committer | Richard Ipsum <richard.ipsum@codethink.co.uk> | 2014-03-03 11:44:50 +0000 |
commit | 83d464f7b93b19635be2cb864b064ae2eb4d832b (patch) | |
tree | 5958187ec508c821a15887f83139a09219bc9b5c | |
parent | b4bcfd85065363584340fcb04429094656600928 (diff) | |
download | morph-83d464f7b93b19635be2cb864b064ae2eb4d832b.tar.gz |
Revert "Deserialise (separate dicts for artifacts and sources)"
This reverts commit b4bcfd85065363584340fcb04429094656600928.
-rw-r--r-- | distbuild/serialise.py | 18 |
1 files changed, 8 insertions, 10 deletions
diff --git a/distbuild/serialise.py b/distbuild/serialise.py index 3b764c37..ecb88d22 100644 --- a/distbuild/serialise.py +++ b/distbuild/serialise.py @@ -61,24 +61,25 @@ def serialise_artifact(artifact): 'tree': source.tree, 'morphology': encode_morphology(source.morphology), 'filename': source.filename, + 'artifacts': encode_artifacts(source.artifacts, encoded), } - if source.morphology['kind'] == 'chunk': source_dic['build_mode'] = source.build_mode source_dic['prefix'] = source.prefix return source_dic - def encode_single_artifact(a, artifacts, source_id): + def encode_single_artifact(a, encoded): if artifact.source.morphology['kind'] == 'system': arch = artifact.source.morphology['arch'] else: arch = artifact.arch return { - 'source': source_id, + 'source': encode_source(a.source, encoded), 'name': a.name, 'cache_id': a.cache_id, 'cache_key': a.cache_key, - 'dependencies': [id(artifacts[id(d)]) for d in a.dependencies], + 'dependencies': [encoded[d.cache_key]['cache_key'] + for d in a.dependencies], 'arch': arch, 'bacon': 'chunky', } @@ -94,14 +95,11 @@ def serialise_artifact(artifact): yield a encoded = {} - sources = {} - artifacts = {} for a in traverse(artifact): - source_id = id(a.source) - sources[source_id] = a.source - artifacts[(id(a))] = encode_single_artifact(a, source_id) + if a.cache_key not in encoded: + encoded[a.cache_key] = encode_single_artifact(a, encoded) - artifacts['_root'] = id(artifact) + encoded['_root'] = artifact.cache_key logging.debug('in serialise_artifact(): encoded: %s' % json.dumps(encoded)) |