summaryrefslogtreecommitdiff
path: root/morphlib/artifact.py
Commit message (Collapse)AuthorAgeFilesLines
* Replace builder order graph with just a single artifactLars Wirzenius2013-02-191-1/+22
| | | | | The artifact's build dependencies replace the build order graph from previously.
* python scripts: pep8ize codebaseRichard Maw2012-08-011-11/+11
| | | | | | | | | This was done with the aid of the pep8 script, available by running `easy_install pep8`. It may be worth making this part of ./check, but that will require putting pep8 into the development tools stratum. This should be easy, given pep8 has no external dependencies.
* morph: add cache id to the meta filesRichard Maw2012-04-201-0/+2
| | | | This is probably excessively large right now
* Add RemoteArtifactCache. Move metadata basename code into Artifact.Jannis Pohlmann2012-04-191-0/+6
|
* Remove BuildGraph, compute cache keys based on Artifacts.Jannis Pohlmann2012-04-181-2/+2
| | | | | | | | | | | | With this commit, the ArtifactResolver no longer computes the cache keys when creating Artifact objects. This will have to happen as a post-resolving step (e.g. prior to building or checking whether a local or remote artifact cache has any of the resolved artifacts). The CacheKeyComputer now takes an Artifact object and computes the cache keys using its dependencies. BuildGraph is no longer needed for the CacheKeyComputer unit tests.
* Change __str__() method of Artifact, add basename() method.Jannis Pohlmann2012-04-161-1/+3
| | | | | | | The __str__() method returns "x|y|z|a" where x is the repo, y is the original ref, z is the morphology filename and a is the name of the artifact. This is a consistent extension of the str() implementation of Source, which returns just "x|y|z".
* Add Artifact documentaiton, fix morphlib module imports.Jannis Pohlmann2012-04-161-0/+15
|
* Merge DependencyResolver into ArtifactResolver.Jannis Pohlmann2012-04-161-0/+13
|
* Add the new ArtifactResolver class.Jannis Pohlmann2012-04-121-0/+5
| | | | | | | This class takes a CacheKeyComputer and a SourcePool, analyses the sources and their dependencies and creates a list of artifacts (represented by Artifact objects) that would be created when building sources in the pool.
* Add Artifact and LocalArtifactCache classes.Jannis Pohlmann2012-04-111-0/+22
An Artifact represents a thing that morph has built. An example would be eglibc-runtime which morph may have built from the eglibc chunk morphology. Another example would be a ready-to-use system image. The LocalArtifactCache allows to store build artifacts in a local directory. Users of this class can ask it whether it has a certain artifact. They can also optain an I/O handle to read the artifact data from. In addition to just abstracting the way artifacts are stored, LocalArtifactCache also allows to store and retrieve metadata for (a) artifacts and (b) sources (the latter requires a cache key to be provided to the LocalArtifactCache).