diff options
Diffstat (limited to '')
-rw-r--r-- | python/mozbuild/mozbuild/toolchains.py | 32 |
1 files changed, 32 insertions, 0 deletions
diff --git a/python/mozbuild/mozbuild/toolchains.py b/python/mozbuild/mozbuild/toolchains.py new file mode 100644 index 0000000000..c5418089bb --- /dev/null +++ b/python/mozbuild/mozbuild/toolchains.py @@ -0,0 +1,32 @@ +# This Source Code Form is subject to the terms of the Mozilla Public +# License, v. 2.0. If a copy of the MPL was not distributed with this +# file, You can obtain one at http://mozilla.org/MPL/2.0/. + +import os + +import six + + +def toolchain_task_definitions(): + import gecko_taskgraph # noqa: triggers override of the `graph_config_schema` + from taskgraph.generator import load_tasks_for_kind + + # Don't import globally to allow this module being imported without + # the taskgraph module being available (e.g. standalone js) + params = {"level": os.environ.get("MOZ_SCM_LEVEL", "3")} + root_dir = os.path.join( + os.path.dirname(__file__), "..", "..", "..", "taskcluster", "ci" + ) + toolchains = load_tasks_for_kind(params, "toolchain", root_dir=root_dir) + aliased = {} + for t in toolchains.values(): + aliases = t.attributes.get("toolchain-alias") + if not aliases: + aliases = [] + if isinstance(aliases, six.text_type): + aliases = [aliases] + for alias in aliases: + aliased["toolchain-{}".format(alias)] = t + toolchains.update(aliased) + + return toolchains |