1# Copyright 2017 The Chromium Authors. All rights reserved. 2# Use of this source code is governed by a BSD-style license that can be 3# found in the LICENSE file. 4 5 6from recipe_engine import recipe_api 7 8 9class EnvApi(recipe_api.RecipeApi): 10 def __call__(self, env_dict): 11 env = self.m.context.env 12 # If PATH is defined in both, merge them together, merging default_env into 13 # path by replacing %(PATH)s 14 upstream_path = env.get('PATH', '') 15 env.update(env_dict) 16 my_path = env_dict.get('PATH', '') 17 if upstream_path and my_path and upstream_path != my_path: 18 env['PATH'] = upstream_path.replace(r'%(PATH)s', my_path) 19 20 return self.m.context(env=env) 21