# Copyright 2016 The Chromium Authors. All rights reserved. # Use of this source code is governed by a BSD-style license that can be # found in the LICENSE file. from recipe_engine import recipe_api class PresubmitApi(recipe_api.RecipeApi): @property def presubmit_support_path(self): return self.package_repo_resource('presubmit_support.py') def __call__(self, *args, **kwargs): """Return a presubmit step.""" name = kwargs.pop('name', 'presubmit') env = self.m.step.get_from_context('env', {}) env.setdefault('PATH', '%(PATH)s') env['PATH'] = self.m.path.pathsep.join([ env['PATH'], str(self._module.PACKAGE_REPO_ROOT)]) with self.m.step.context({'env': env}): return self.m.python( name, self.presubmit_support_path, list(args), **kwargs)