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),