| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
| |
Move artifacts from Installing section to general documentation
|
|
|
|
|
| |
The sphinx_rtd_theme is a sphinx theme designed to look modern and be mobile-friendly
http://sphinx-rtd-theme.readthedocs.io/en/latest/index.html
|
|
|
|
|
|
|
|
|
|
|
| |
The Source object previously stored the __origin_node,
__origin_toplevel and __origin_filename, this is from a time
when we did not hold on to the plugin's Provenance object
explicitly.
Since this information comes from the same place, let's just
use Plugin._get_provenance() to derive these values, instead
of redundantly carrying them along separately.
|
|
|
|
| |
Also announce --track-save deprecation
|
|
|
|
|
|
|
|
|
| |
o Adding explanation of the `ref-storage` option in project.conf
o Adjusting some adjacent relevant documentation
o Adding a new projectrefs.rst section for the project.refs
format itself, and linking it from the main authoring page.
|
|
|
|
|
|
|
|
| |
o Test that this fails gracefully when the toplevel project uses
inline ref-storage
o Test that we successfully track cross junctioned elements when
the project uses project.refs
|
|
|
|
|
|
|
| |
Tests that `bst track` sets the ref in the expected node if the
node containing the ref is conditionalized with a project option.
This tests both the regular inline behavior, and also the project.refs behavior.
|
|
|
|
|
|
| |
Only added condition to the simplest case here, the other cases
are mostly testing that track commands get the correct selection
of elements when using `--deps all` and `--except` arguments.
|
|
|
|
|
| |
In order to test tracking on multiple branches, lets use
the Git repo scaffolding.
|
|
|
|
| |
project.refs
|
|
|
|
|
|
| |
Test that we have no error when loading a project that doesnt use
project.refs, and that we get the expected graceful failure when
attempting to use project.refs with a Source which doesnt support it.
|
|
|
|
|
| |
Test that we get the same functionality from the complex build + track
test regardless of whether we are saving refs inline or to a project.refs file.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This adds a new Source.load_ref() API which is technically optional to
implement, projects which make use of a project.refs file must only
use source plugins which implement the new load_ref() method.
* source.py: Added load_ref() API to load a ref from a specified node.
This also adds _load_ref() and _save_ref() wrappers which handle
the logistics of when to load and save a ref to which location.
This also fixes _set_ref() to apply the ref to the node unconditionally,
this must be done independantly of whether the ref actually changed.
o Modifications to the loading process such that Source now can have
access to the element name and source index.
o _pipeline.py: Delegate abstract loading of source refs to Source._load_ref()
- Print a summarized warning about redundant source references
- Assert that one cannot track cross-junction elements without project.refs.
o _scheduler/trackqueue.py: Delegate saving refs to Source._save_ref()
|
|
|
|
|
| |
This also bumps the format version to signify a new format
where storing refs centralized in project.refs is now supported.
|
|
|
|
| |
This object manages the project.refs file in a project directory.
|
| |
|
|
|
|
|
|
|
| |
This is technically an API break, but will be transparant for the
vast majority of the current hand full of source implementations
which exist at this time. This is a lesser evil than bloating the
API with new methods.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
It makes no sense to support this now that we are adding project.refs,
instead of removing the option completely, we document it as
deprecated and print a warning.
o _frontend/cli.py: Mark the option as deprecated, warn if it's used
o _scheduler/trackqueue.py: Remove save optionality
o _pipeline.py: Remove save optionality
o tests/frontend/buildtrack.py: Stop testing for no-save functionality,
This test was actually broken, and only save functionality was being
tested. This was due to using a list [True] or [False] in the
@pytest.mark.parameterize() statement, both of which are truthy values.
|
| |
|
| |
|
| |
|
|
|
|
|
| |
- installing from distro packages
- installing from source
|
| |
|
| |
|
| |
|
|
|
|
| |
classes
|
|
|
|
|
|
| |
The provided example shows the `tar` source ref being
expressed with a `sha256sum` key name, lets make the example
correct here and call it `ref`.
|
|
|
|
|
|
|
|
|
|
|
| |
Over time, the _project.py module has regressed into expressing
some defaults only hard coded into the python file instead of
properly exposing their default in the base configuration file
in data/projectconfig.yaml, where the default values can be observed
by users.
This patch rectifies that, and also restructures the relevant
surrounding documentation a bit.
|
|
|
|
| |
This matches BuildElement.
|
|
|
|
| |
This matches SandboxBwrap.
|
| |
|
|
|
|
|
|
| |
This fixes internal error when build is retried.
Fixes #299
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
|
|
|
| |
catching-non-exception warnings
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|