summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
* doc: Adding part 1 of the getting started tutorialTristan Van Berkom2018-06-1616-0/+323
| | | | | | | | | | | | | | | | | | | | | o doc/Makefile: Added new directory to collect rst files from o doc/examples/first-project: Added the "first-project" example project. o doc/source/sessions/first-project-*.html: Added the generated snippets o doc/source/using_tutorial.rst: Added the new main tutorial page o doc/source/tutorial/first-project.rst: Added part 1 of the tutorial here o tests/examples/first-project.py: Added test for the example project This is largely based on an example by Javier Jardón, which was submitted at https://gitlab.com/BuildStream/buildstream/merge_requests/323 Fixes #103
* doc/bst2html.py, doc/Makefile: Added --force optionTristan Van Berkom2018-06-164-14/+66
| | | | | | | | | | | If --force is not specified, then we'll skip session files in the case that all of the outputs exist. Now setting BST_FORCE_SESSION_REBUILD when building the docs will cause the session files to be rebuilt regardless of whether they exist or not. The .gitlab-ci.yml was also changed to use this and force rebuilds.
* doc/bst2html.py: Add support for `fake-output` when running commands.Tristan Van Berkom2018-06-162-21/+49
| | | | | | | | | | | | | When specifying a fake-output string, we don't really run the command or assume it was a `bst` command, and we pretend that `fake-output` was the output of the command. Specifying an empty string explicitly enables the behavior too for faking a command that has no stdout/stderr. This also adds the "remove-files" hack allowing the session scripts to remove files before executing commands (kind of unsure if we're gonna keep this...)
* doc/Makefile: Fixed loop over session filesTristan Van Berkom2018-06-141-1/+1
| | | | This list needs to not be quoted.
* doc: Improve the new console output html generatorTristan Van Berkom2018-06-138-174/+266
| | | | | | | | | | Before we were creating one description file for each output, making it easier to declare a make rule for it - but the result was that we would have to build things more and it takes a long time. Instead, now we have session files which describe a series of commands to run in a session, and each command optionally produces an output file.
* contrib/bst-here: Remove redundant create_volume_if_not_exists() methodChandan Singh2018-06-131-8/+1
| | | | | | | | | This method doesn't really do anything as this is already the default behavior of `docker volume create` so remove it and always call `docker volume create` directly. This command will always print the name of the volume on STDOUT which is not very interesting so silence that. (If it errors out for some reason, that output will go to STDERR so the user should still be able to see that.)
* contrib/bst-here: Fix command/arg in usage instructionsChandan Singh2018-06-131-1/+1
| | | | | As we can only accept arguments when a command is specified, make it clear in the usage instructions.
* doc: Overhaul of page names and titlesTristan Van Berkom2018-06-1325-46/+48
| | | | | | | | | | | | | | | | o Giving main pages simple word titles This makes the main page: * About * Installing * Using * Reference * Contributing o Now named all rst files with their parent page name as a prefix. o Also changed some titles to make overall consistent titles.
* doc: Don't allow setting a height on the generated session htmlTristan Van Berkom2018-06-124-30/+14
| | | | | | This was a bad idea and doesnt play well with mobile UIs, better off to just include the whole thing even if it's long, and let the backing page handle vertical scrolling.
* .gitlab-ci.yml: Speed up docs build by setting up BST_SOURCE_CACHETristan Van Berkom2018-06-121-0/+2
| | | | | Use the gitlab cache for caching sources needed for building projects in order to collect sample output for documentation pages.
* HACKING.rst: Added guidelines for adding examplesTristan Van Berkom2018-06-121-1/+78
| | | | And some instructions about generating `bst` output for documentation
* doc/source/sessions: Committing generated session files.Tristan Van Berkom2018-06-122-0/+168
| | | | | | | This is only to make it easier for people who just want to build docs locally and not regenerate the session files. The session snapshot html files are always generated in CI every time.
* doc/source/examples.rst: Restructuring individual examples into an examples ↵Tristan Van Berkom2018-06-123-10/+9
| | | | subdirectory
* doc/source/examples_flatpak_autotools.rst: Using generated examplesTristan Van Berkom2018-06-121-4/+6
| | | | Show the commands at work in this example.
* doc/sessions: Added run files describing scenarios to buildTristan Van Berkom2018-06-122-0/+21
| | | | | The Makefile uses these to run some scenarios which are later included by the documentation directly.
* doc/Makefile: Run bst2html.py to generate .html files from .run filesTristan Van Berkom2018-06-121-2/+22
| | | | | | If you need an example output of bst to put in the documentation, just add a .run file to the doc/examples directory and it will result in a similarly named .html file in doc/source/examples.
* doc/bst2html.py: Added bst2html.pyTristan Van Berkom2018-06-121-0/+345
| | | | | | | This baby runs bst and captures the output with colors enabled and then generates some html we can include in documentation. These can be generated in CI continuously and used in the documentation.
* Handle missing tags in git repositories correctlyTristan Maat2018-06-111-0/+4
| | | | Fixes issue #380
* doc: Removed some unused link targetsTristan Van Berkom2018-06-095-14/+0
|
* doc/source/main_using.rst: Reversed ToC hereTristan Van Berkom2018-06-091-2/+2
| | | | | | Seems that the "commands" is taking a lot of space such that we can't see the other sections here easily, that is alright if "commands" remains at the end.
* doc/source/examples.rst: Use a flat ToC hereTristan Van Berkom2018-06-091-1/+1
| | | | | Here we're really listing examples, a ToC with depth is not great here.
* doc/source/examples_flatpak_autotools.rst: Added some links to the example ↵Tristan Van Berkom2018-06-091-5/+9
| | | | project on gitlab.
* doc/examples/flatpak-autotools: Use consistent project nameTristan Van Berkom2018-06-091-1/+1
| | | | This was named autotools-flatpak, changed to flatpak-autotools.
* doc: Stop generating the modules indexTristan Van Berkom2018-06-092-2/+2
| | | | | We still have a few unused artifacts in the docs generation, this is just one less.
* .gitlab-ci.yml: Stop depending on specific version of sphinxTristan Van Berkom2018-06-091-1/+1
| | | | | | This branch fixes #312 by using a hidden toctree to include the buildstream package and reducing the amount of allowed :orphan: pages.
* doc/source/authoring.rst: Removed unneeded link anchor from hereTristan Van Berkom2018-06-091-2/+0
|
* doc: Split out cache keys and sandboxing writings into a sub sectionTristan Van Berkom2018-06-092-4/+11
|
* doc/source/index.rst: Add resources directly at the bottom of the main pageTristan Van Berkom2018-06-092-11/+8
| | | | | This is nice to have on the main page, and is only a few links, dont like having a whole toplevel ToC entry for this.
* doc/source/core_framework.rst: Use a toctree instead of linksTristan Van Berkom2018-06-097-21/+22
|
* doc/source/main_core.rst: Use a hidden toctree to hide away some thingsTristan Van Berkom2018-06-091-0/+10
| | | | | Sphinx generates some library style module index, we just include it in a hidden toctree and avoid using it altogether.
* doc: Added plugins as ToC elements instead of orphaned linksTristan Van Berkom2018-06-0927-81/+108
| | | | | | | | | | | | o Now the page titles are declared in plugins, allowing for a more descriptive ToC o Makefile and plugin.rsttemplate updated to not produce the title, to no longer use `:orphan:` for plugin pages, and to ignore any private modules in the plugin directories. o Interestingly, now the docs will fail to build if you add a new plugin and forget to add it to the documentation.
* doc/source/index.rst: Use only one level depth ToC on main pageTristan Van Berkom2018-06-091-1/+1
| | | | | The main page has too much information on it otherwise, we want a friendly, not overwhelming first page to our docs.
* Allow tracking dependencies within sub-projects.Valentin David2018-06-084-10/+229
| | | | | | | --track-cross-junctions now concerns crossing junctions rather than forbidding elements in sub-project to be tracked. Part of #359.
* Handle cross junction elements in workspaces.Valentin David2018-06-087-30/+154
| | | | | | | | | | | Workspaces are now index by colon separated junction path. This now allows to create workspaces for elements in external projects. Workspaces are owned by context instead of root project. However it is initialized once top-level project is registered as we need to resolve paths relatively to this top-level project. Part of #359.
* Reword uses of project in Workspaces.Valentin David2018-06-081-22/+30
| | | | | Make it clear we expect the top-level project here as we use it to resolve paths relative to project directory.
* Interpret names as colon separated junction path in loader.Valentin David2018-06-087-10/+240
| | | | | | 'a.bst:b.bst' gets interpreted as 'b.bst' from junction 'a.bst'. Part of #359.
* autotools plugin: Dont regenerate existing configure scriptsTristan Van Berkom2018-06-081-4/+6
| | | | This closes #256
* _artifactcache/pushreceive.py: Cleanup reported error when receiving ↵Tristan Van Berkom2018-06-071-3/+2
| | | | | | | oversized artifacts This user facing string was redundantly declared in two places, only the message when catching the error was ever printed.
* pushreceive.py: Abstract the buffer_James Ennis2018-06-071-9/+8
|
* pushreceive.py: Ensure huge artifacts are not pushedJames Ennis2018-06-072-6/+32
|
* pushreceive.py: Add comments to code and name variables more sensiblyJames Ennis2018-06-071-1/+13
|
* push.py: Add tests to test remote cache expiryJames Ennis2018-06-071-1/+184
| | | | | | | | The tests include a new environment variable: BST_CACHE_QUOTA. This variable is used in receive_main() in pushreceive.py. Test names: test_artifact_expires, test_large_artifact_is_not_cached_remotely test_recently_pulled_artifact_does_not_expire: marked as xfail until we implement LRU expiry in remote share
* element_generators.py: Add a utility function to create arbitrary size elementsJames Ennis2018-06-072-0/+41
| | | | | | New file consisting of functions that allow us to generate elements on the fly __init__.py now includes create_element_size()
* pushreceive.py: Remove LRP artifacts from cache, introduce clean_up_cache()James Ennis2018-06-071-3/+54
| | | | This fixes #136
* pushreceive.py: Ensure there is a repopathJames Ennis2018-06-071-0/+3
|
* _ostree.py: Introduce _list_all_refs() and list_artifacts()Tristan Maat2018-06-071-0/+44
| | | | | The unused list_remote_refs() function has also been removed as part of this commit.
* _ostree.py: Reintroduce remove()Tristan Maat2018-06-071-0/+36
|
* tests/completions: Added test case for custom `bst help` completionsTristan Van Berkom2018-06-071-0/+13
|
* _frontend/cli.py: Allow specifying commands in `bst help`Tristan Van Berkom2018-06-072-13/+67
| | | | | | o This supports deeply nested commands as well as shallow commands o Automated support for bash completions included
* Implement bst helpEd Baunton2018-06-072-3/+16
|