summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTristan Van Berkom <tristan.vanberkom@codethink.co.uk>2018-04-08 17:25:21 +0900
committerTristan Van Berkom <tristan.vanberkom@codethink.co.uk>2018-04-08 17:25:21 +0900
commit9be2dc5a70e76d49a49017a5c91e0e27594dd5a7 (patch)
tree939685d6725e5e41da016826c34395bcfcc0ad92
parent59064042e9c458704f0987ed039fb547b90bd752 (diff)
downloadbuildstream-9be2dc5a70e76d49a49017a5c91e0e27594dd5a7.tar.gz
_versions.py: Added new file just to hold basic symbolic versions
This is where we're going to store BST_CORE_ARTIFACT_VERSION and BST_FORMAT_VERSION from now on. This was a little bit weirdly defined before, and now we need to at least have BST_FORMAT_VERSION available from the frontend/cli without onerous imports (we need to import it there, but dont want to slow down load time for bash completion runs).
-rw-r--r--buildstream/_project.py8
-rw-r--r--buildstream/_versions.py37
-rw-r--r--buildstream/element.py13
3 files changed, 40 insertions, 18 deletions
diff --git a/buildstream/_project.py b/buildstream/_project.py
index 6c8bda69a..c7f535e23 100644
--- a/buildstream/_project.py
+++ b/buildstream/_project.py
@@ -33,16 +33,10 @@ from ._artifactcache import artifact_cache_specs_from_config_node
from ._elementfactory import ElementFactory
from ._sourcefactory import SourceFactory
from ._projectrefs import ProjectRefs, ProjectRefStorage
+from ._versions import BST_FORMAT_VERSION
from ._workspaces import Workspaces
-# The base BuildStream format version
-#
-# This version is bumped whenever enhancements are made
-# to the `project.conf` format or the core element format.
-#
-BST_FORMAT_VERSION = 6
-
# The separator we use for user specified aliases
_ALIAS_SEPARATOR = ':'
diff --git a/buildstream/_versions.py b/buildstream/_versions.py
new file mode 100644
index 000000000..b08048c1f
--- /dev/null
+++ b/buildstream/_versions.py
@@ -0,0 +1,37 @@
+#!/usr/bin/env python3
+#
+# Copyright (C) 2016 Codethink Limited
+#
+# This program is free software; you can redistribute it and/or
+# modify it under the terms of the GNU Lesser General Public
+# License as published by the Free Software Foundation; either
+# version 2 of the License, or (at your option) any later version.
+#
+# This library is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+# Lesser General Public License for more details.
+#
+# You should have received a copy of the GNU Lesser General Public
+# License along with this library. If not, see <http://www.gnu.org/licenses/>.
+#
+# Authors:
+# Tristan Van Berkom <tristan.vanberkom@codethink.co.uk>
+
+
+# The base BuildStream format version
+#
+# This version is bumped whenever enhancements are made
+# to the `project.conf` format or the core element format.
+#
+BST_FORMAT_VERSION = 6
+
+
+# The base BuildStream artifact version
+#
+# The artifact version changes whenever the cache key
+# calculation algorithm changes in an incompatible way
+# or if buildstream was changed in a way which can cause
+# the same cache key to produce something that is no longer
+# the same.
+BST_CORE_ARTIFACT_VERSION = 1
diff --git a/buildstream/element.py b/buildstream/element.py
index f63812f4d..76a6e0b73 100644
--- a/buildstream/element.py
+++ b/buildstream/element.py
@@ -36,6 +36,7 @@ import shutil
from . import _yaml
from ._variables import Variables
+from ._versions import BST_CORE_ARTIFACT_VERSION
from ._exceptions import BstError, LoadError, LoadErrorReason, ImplError, ErrorDomain
from . import Plugin, Consistency
from . import SandboxFlags
@@ -47,16 +48,6 @@ from ._platform import Platform
from .sandbox._config import SandboxConfig
-# The base BuildStream artifact version
-#
-# The artifact version changes whenever the cache key
-# calculation algorithm changes in an incompatible way
-# or if buildstream was changed in a way which can cause
-# the same cache key to produce something that is no longer
-# the same.
-_BST_CORE_ARTIFACT_VERSION = 1
-
-
# _KeyStrength():
#
# Strength of cache key
@@ -1011,7 +1002,7 @@ class Element(Plugin):
project = self._get_project()
self.__cache_key_dict = {
- 'artifact-version': "{}.{}".format(_BST_CORE_ARTIFACT_VERSION,
+ 'artifact-version': "{}.{}".format(BST_CORE_ARTIFACT_VERSION,
self.BST_ARTIFACT_VERSION),
'context': context.get_cache_key(),
'project': project.get_cache_key(),