summaryrefslogtreecommitdiff
path: root/doc/source/main_glossary.rst
blob: aa0c6da1f6c534e71a82b2bb22c7d481cfe776f2 (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
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148


Glossary
========

.. glossary::
   :sorted:


   ``.bst`` file
       The configuration for an :term:`Element <Element>`, represented
       in YAML format.


   Artifact
       The output collected after building an :term:`Element`.

       Artifacts can be built from :term:`Sources <Source>`, or pulled from a
       :term:`Remote Cache <Remote Cache>`, if available.


   Cache
       BuildStream leverages various caching techniques in order to avoid
       duplicating work.

       Depending on context, "Cache" might refer to BuildStream's :term:`local
       cache <Local Cache>` or a :term:`Remote Cache <Remote Cache>`.


   Core plugin
       A :term:`Plugin <Plugin>` that is contained in the BuildStream
       package.  These are built-in and don't need to be defined in the
       project configuration.

       See :ref:`plugin documentation <plugins>` for more details on core
       plugins.


   Dependency
       :term:`Elements <Element>` in a BuildStream project can depend
       on other elements from the same project. The element dependent upon is
       called a dependency.

       See :ref:`Dependencies document <format_dependencies>` for more
       details.

   Dependency configuration
       Additional custom YAML configuration which is used to define
       an :term:`Element's <Element>` relationship with it's :term:`Dependency <Dependency>`.

       This is supported on limited :term:`Element <Element>` implementations, and
       each :term:`Element <Element>` defines what configuration it supports.

       See the :ref:`dependency documentation <format_dependencies>` for details
       on dependency configuration.

   Element
       An atom of a :term:`BuildStream project <Project>`. Projects consist of
       zero or more elements.

       During the build process, BuildStream transforms :term:`Sources
       <Source>` and :term:`Dependencies <Dependency>` of an
       element into its output. The output is called an
       :term:`Artifact <Artifact>`.

       Configuration for elements is stored in form of :term:`.bst files
       <.bst file>`. See :ref:`Declaring Elements document <format_basics>`
       for more details on element configurtion.


   External Plugin
       A :term:`Plugin <Plugin>` that is defined in some package other
       than BuildStream.

       External plugins must be declared in :ref:`the project configuration
       <project_plugins>`.

       For a list of known external plugin repositories, see
       :ref:`plugins_external`.


   Junction
       A special kind of :term:`Element <Element>`, that allows you to
       depend on elements from another project.

       See :mod:`Junction reference <elements.junction>` for details on how to
       configure junction elements.

       See :ref:`Junction guide <junction_elements>` for details on how to use
       junction elements.


   Local Cache
       To avoid duplicating work, BuildStream will cache sources, artifacts,
       logs, buildtrees etc. in a local cache directory. If these sources or
       artifacts are needed another time, BuildStream will use them from the
       cache.

       See :ref:`Local cache expiry <config_local_cache>` section of the user
       guide for details on how to configure the local cache.


   Plugin
       BuildStream Plugins define types of :term:`Elements <Element>`
       and :term:`Sources <Source>`. Hence, they come in two distinct
       varities - Element Plugins and Source Plugins.

       BuildStream supports some plugins :term:`out of the box
       <Core plugin>`. It also has support for :term:`third party
       plugins <External Plugin>`.


   Project
       A collection of :term:`Elements <Element>`.

       Elements in a project share some central configuration. See
       :ref:`projectconf` to learn how to configure BuildStream projects.


   Remote Cache
       A server setup for sharing BuildStream :term:`Sources <Source>`
       and/or :term:`Artifacts <Artifact>`.

       See :ref:`cache server documentation <cache_servers>` for details on
       artifact caches.


   Source
       Sources describe the input to the build of an :term:`Element`.

       In general, an element can have zero or more sources. But, certain
       element plugins may restrict the number of allowed sources.

       Sources are defined in the :ref:`Sources <format_sources>` section of
       :term:`Element <Element>` configuration.


   Subproject
       Subprojects are :term:`projects <Project>` which are referred
       to by a :term:`Junction`.


   Workspace
       Workspaces allow building one or more elements using a local, and
       potentially modified, copy of their sources.

       See :ref:`Workspaces guide <developing_workspaces>` for more details on
       how to use workspaces.