Add a context for depot_tools on path.
This context is required for tests that depend on depot_tools being in
the path.
Change-Id: Ibd203a5b0d4a21e0a13556c233f8e8e2e0fdb949
Reviewed-on: https://flutter-review.googlesource.com/c/recipes/+/52122
Reviewed-by: Yusuf Mohsinally <mohsinally@google.com>
Commit-Queue: Godofredo Contreras <godofredoc@google.com>
diff --git a/recipe_modules/flutter_deps/__init__.py b/recipe_modules/flutter_deps/__init__.py
index d927778..3bf54f3 100644
--- a/recipe_modules/flutter_deps/__init__.py
+++ b/recipe_modules/flutter_deps/__init__.py
@@ -1,4 +1,5 @@
DEPS = [
+ 'depot_tools/depot_tools',
'flutter/android_virtual_device',
'flutter/osx_sdk',
'flutter/repo_util',
diff --git a/recipe_modules/flutter_deps/api.py b/recipe_modules/flutter_deps/api.py
index 550b69c..5aef868 100644
--- a/recipe_modules/flutter_deps/api.py
+++ b/recipe_modules/flutter_deps/api.py
@@ -638,6 +638,7 @@
'android_virtual_device': self.m.android_virtual_device,
'osx_sdk': self.m.osx_sdk,
'osx_sdk_devicelab': self.m.osx_sdk,
+ 'depot_tools_on_path': self.m.depot_tools.on_path,
}
def enter_contexts(self, exit_stack, contexts, env, env_prefixes):
@@ -652,10 +653,13 @@
available_contexts = self.contexts()
params = (env, env_prefixes)
for context in contexts:
+ aux_params = params
if context == 'osx_sdk':
- params = ('ios',)
+ aux_params = ('ios',)
if context == 'osx_sdk_devicelab':
- params = ('ios', True)
+ aux_params = ('ios', True)
if context == 'android_virtual_device':
- params = params + (env['EMULATOR_VERSION'],) # pragma: nocover
- exit_stack.enter_context(available_contexts[context](*params))
+ aux_params = params + (env['EMULATOR_VERSION'],) # pragma: nocover
+ if context == 'depot_tools_on_path':
+ aux_params = tuple()
+ exit_stack.enter_context(available_contexts[context](*aux_params))
diff --git a/recipe_modules/flutter_deps/examples/full.py b/recipe_modules/flutter_deps/examples/full.py
index 6208c8f..2d7d39c 100644
--- a/recipe_modules/flutter_deps/examples/full.py
+++ b/recipe_modules/flutter_deps/examples/full.py
@@ -76,22 +76,23 @@
api.flutter_deps.vs_build(env, env_prefixes, '')
api.flutter_deps.ruby(env, env_prefixes, '')
api.flutter_deps.android_virtual_device(env, env_prefixes, '34')
-
+
with contextlib.ExitStack() as exit_stack:
api.flutter_deps.enter_contexts(exit_stack, ['osx_sdk'], env, env_prefixes)
api.flutter_deps.enter_contexts(
- exit_stack, ['osx_sdk_devicelab'], env, env_prefixes
+ exit_stack, ['osx_sdk_devicelab', 'depot_tools_on_path'], env,
+ env_prefixes
)
if api.platform.is_linux:
api.flutter_deps.gh_cli(env, env_prefixes, 'latest')
# Gems dependency requires to run from a flutter_environment.
- checkout_path = api.path['start_dir'].join('flutter\ sdk')
+ checkout_path = api.path['start_dir'].join(r'flutter\ sdk')
env, env_prefixes = api.repo_util.flutter_environment(checkout_path)
def GenTests(api):
- checkout_path = api.path['start_dir'].join('flutter\ sdk')
+ checkout_path = api.path['start_dir'].join(r'flutter\ sdk')
yield api.test(
'basic',
api.repo_util.flutter_environment_data(checkout_path),