diff options
Diffstat (limited to 'taskcluster/taskgraph/transforms/l10n.py')
-rw-r--r-- | taskcluster/taskgraph/transforms/l10n.py | 44 |
1 files changed, 44 insertions, 0 deletions
diff --git a/taskcluster/taskgraph/transforms/l10n.py b/taskcluster/taskgraph/transforms/l10n.py new file mode 100644 index 000000000..42137b558 --- /dev/null +++ b/taskcluster/taskgraph/transforms/l10n.py @@ -0,0 +1,44 @@ +# 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/. +""" +Do transforms specific to l10n kind +""" + +from __future__ import absolute_import, print_function, unicode_literals + +from taskgraph.transforms.base import TransformSequence + +transforms = TransformSequence() + + +@transforms.add +def mh_config_replace_project(config, jobs): + """ Replaces {project} in mh config entries with the current project """ + # XXXCallek This is a bad pattern but exists to satisfy ease-of-porting for buildbot + for job in jobs: + if not job['run'].get('using') == 'mozharness': + # Nothing to do, not mozharness + yield job + continue + job['run']['config'] = map( + lambda x: x.format(project=config.params['project']), + job['run']['config'] + ) + yield job + + +@transforms.add +def mh_options_replace_project(config, jobs): + """ Replaces {project} in mh option entries with the current project """ + # XXXCallek This is a bad pattern but exists to satisfy ease-of-porting for buildbot + for job in jobs: + if not job['run'].get('using') == 'mozharness': + # Nothing to do, not mozharness + yield job + continue + job['run']['options'] = map( + lambda x: x.format(project=config.params['project']), + job['run']['options'] + ) + yield job |