summaryrefslogtreecommitdiff
path: root/doc/source/index.rst
blob: 2539138795f74d6a597344199773aac915ae079f (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
.. BuildStream documentation master file, created by
   sphinx-quickstart on Mon Nov  7 21:03:37 2016.
   You can adapt this file completely to your liking, but it should at least
   contain the root `toctree` directive.

.. toctree::
   :maxdepth: 2

BuildStream Documentation
=========================

About BuildStream
-----------------
BuildStream is a flexible and extensible framework for the modelling of build
pipelines in a declarative YAML format, written in python.

BuildStream defines a pipeline as abstract elements related by their dependencies,
and stacks to conveniently group dependencies together. Basic element types for
importing SDKs in the form of tarballs or ostree checkouts, building software
components and exporting SDKs or deploying bootable filesystem images will be
included in BuildStream, but it is expected that projects forge their own custom
elements for doing more elaborate things such as deploying software in special ways.


Using BuildStream
-----------------
Here are some resources to help you get off the ground when creating your very first
BuildStream project.

* :ref:`format`



Core Framework
--------------

* :mod:`Plugin <buildstream.plugin>` - Base Class for all plugins
* :mod:`Source <buildstream.source>` - Base Source Class
* :mod:`Element <buildstream.element>` - Base Element Class
* :mod:`BuildElement <buildstream.buildelement>` - Build Element Class
* :mod:`Context <buildstream.context>` - Invocation Context
* :mod:`Project <buildstream.project>` - Loaded Project
* :mod:`Sandbox <buildstream.sandbox>` - Sandbox Abstraction Class
* :mod:`Utilities <buildstream.utils>` - Utilities for Plugins


Plugins
-------

Elements
~~~~~~~~

* :mod:`import` - Import sources directly
* :mod:`manual` - Manual Build Element
* :mod:`autotools` - Autotools Build Element
* :mod:`cmake` - CMake Build Element
* :mod:`qmake` - QMake Build Element
* :mod:`distutils` - Python Distutils Build Element
* :mod:`makemaker` - Perl MakeMaker Build Element
* :mod:`modulebuild` - Perl Module::Build Build Element

Sources
~~~~~~~

* :mod:`local` - A Source implementation local files and directories
* :mod:`git` - A Source implementation for git
* :mod:`ostree` - A Source implementation for ostree


Indices and tables
------------------
* :ref:`modindex`
* :ref:`genindex`