| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
| |
This introduces a new artifactsplitrule module, which tries to provide a
nice abstraction over matching a sequence of things to a bunch of
outputs, to be used by both chunks splitting, for separating files out
into chunk artifacts, the stratum splitting, where chunks are
aggregated into stratum artifacts, and systems selecting the right
strata to go into the artifact.
|
|
|
|
|
|
|
|
| |
This simplifies logic for the ArtifactResolver, since it doesn't need to
have its own cache of (source, artifact_name) -> artifact and the
artifacts a source produces can be iterated directly with the artifacts
attribute, rather than having to iterate over the names and look up the
artifact object.
|
|
|
|
|
|
| |
That means that bootstrapping Baserock is currently not possible with
this branch of Morph, but there's no reason it cannot be bootstrapped
using an older version of Morph instead.
|
| |
|
|
|
|
|
| |
We should now be fully consistent regarding the form of triplets (ie.
the last component is always a morphology name rather than a filename)
|
|
|
|
| |
Adjust all other parts and the tests to work with this.
|
|
|
|
|
|
|
|
|
| |
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.
|
| |
|
|
|
|
|
|
| |
It's not Pythonic, and isn't catching any errors anymore. It was useful
during a transition period when refactoring things to use the new class
for morphologies.
|
|
|
|
|
|
|
|
|
|
| |
This is because we will need to integrate a RemoteRepoCache and we don't
always want to create a CachedRepo object (in fact, we only want that
for the sources of artifacts we actually need to build). So we'll use
either the local or the remote repo cache to resolve refs and morphology
texts and then later, when actually caching a repo, we'll set the
source.repo member to a CachedRepo object that we can then use to
unpack the sources.
|
|
|
|
|
|
| |
This is done to avoid a nasty mix of SourcePool lookups using CachedRepo
objects (e.g. for strata within a system) versus lookups using repo names
(e.g for sources within a stratum).
|
| |
|
| |
|
|
|
|
|
| |
This class takes a source pool and computes a valid build order for
the sources in this pool, if possible.
|
|
|
|
|
|
|
|
|
| |
We will almost always want to look up sources based on the data we find
in morphologies (e.g. chunk sources found in a stratum or strata found
in a system). For that we need to remember the original_ref in addition
to the resolved SHA1 and look up sources using this original ref. The
original ref is therefore also used as part of the hash key in
SourcePool now.
|
| |
|
|
This will eventually replace the Blob class we are currently using.
It is somewhat simpler, because the envisioned usage of Source will
be different from Blob: we'll be rewriting the build ordering class,
and the builder classes, in ways that simplify things, and thus a
simpler Source class will hopefully suffice.
|