diff options
Diffstat (limited to 'morphlib')
-rw-r--r-- | morphlib/artifact.py | 35 | ||||
-rw-r--r-- | morphlib/buildcommand.py | 8 | ||||
-rw-r--r-- | morphlib/source.py | 4 |
3 files changed, 7 insertions, 40 deletions
diff --git a/morphlib/artifact.py b/morphlib/artifact.py index 8c299698..8b4ce65e 100644 --- a/morphlib/artifact.py +++ b/morphlib/artifact.py @@ -32,8 +32,7 @@ class Artifact(object): def __init__(self, source, name): self.source = source self.name = name - # TODO: Rename to dependents when callers are changed - self.dependent_sources = [] + self.dependents = [] def basename(self): # pragma: no cover return '%s.%s' % (self.source.basename(), str(self.name)) @@ -47,38 +46,6 @@ class Artifact(object): def __repr__(self): # pragma: no cover return 'Artifact(%s)' % str(self) - # TODO: Remove after build code stops using me - def add_dependency(self, artifact): # pragma: no cover - return self.source.add_dependency(artifact) - def depends_on(self, artifact): # pragma: no cover - return self.source.depends_on(artifact) - @property - def dependencies(self): # pragma: no cover - return self.source.dependencies - @property - def dependents(self): # pragma: no cover - seen = set() - res = [] - for s in self.dependent_sources: - for a in s.artifacts.itervalues(): - if a not in seen: - seen.add(a) - res.append(a) - return res - @property - def cache_id(self): # pragma: no cover - return self.source.cache_id - @cache_id.setter - def cache_id(self, v): # pragma: no cover - assert self.source.cache_id is None or v == self.source.cache_id - self.source.cache_id = v - @property - def cache_key(self): # pragma: no cover - return self.source.cache_key - @cache_key.setter - def cache_key(self, v): # pragma: no cover - assert (self.source.cache_key is None) or (v == self.source.cache_key) - self.source.cache_key = v def walk(self): # pragma: no cover '''Return list of an artifact and its build dependencies. diff --git a/morphlib/buildcommand.py b/morphlib/buildcommand.py index c8d9930c..edd2f0c5 100644 --- a/morphlib/buildcommand.py +++ b/morphlib/buildcommand.py @@ -259,7 +259,7 @@ class BuildCommand(object): ''' - return [a for a in artifacts if not a.dependent_sources] + return [a for a in artifacts if not a.dependents] @staticmethod def get_ordered_sources(artifacts): @@ -490,9 +490,9 @@ class BuildCommand(object): ''' def dependent_stratum_morphs(source): - dependent_sources = set(itertools.chain.from_iterable( - a.dependent_sources for a in source.artifacts.itervalues())) - dependent_strata = set(s for s in dependent_sources + dependents = set(itertools.chain.from_iterable( + a.dependents for a in source.artifacts.itervalues())) + dependent_strata = set(s for s in dependents if s.morphology['kind'] == 'stratum') return set(s.morphology for s in dependent_strata) return dependent_stratum_morphs(s1) == dependent_stratum_morphs(s2) diff --git a/morphlib/source.py b/morphlib/source.py index ae46f0c0..4ad54ed9 100644 --- a/morphlib/source.py +++ b/morphlib/source.py @@ -70,8 +70,8 @@ class Source(object): def add_dependency(self, artifact): # pragma: no cover if artifact not in self.dependencies: self.dependencies.append(artifact) - if self not in artifact.dependent_sources: - artifact.dependent_sources.append(self) + if self not in artifact.dependents: + artifact.dependents.append(self) def depends_on(self, artifact): # pragma: no cover '''Do we depend on ``artifact``?''' |