From a37bc6ce4212972534a7ef16c2e81f6c464a2a0c Mon Sep 17 00:00:00 2001
From: Tiago Gomes <tiago.gomes@codethink.co.uk>
Date: Mon, 10 Sep 2018 15:10:50 +0100
Subject: [PATCH] docs: document protected variables

And remove then from the defaults as they are dynamically set by
BuildStream.
---
 buildstream/data/projectconfig.yaml | 15 ---------------
 doc/source/format_declaring.rst     | 22 ++++++++++++++++++++++
 2 files changed, 22 insertions(+), 15 deletions(-)

diff --git a/buildstream/data/projectconfig.yaml b/buildstream/data/projectconfig.yaml
index 1da67a530b..4d2ccc647e 100644
--- a/buildstream/data/projectconfig.yaml
+++ b/buildstream/data/projectconfig.yaml
@@ -16,21 +16,7 @@ ref-storage: inline
 # Variable Configuration
 #
 variables:
-
-  # Maximum number of parallel build processes within a given
-  # build, support for this is conditional on the element type
-  # and the build system used (any element using 'make' can
-  # implement this).
-  #
-  # Note: this value defaults to the number of cores available
-  max-jobs: 4
-
-  # Note: These variables are defined later on in element.py and _project.py
-  element-name: ""
-  project-name: ""
-
   # Path configuration, to be used in build instructions.
-  #
   prefix: "/usr"
   exec_prefix: "%{prefix}"
   bindir: "%{exec_prefix}/bin"
@@ -89,7 +75,6 @@ variables:
     find "%{install-root}" -name '*.pyc' -exec \
       dd if=/dev/zero of={} bs=1 count=4 seek=4 conv=notrunc ';'
 
-
 # Base sandbox environment, can be overridden by plugins
 environment:
   PATH: /usr/bin:/bin:/usr/sbin:/sbin
diff --git a/doc/source/format_declaring.rst b/doc/source/format_declaring.rst
index 38c107c1b3..e1ad4f7201 100644
--- a/doc/source/format_declaring.rst
+++ b/doc/source/format_declaring.rst
@@ -484,3 +484,25 @@ dependency and that all referenced variables are declared, the following is fine
      install-commands:
      - |
        %{make-install} RELEASE_TEXT="%{release-text}"
+
+
+Variables declared by BuildStream
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+BuildStream declares a set of :ref:`builtin <project_builtin_defaults>`
+variables that may be overridden. In addition, the following
+read-only variables are also dynamically declared by BuildStream:
+
+* ``element-name``
+
+  The name of the element being processed (e.g base/alpine.bst).
+
+* ``project-name``
+
+  The name of project where BuildStream is being used.
+
+* ``max-jobs``
+
+  Maximum number of parallel build processes within a given
+  build, support for this is conditional on the element type
+  and the build system used (any element using 'make' can
+  implement this).
-- 
GitLab