Justin | ec76c65 | 2018-02-14 08:05:05 -0800 | [diff] [blame] | 1 | // Copyright 2018 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 | import 'dart:async'; |
| 6 | |
Todd Volkert | 8d11f5c | 2018-03-28 10:58:28 -0700 | [diff] [blame] | 7 | import 'android/android_sdk.dart'; |
| 8 | import 'android/android_studio.dart'; |
| 9 | import 'android/android_workflow.dart'; |
| 10 | import 'artifacts.dart'; |
| 11 | import 'asset.dart'; |
| 12 | import 'base/build.dart'; |
Justin | ec76c65 | 2018-02-14 08:05:05 -0800 | [diff] [blame] | 13 | import 'base/config.dart'; |
| 14 | import 'base/context.dart'; |
Todd Volkert | 8d11f5c | 2018-03-28 10:58:28 -0700 | [diff] [blame] | 15 | import 'base/flags.dart'; |
Justin | ec76c65 | 2018-02-14 08:05:05 -0800 | [diff] [blame] | 16 | import 'base/io.dart'; |
| 17 | import 'base/logger.dart'; |
| 18 | import 'base/os.dart'; |
| 19 | import 'base/platform.dart'; |
Jonah Williams | a871d59 | 2018-11-10 17:02:32 -0800 | [diff] [blame] | 20 | import 'base/time.dart'; |
tonyzhao1 | f8ab726 | 2018-12-19 10:10:08 -0800 | [diff] [blame^] | 21 | import 'base/user_messages.dart'; |
jcollins-g | ca67701 | 2018-02-21 09:54:07 -0800 | [diff] [blame] | 22 | import 'base/utils.dart'; |
Justin | ec76c65 | 2018-02-14 08:05:05 -0800 | [diff] [blame] | 23 | import 'cache.dart'; |
Chris Bracken | 7ffcd3d | 2018-04-24 14:03:41 -0700 | [diff] [blame] | 24 | import 'compile.dart'; |
Todd Volkert | 8d11f5c | 2018-03-28 10:58:28 -0700 | [diff] [blame] | 25 | import 'devfs.dart'; |
| 26 | import 'device.dart'; |
| 27 | import 'doctor.dart'; |
Danny Tuppeny | 53840fb | 2018-04-18 10:48:39 +0100 | [diff] [blame] | 28 | import 'emulator.dart'; |
Jonah Williams | b7c9c96 | 2018-10-22 16:48:17 -0700 | [diff] [blame] | 29 | import 'fuchsia/fuchsia_sdk.dart'; |
| 30 | import 'fuchsia/fuchsia_workflow.dart'; |
Todd Volkert | 8d11f5c | 2018-03-28 10:58:28 -0700 | [diff] [blame] | 31 | import 'ios/cocoapods.dart'; |
| 32 | import 'ios/ios_workflow.dart'; |
| 33 | import 'ios/mac.dart'; |
| 34 | import 'ios/simulators.dart'; |
| 35 | import 'ios/xcodeproj.dart'; |
| 36 | import 'run_hot.dart'; |
Justin | ec76c65 | 2018-02-14 08:05:05 -0800 | [diff] [blame] | 37 | import 'usage.dart'; |
Todd Volkert | 8d11f5c | 2018-03-28 10:58:28 -0700 | [diff] [blame] | 38 | import 'version.dart'; |
Justin | ec76c65 | 2018-02-14 08:05:05 -0800 | [diff] [blame] | 39 | |
Todd Volkert | 8d11f5c | 2018-03-28 10:58:28 -0700 | [diff] [blame] | 40 | Future<T> runInContext<T>( |
| 41 | FutureOr<T> runner(), { |
Todd Volkert | 6258f32 | 2018-07-24 16:33:49 -0700 | [diff] [blame] | 42 | Map<Type, Generator> overrides, |
Todd Volkert | 8d11f5c | 2018-03-28 10:58:28 -0700 | [diff] [blame] | 43 | }) async { |
Todd Volkert | f8058d7 | 2018-03-28 15:17:29 -0700 | [diff] [blame] | 44 | return await context.run<T>( |
Todd Volkert | 8d11f5c | 2018-03-28 10:58:28 -0700 | [diff] [blame] | 45 | name: 'global fallbacks', |
Todd Volkert | f8058d7 | 2018-03-28 15:17:29 -0700 | [diff] [blame] | 46 | body: runner, |
Todd Volkert | 8d11f5c | 2018-03-28 10:58:28 -0700 | [diff] [blame] | 47 | overrides: overrides, |
| 48 | fallbacks: <Type, Generator>{ |
| 49 | AndroidSdk: AndroidSdk.locateAndroidSdk, |
| 50 | AndroidStudio: AndroidStudio.latestValid, |
Alexandre Ardhuin | d927c93 | 2018-09-12 08:29:29 +0200 | [diff] [blame] | 51 | AndroidWorkflow: () => AndroidWorkflow(), |
| 52 | AndroidValidator: () => AndroidValidator(), |
tonyzhao1 | b04447d | 2018-10-05 08:45:16 -0700 | [diff] [blame] | 53 | AndroidLicenseValidator: () => AndroidLicenseValidator(), |
Alexandre Ardhuin | d927c93 | 2018-09-12 08:29:29 +0200 | [diff] [blame] | 54 | Artifacts: () => CachedArtifacts(), |
Todd Volkert | 8d11f5c | 2018-03-28 10:58:28 -0700 | [diff] [blame] | 55 | AssetBundleFactory: () => AssetBundleFactory.defaultInstance, |
| 56 | BotDetector: () => const BotDetector(), |
Alexandre Ardhuin | d927c93 | 2018-09-12 08:29:29 +0200 | [diff] [blame] | 57 | Cache: () => Cache(), |
Alexandre Ardhuin | d927c93 | 2018-09-12 08:29:29 +0200 | [diff] [blame] | 58 | CocoaPods: () => CocoaPods(), |
tonyzhao1 | 8b5af14 | 2018-09-19 15:42:51 -0700 | [diff] [blame] | 59 | CocoaPodsValidator: () => const CocoaPodsValidator(), |
Alexandre Ardhuin | d927c93 | 2018-09-12 08:29:29 +0200 | [diff] [blame] | 60 | Config: () => Config(), |
| 61 | DevFSConfig: () => DevFSConfig(), |
| 62 | DeviceManager: () => DeviceManager(), |
josephmr | 7f9bf5a | 2018-04-24 22:01:53 -0400 | [diff] [blame] | 63 | Doctor: () => const Doctor(), |
| 64 | DoctorValidatorsProvider: () => DoctorValidatorsProvider.defaultInstance, |
Alexandre Ardhuin | d927c93 | 2018-09-12 08:29:29 +0200 | [diff] [blame] | 65 | EmulatorManager: () => EmulatorManager(), |
Jonah Williams | b7c9c96 | 2018-10-22 16:48:17 -0700 | [diff] [blame] | 66 | FuchsiaSdk: () => FuchsiaSdk(), |
Jonah Williams | 81c7af3 | 2018-11-06 14:36:35 -0800 | [diff] [blame] | 67 | FuchsiaArtifacts: () => FuchsiaArtifacts(), |
Jonah Williams | b7c9c96 | 2018-10-22 16:48:17 -0700 | [diff] [blame] | 68 | FuchsiaWorkflow: () => FuchsiaWorkflow(), |
Todd Volkert | 8d11f5c | 2018-03-28 10:58:28 -0700 | [diff] [blame] | 69 | Flags: () => const EmptyFlags(), |
Jonah Williams | a871d59 | 2018-11-10 17:02:32 -0800 | [diff] [blame] | 70 | FlutterVersion: () => FlutterVersion(const SystemClock()), |
Todd Volkert | 8d11f5c | 2018-03-28 10:58:28 -0700 | [diff] [blame] | 71 | GenSnapshot: () => const GenSnapshot(), |
Alexandre Ardhuin | d927c93 | 2018-09-12 08:29:29 +0200 | [diff] [blame] | 72 | HotRunnerConfig: () => HotRunnerConfig(), |
Todd Volkert | 8d11f5c | 2018-03-28 10:58:28 -0700 | [diff] [blame] | 73 | IMobileDevice: () => const IMobileDevice(), |
Alexandre Ardhuin | d927c93 | 2018-09-12 08:29:29 +0200 | [diff] [blame] | 74 | IOSSimulatorUtils: () => IOSSimulatorUtils(), |
Todd Volkert | 8d11f5c | 2018-03-28 10:58:28 -0700 | [diff] [blame] | 75 | IOSWorkflow: () => const IOSWorkflow(), |
tonyzhao1 | 58d98ce | 2018-09-04 19:36:47 -0700 | [diff] [blame] | 76 | IOSValidator: () => const IOSValidator(), |
Chris Bracken | 7ffcd3d | 2018-04-24 14:03:41 -0700 | [diff] [blame] | 77 | KernelCompiler: () => const KernelCompiler(), |
Alexandre Ardhuin | d927c93 | 2018-09-12 08:29:29 +0200 | [diff] [blame] | 78 | Logger: () => platform.isWindows ? WindowsStdoutLogger() : StdoutLogger(), |
| 79 | OperatingSystemUtils: () => OperatingSystemUtils(), |
Chris Bracken | f8c50ea | 2018-09-18 10:05:46 -0700 | [diff] [blame] | 80 | PlistBuddy: () => const PlistBuddy(), |
Alexandre Ardhuin | d927c93 | 2018-09-12 08:29:29 +0200 | [diff] [blame] | 81 | SimControl: () => SimControl(), |
Jonah Williams | a871d59 | 2018-11-10 17:02:32 -0800 | [diff] [blame] | 82 | SystemClock: () => const SystemClock(), |
Todd Volkert | 8d11f5c | 2018-03-28 10:58:28 -0700 | [diff] [blame] | 83 | Stdio: () => const Stdio(), |
Alexandre Ardhuin | d927c93 | 2018-09-12 08:29:29 +0200 | [diff] [blame] | 84 | Usage: () => Usage(), |
tonyzhao1 | f8ab726 | 2018-12-19 10:10:08 -0800 | [diff] [blame^] | 85 | UserMessages: () => UserMessages(), |
Alexandre Ardhuin | d927c93 | 2018-09-12 08:29:29 +0200 | [diff] [blame] | 86 | Xcode: () => Xcode(), |
| 87 | XcodeProjectInterpreter: () => XcodeProjectInterpreter(), |
Todd Volkert | 8d11f5c | 2018-03-28 10:58:28 -0700 | [diff] [blame] | 88 | }, |
| 89 | ); |
Justin | ec76c65 | 2018-02-14 08:05:05 -0800 | [diff] [blame] | 90 | } |