# 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/. """ Transform the beetmover-source task to also append `build` as dependency """ from __future__ import absolute_import from taskgraph.transforms.base import TransformSequence transforms = TransformSequence() @transforms.add def remove_build_dependency_in_beetmover_source(config, jobs): for job in jobs: # XXX: We delete the build dependency because, unlike the other beetmover # tasks, source doesn't depend on any build task at all. This hack should # go away when we rewrite beetmover transforms to allow more flexibility in deps del job['dependencies']['build'] all_upstream_artifacts = job['worker']['upstream-artifacts'] upstream_artifacts_without_build = [ upstream_artifact for upstream_artifact in all_upstream_artifacts if upstream_artifact['taskId']['task-reference'] != '' ] job['worker']['upstream-artifacts'] = upstream_artifacts_without_build yield job