summaryrefslogtreecommitdiff
path: root/morphlib/artifact.py
diff options
context:
space:
mode:
authorRichard Maw <richard.maw@gmail.com>2014-09-10 16:03:42 +0000
committerRichard Maw <richard.maw@gmail.com>2014-09-19 12:43:26 +0000
commit5329c28a1de4ec0662344b78e744a2bd1affac99 (patch)
treeeeb8f01047b37cd244d3b922a71de1e87fc52391 /morphlib/artifact.py
parent56ea3690df433ec1224676ca08170ee6c638649d (diff)
downloadmorph-5329c28a1de4ec0662344b78e744a2bd1affac99.tar.gz
Move dependencies and cache keys to Sources
Diffstat (limited to 'morphlib/artifact.py')
-rw-r--r--morphlib/artifact.py24
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