diff options
author | Richard Maw <richard.maw@gmail.com> | 2014-09-10 16:03:42 +0000 |
---|---|---|
committer | Richard Maw <richard.maw@gmail.com> | 2014-09-19 12:43:26 +0000 |
commit | 5329c28a1de4ec0662344b78e744a2bd1affac99 (patch) | |
tree | eeb8f01047b37cd244d3b922a71de1e87fc52391 /morphlib/artifact.py | |
parent | 56ea3690df433ec1224676ca08170ee6c638649d (diff) | |
download | morph-5329c28a1de4ec0662344b78e744a2bd1affac99.tar.gz |
Move dependencies and cache keys to Sources
Diffstat (limited to 'morphlib/artifact.py')
-rw-r--r-- | morphlib/artifact.py | 24 |
1 files changed, 3 insertions, 21 deletions
diff --git a/morphlib/artifact.py b/morphlib/artifact.py index b67f0da0..aea82357 100644 --- a/morphlib/artifact.py +++ b/morphlib/artifact.py @@ -22,10 +22,7 @@ class Artifact(object): * ``source`` -- the source from which the artifact is built * ``name`` -- the name of the artifact - * ``cache_key`` -- a cache key to uniquely identify the artifact - * ``cache_id`` -- a dict describing the components of the cache key - * ``dependencies`` -- list of Artifacts that need to be built beforehand - * ``dependents`` -- list of Artifacts that need this Artifact to be built + * ``dependents`` -- list of Sources that need this Artifact to be built The ``dependencies`` and ``dependents`` lists MUST be modified by the ``add_dependencies`` and ``add_dependent`` methods only. @@ -35,25 +32,10 @@ class Artifact(object): def __init__(self, source, name): self.source = source self.name = name - self.cache_id = None - self.cache_key = None - self.dependencies = [] self.dependents = [] - def add_dependency(self, artifact): - '''Add ``artifact`` to the dependency list.''' - if artifact not in self.dependencies: - self.dependencies.append(artifact) - artifact.dependents.append(self) - - def depends_on(self, artifact): - '''Do we depend on ``artifact``?''' - return artifact in self.dependencies - def basename(self): # pragma: no cover - return '%s.%s.%s' % (self.cache_key, - str(self.source.morphology['kind']), - str(self.name)) + return '%s.%s' % (self.source.basename(), str(self.name)) def metadata_basename(self, metadata_name): # pragma: no cover return '%s.%s' % (self.basename(), metadata_name) @@ -91,7 +73,7 @@ class Artifact(object): def depth_first(a): if a not in done: done.add(a) - for dep in a.dependencies: + for dep in a.source.dependencies: for ret in depth_first(dep): yield ret yield a |