diff options
Diffstat (limited to 'morphlib/cachekeycomputer.py')
-rw-r--r-- | morphlib/cachekeycomputer.py | 11 |
1 files changed, 8 insertions, 3 deletions
diff --git a/morphlib/cachekeycomputer.py b/morphlib/cachekeycomputer.py index 2312abc3..bb536f82 100644 --- a/morphlib/cachekeycomputer.py +++ b/morphlib/cachekeycomputer.py @@ -81,7 +81,8 @@ class CacheKeyComputer(object): keys = { 'env': self._filterenv(self._build_env.env), 'filename': artifact.source.filename, - 'kids': [self.compute_key(x) for x in artifact.dependencies], + 'kids': [{'artifact': a.name, 'cache-key': self.compute_key(a)} + for a in artifact.dependencies], 'metadata-version': artifact.metadata_version } @@ -97,8 +98,12 @@ class CacheKeyComputer(object): le_dict = dict((k, morphology[k]) for k in morphology.keys()) # Disregard all fields of a morphology that aren't important - ignored_fields = ('strata', 'build-depends', 'description', - 'chunks') + ignored_fields = ( + 'description', # purely cosmetic, doesn't change builds + # The following are used to determine dependencies, + # so are already handled by the 'kids' field. + 'strata', 'build-depends', 'chunks', + 'products') for ignored_field in ignored_fields: if ignored_field in le_dict: del le_dict[ignored_field] |