Chromium Code Reviews| Index: tools/bisect_utils.py |
| diff --git a/tools/bisect_utils.py b/tools/bisect_utils.py |
| index 12d8c78c5f29eb4a5d2eba818aca44ac1ca4d7ca..ab0e889f10e62a80080c98d489533addb4d88282 100644 |
| --- a/tools/bisect_utils.py |
| +++ b/tools/bisect_utils.py |
| @@ -41,6 +41,8 @@ REPO_PARAMS = [ |
| REPO_SYNC_COMMAND = 'git checkout -f $(git rev-list --max-count=1 '\ |
| '--before=%d remotes/m/master)' |
| +ORIGINAL_ENV = {} |
| + |
| def OutputAnnotationStepStart(name): |
| """Outputs appropriate annotation to signal the start of a step to |
| a trybot. |
| @@ -283,6 +285,29 @@ def SetupCrosRepo(): |
| return passed |
| +def CopyAndSaveOriginalEnvironmentVars(): |
| + """Makes a copy of the current environment variables.""" |
| + # TODO: Waiting on crbug.com/255689, will remove this after. |
| + vars_to_remove = [] |
| + for k, v in os.environ.iteritems(): |
| + if 'ANDROID' in k: |
| + vars_to_remove.append(k) |
| + vars_to_remove.append('CHROME_SRC') |
| + vars_to_remove.append('CHROMIUM_GYP_FILE') |
| + vars_to_remove.append('GOMA_DIR') |
| + vars_to_remove.append('GYP_CROSSCOMPILE') |
| + vars_to_remove.append('GYP_DEFINES') |
| + vars_to_remove.append('GYP_GENERATORS') |
| + vars_to_remove.append('GYP_GENERATOR_FLAGS') |
| + vars_to_remove.append('OBJCOPY') |
| + for k in vars_to_remove: |
| + if os.environ.has_key(k): |
| + del os.environ[k] |
| + |
| + global ORIGINAL_ENV |
| + ORIGINAL_ENV = os.environ.copy() |
| + |
| + |
| def SetupAndroidBuildEnvironment(opts): |
| """Sets up the android build environment. |
| @@ -293,6 +318,15 @@ def SetupAndroidBuildEnvironment(opts): |
| Returns: |
| True if successful. |
| """ |
| + |
| + # Revert the environment variables back to default before setting them up |
| + # with envsetup.sh. |
| + env_vars = os.environ.copy() |
| + for k, _ in env_vars.iteritems(): |
| + del os.environ[k] |
| + for k, v in ORIGINAL_ENV.iteritems(): |
| + os.environ[k] = v |
| + |
| path_to_file = os.path.join('build', 'android', 'envsetup.sh') |
| proc = subprocess.Popen(['bash', '-c', 'source %s && env' % path_to_file], |
| stdout=subprocess.PIPE, |
| @@ -317,6 +351,7 @@ def SetupPlatformBuildEnvironment(opts): |
| True if successful. |
| """ |
| if opts.target_platform == 'android': |
| + CopyAndSaveOriginalEnvironmentVars() |
|
tonyg
2013/07/11 01:34:28
Kinda gross, but ok
|
| return SetupAndroidBuildEnvironment(opts) |
| elif opts.target_platform == 'cros': |
| return SetupCrosRepo() |