make FlutterProject synchronous (#31757)
diff --git a/packages/flutter_tools/lib/src/android/android_device.dart b/packages/flutter_tools/lib/src/android/android_device.dart index 5fb219d..b1f5ef7 100644 --- a/packages/flutter_tools/lib/src/android/android_device.dart +++ b/packages/flutter_tools/lib/src/android/android_device.dart
@@ -373,7 +373,7 @@ if (!prebuiltApplication || androidSdk.licensesAvailable && androidSdk.latestVersion == null) { printTrace('Building APK'); - final FlutterProject project = await FlutterProject.current(); + final FlutterProject project = FlutterProject.current(); await buildApk( project: project, target: mainPath,
diff --git a/packages/flutter_tools/lib/src/android/gradle.dart b/packages/flutter_tools/lib/src/android/gradle.dart index ad23539..5967258 100644 --- a/packages/flutter_tools/lib/src/android/gradle.dart +++ b/packages/flutter_tools/lib/src/android/gradle.dart
@@ -112,7 +112,7 @@ /// potentially downloaded. Future<void> checkGradleDependencies() async { final Status progress = logger.startProgress('Ensuring gradle dependencies are up to date...', timeout: timeoutConfiguration.slowOperation); - final FlutterProject flutterProject = await FlutterProject.current(); + final FlutterProject flutterProject = FlutterProject.current(); final String gradle = await _ensureGradle(flutterProject); await runCheckedAsync( <String>[gradle, 'dependencies'], @@ -126,7 +126,7 @@ // Note: Dependencies are resolved and possibly downloaded as a side-effect // of calculating the app properties using Gradle. This may take minutes. Future<GradleProject> _readGradleProject() async { - final FlutterProject flutterProject = await FlutterProject.current(); + final FlutterProject flutterProject = FlutterProject.current(); final String gradle = await _ensureGradle(flutterProject); updateLocalProperties(project: flutterProject); final Status status = logger.startProgress('Resolving dependencies...', timeout: timeoutConfiguration.slowOperation);
diff --git a/packages/flutter_tools/lib/src/application_package.dart b/packages/flutter_tools/lib/src/application_package.dart index 9091ef9..9d4e9d2 100644 --- a/packages/flutter_tools/lib/src/application_package.dart +++ b/packages/flutter_tools/lib/src/application_package.dart
@@ -43,27 +43,27 @@ await checkGradleDependencies(); } return applicationBinary == null - ? await AndroidApk.fromAndroidProject((await FlutterProject.current()).android) + ? await AndroidApk.fromAndroidProject(FlutterProject.current().android) : AndroidApk.fromApk(applicationBinary); case TargetPlatform.ios: return applicationBinary == null - ? IOSApp.fromIosProject((await FlutterProject.current()).ios) + ? IOSApp.fromIosProject(FlutterProject.current().ios) : IOSApp.fromPrebuiltApp(applicationBinary); case TargetPlatform.tester: return FlutterTesterApp.fromCurrentDirectory(); case TargetPlatform.darwin_x64: return applicationBinary == null - ? MacOSApp.fromMacOSProject((await FlutterProject.current()).macos) + ? MacOSApp.fromMacOSProject(FlutterProject.current().macos) : MacOSApp.fromPrebuiltApp(applicationBinary); case TargetPlatform.web: - return WebApplicationPackage(await FlutterProject.current()); + return WebApplicationPackage(FlutterProject.current()); case TargetPlatform.linux_x64: return applicationBinary == null - ? LinuxApp.fromLinuxProject((await FlutterProject.current()).linux) + ? LinuxApp.fromLinuxProject(FlutterProject.current().linux) : LinuxApp.fromPrebuiltApp(applicationBinary); case TargetPlatform.windows_x64: return applicationBinary == null - ? WindowsApp.fromWindowsProject((await FlutterProject.current()).windows) + ? WindowsApp.fromWindowsProject(FlutterProject.current().windows) : WindowsApp.fromPrebuiltApp(applicationBinary); case TargetPlatform.fuchsia: return null; @@ -395,10 +395,10 @@ case TargetPlatform.android_arm64: case TargetPlatform.android_x64: case TargetPlatform.android_x86: - android ??= await AndroidApk.fromAndroidProject((await FlutterProject.current()).android); + android ??= await AndroidApk.fromAndroidProject(FlutterProject.current().android); return android; case TargetPlatform.ios: - iOS ??= IOSApp.fromIosProject((await FlutterProject.current()).ios); + iOS ??= IOSApp.fromIosProject(FlutterProject.current().ios); return iOS; case TargetPlatform.darwin_x64: case TargetPlatform.linux_x64:
diff --git a/packages/flutter_tools/lib/src/asset.dart b/packages/flutter_tools/lib/src/asset.dart index 498505c..6644d5b 100644 --- a/packages/flutter_tools/lib/src/asset.dart +++ b/packages/flutter_tools/lib/src/asset.dart
@@ -112,7 +112,7 @@ packagesPath ??= fs.path.absolute(PackageMap.globalPackagesPath); FlutterManifest flutterManifest; try { - flutterManifest = await FlutterManifest.createFromPath(manifestPath); + flutterManifest = FlutterManifest.createFromPath(manifestPath); } catch (e) { printStatus('Error detected in pubspec.yaml:', emphasis: true); printError('$e'); @@ -162,7 +162,7 @@ final Uri package = packageMap.map[packageName]; if (package != null && package.scheme == 'file') { final String packageManifestPath = fs.path.fromUri(package.resolve('../pubspec.yaml')); - final FlutterManifest packageFlutterManifest = await FlutterManifest.createFromPath(packageManifestPath); + final FlutterManifest packageFlutterManifest = FlutterManifest.createFromPath(packageManifestPath); if (packageFlutterManifest == null) continue; // Skip the app itself
diff --git a/packages/flutter_tools/lib/src/base/build.dart b/packages/flutter_tools/lib/src/base/build.dart index e2bf600..4f11a54 100644 --- a/packages/flutter_tools/lib/src/base/build.dart +++ b/packages/flutter_tools/lib/src/base/build.dart
@@ -88,7 +88,7 @@ }) async { FlutterProject flutterProject; if (fs.file('pubspec.yaml').existsSync()) { - flutterProject = await FlutterProject.current(); + flutterProject = FlutterProject.current(); } if (!_isValidAotPlatform(platform, buildMode)) { printError('${getNameForTargetPlatform(platform)} does not support AOT compilation.'); @@ -304,7 +304,7 @@ @required bool trackWidgetCreation, List<String> extraFrontEndOptions = const <String>[], }) async { - final FlutterProject flutterProject = await FlutterProject.current(); + final FlutterProject flutterProject = FlutterProject.current(); final Directory outputDir = fs.directory(outputPath); outputDir.createSync(recursive: true);
diff --git a/packages/flutter_tools/lib/src/bundle.dart b/packages/flutter_tools/lib/src/bundle.dart index e9cab76..70a4265 100644 --- a/packages/flutter_tools/lib/src/bundle.dart +++ b/packages/flutter_tools/lib/src/bundle.dart
@@ -70,7 +70,7 @@ assetDirPath ??= getAssetBuildDirectory(); packagesPath ??= fs.path.absolute(PackageMap.globalPackagesPath); applicationKernelFilePath ??= getDefaultApplicationKernelPath(trackWidgetCreation: trackWidgetCreation); - final FlutterProject flutterProject = await FlutterProject.current(); + final FlutterProject flutterProject = FlutterProject.current(); if (compilationTraceFilePath != null) { if (buildMode != BuildMode.dynamicProfile && buildMode != BuildMode.dynamicRelease) {
diff --git a/packages/flutter_tools/lib/src/codegen.dart b/packages/flutter_tools/lib/src/codegen.dart index 0993819..68606f3 100644 --- a/packages/flutter_tools/lib/src/codegen.dart +++ b/packages/flutter_tools/lib/src/codegen.dart
@@ -115,7 +115,7 @@ 'sdkRoot, packagesPath are not supported when using the experimental ' 'build* pipeline'); } - final FlutterProject flutterProject = await FlutterProject.current(); + final FlutterProject flutterProject = FlutterProject.current(); codeGenerator.updatePackages(flutterProject); final CodegenDaemon codegenDaemon = await codeGenerator.daemon(flutterProject); codegenDaemon.startBuild();
diff --git a/packages/flutter_tools/lib/src/commands/attach.dart b/packages/flutter_tools/lib/src/commands/attach.dart index 9fca77e..10412fa 100644 --- a/packages/flutter_tools/lib/src/commands/attach.dart +++ b/packages/flutter_tools/lib/src/commands/attach.dart
@@ -160,7 +160,7 @@ @override Future<FlutterCommandResult> runCommand() async { - final FlutterProject flutterProject = await FlutterProject.current(); + final FlutterProject flutterProject = FlutterProject.current(); Cache.releaseLockEarly();
diff --git a/packages/flutter_tools/lib/src/commands/build_apk.dart b/packages/flutter_tools/lib/src/commands/build_apk.dart index 1cf73b6..92c7ef0 100644 --- a/packages/flutter_tools/lib/src/commands/build_apk.dart +++ b/packages/flutter_tools/lib/src/commands/build_apk.dart
@@ -48,7 +48,7 @@ @override Future<FlutterCommandResult> runCommand() async { await buildApk( - project: await FlutterProject.current(), + project: FlutterProject.current(), target: targetFile, buildInfo: getBuildInfo(), );
diff --git a/packages/flutter_tools/lib/src/commands/build_appbundle.dart b/packages/flutter_tools/lib/src/commands/build_appbundle.dart index bf8979a..97d0a81 100644 --- a/packages/flutter_tools/lib/src/commands/build_appbundle.dart +++ b/packages/flutter_tools/lib/src/commands/build_appbundle.dart
@@ -41,7 +41,7 @@ @override Future<FlutterCommandResult> runCommand() async { await buildAppBundle( - project: await FlutterProject.current(), + project: FlutterProject.current(), target: targetFile, buildInfo: getBuildInfo(), );
diff --git a/packages/flutter_tools/lib/src/commands/build_linux.dart b/packages/flutter_tools/lib/src/commands/build_linux.dart index 5f11a77..c1f15dd 100644 --- a/packages/flutter_tools/lib/src/commands/build_linux.dart +++ b/packages/flutter_tools/lib/src/commands/build_linux.dart
@@ -52,7 +52,7 @@ Future<FlutterCommandResult> runCommand() async { Cache.releaseLockEarly(); final BuildInfo buildInfo = getBuildInfo(); - final FlutterProject flutterProject = await FlutterProject.current(); + final FlutterProject flutterProject = FlutterProject.current(); if (!platform.isLinux) { throwToolExit('"build linux" only supported on Linux hosts.'); }
diff --git a/packages/flutter_tools/lib/src/commands/build_macos.dart b/packages/flutter_tools/lib/src/commands/build_macos.dart index 3eeb3cb..e75ce43 100644 --- a/packages/flutter_tools/lib/src/commands/build_macos.dart +++ b/packages/flutter_tools/lib/src/commands/build_macos.dart
@@ -52,7 +52,7 @@ Future<FlutterCommandResult> runCommand() async { Cache.releaseLockEarly(); final BuildInfo buildInfo = getBuildInfo(); - final FlutterProject flutterProject = await FlutterProject.current(); + final FlutterProject flutterProject = FlutterProject.current(); if (!platform.isMacOS) { throwToolExit('"build macos" only supported on macOS hosts.'); }
diff --git a/packages/flutter_tools/lib/src/commands/build_windows.dart b/packages/flutter_tools/lib/src/commands/build_windows.dart index 8db6cdb..2f59aec 100644 --- a/packages/flutter_tools/lib/src/commands/build_windows.dart +++ b/packages/flutter_tools/lib/src/commands/build_windows.dart
@@ -51,7 +51,7 @@ @override Future<FlutterCommandResult> runCommand() async { Cache.releaseLockEarly(); - final FlutterProject flutterProject = await FlutterProject.current(); + final FlutterProject flutterProject = FlutterProject.current(); final BuildInfo buildInfo = getBuildInfo(); if (!platform.isWindows) { throwToolExit('"build windows" only supported on Windows hosts.');
diff --git a/packages/flutter_tools/lib/src/commands/clean.dart b/packages/flutter_tools/lib/src/commands/clean.dart index 65682e8..47a13e8 100644 --- a/packages/flutter_tools/lib/src/commands/clean.dart +++ b/packages/flutter_tools/lib/src/commands/clean.dart
@@ -27,7 +27,7 @@ @override Future<FlutterCommandResult> runCommand() async { - final FlutterProject flutterProject = await FlutterProject.current(); + final FlutterProject flutterProject = FlutterProject.current(); final Directory buildDir = fs.directory(getBuildDirectory()); printStatus("Deleting '${buildDir.path}${fs.path.separator}'.");
diff --git a/packages/flutter_tools/lib/src/commands/create.dart b/packages/flutter_tools/lib/src/commands/create.dart index 5f4b3b8..3a80a3e 100644 --- a/packages/flutter_tools/lib/src/commands/create.dart +++ b/packages/flutter_tools/lib/src/commands/create.dart
@@ -304,7 +304,7 @@ String organization = argResults['org']; if (!argResults.wasParsed('org')) { - final FlutterProject project = await FlutterProject.fromDirectory(projectDir); + final FlutterProject project = FlutterProject.fromDirectory(projectDir); final Set<String> existingOrganizations = project.organizationNames; if (existingOrganizations.length == 1) { organization = existingOrganizations.first; @@ -385,7 +385,7 @@ printStatus('Your module code is in $relativeMainPath.'); } else { // Run doctor; tell the user the next steps. - final FlutterProject project = await FlutterProject.fromPath(projectDirPath); + final FlutterProject project = FlutterProject.fromPath(projectDirPath); final FlutterProject app = project.hasExampleApp ? project.example : project; final String relativeAppPath = fs.path.normalize(fs.path.relative(app.directory.path)); final String relativeAppMain = fs.path.join(relativeAppPath, 'lib', 'main.dart'); @@ -443,7 +443,7 @@ directory: directory.path, offline: argResults['offline'], ); - final FlutterProject project = await FlutterProject.fromDirectory(directory); + final FlutterProject project = FlutterProject.fromDirectory(directory); await project.ensureReadyForPlatformSpecificTooling(checkProjects: false); } return generatedCount; @@ -480,7 +480,7 @@ offline: argResults['offline'], ); } - final FlutterProject project = await FlutterProject.fromDirectory(directory); + final FlutterProject project = FlutterProject.fromDirectory(directory); gradle.updateLocalProperties(project: project, requireAndroidSdk: false); final String projectName = templateContext['projectName']; @@ -501,7 +501,7 @@ Future<int> _generateApp(Directory directory, Map<String, dynamic> templateContext, { bool overwrite = false }) async { int generatedCount = 0; generatedCount += _renderTemplate('app', directory, templateContext, overwrite: overwrite); - final FlutterProject project = await FlutterProject.fromDirectory(directory); + final FlutterProject project = FlutterProject.fromDirectory(directory); generatedCount += _injectGradleWrapper(project); if (argResults['with-driver-test']) {
diff --git a/packages/flutter_tools/lib/src/commands/daemon.dart b/packages/flutter_tools/lib/src/commands/daemon.dart index f9fbc24..0071cd5 100644 --- a/packages/flutter_tools/lib/src/commands/daemon.dart +++ b/packages/flutter_tools/lib/src/commands/daemon.dart
@@ -345,7 +345,7 @@ // We change the current working directory for the duration of the `start` command. final Directory cwd = fs.currentDirectory; fs.currentDirectory = fs.directory(projectDirectory); - final FlutterProject flutterProject = await FlutterProject.current(); + final FlutterProject flutterProject = FlutterProject.current(); final FlutterDevice flutterDevice = await FlutterDevice.create( device,
diff --git a/packages/flutter_tools/lib/src/commands/generate.dart b/packages/flutter_tools/lib/src/commands/generate.dart index 2694e2d..20a4268 100644 --- a/packages/flutter_tools/lib/src/commands/generate.dart +++ b/packages/flutter_tools/lib/src/commands/generate.dart
@@ -29,7 +29,7 @@ @override Future<FlutterCommandResult> runCommand() async { Cache.releaseLockEarly(); - final FlutterProject flutterProject = await FlutterProject.current(); + final FlutterProject flutterProject = FlutterProject.current(); final CodegenDaemon codegenDaemon = await codeGenerator.daemon(flutterProject); codegenDaemon.startBuild(); await for (CodegenStatus codegenStatus in codegenDaemon.buildResults) {
diff --git a/packages/flutter_tools/lib/src/commands/inject_plugins.dart b/packages/flutter_tools/lib/src/commands/inject_plugins.dart index fca9084..d3f217c 100644 --- a/packages/flutter_tools/lib/src/commands/inject_plugins.dart +++ b/packages/flutter_tools/lib/src/commands/inject_plugins.dart
@@ -28,7 +28,7 @@ @override Future<FlutterCommandResult> runCommand() async { - final FlutterProject project = await FlutterProject.current(); + final FlutterProject project = FlutterProject.current(); refreshPluginsList(project, checkProjects: true); await injectPlugins(project, checkProjects: true); final bool result = hasPlugins(project);
diff --git a/packages/flutter_tools/lib/src/commands/make_host_app_editable.dart b/packages/flutter_tools/lib/src/commands/make_host_app_editable.dart index 24ba965..e217953 100644 --- a/packages/flutter_tools/lib/src/commands/make_host_app_editable.dart +++ b/packages/flutter_tools/lib/src/commands/make_host_app_editable.dart
@@ -36,7 +36,7 @@ @override Future<void> validateCommand() async { await super.validateCommand(); - _project = await FlutterProject.current(); + _project = FlutterProject.current(); if (!_project.isModule) throw ToolExit("Only projects created using 'flutter create -t module' can have their host apps made editable."); }
diff --git a/packages/flutter_tools/lib/src/commands/packages.dart b/packages/flutter_tools/lib/src/commands/packages.dart index 7e7f837..5185bbd 100644 --- a/packages/flutter_tools/lib/src/commands/packages.dart +++ b/packages/flutter_tools/lib/src/commands/packages.dart
@@ -93,7 +93,7 @@ } await _runPubGet(target); - final FlutterProject rootProject = await FlutterProject.fromPath(target); + final FlutterProject rootProject = FlutterProject.fromPath(target); await rootProject.ensureReadyForPlatformSpecificTooling(checkProjects: true); // Get/upgrade packages in example app as well
diff --git a/packages/flutter_tools/lib/src/commands/run.dart b/packages/flutter_tools/lib/src/commands/run.dart index 80771e8..41cff48 100644 --- a/packages/flutter_tools/lib/src/commands/run.dart +++ b/packages/flutter_tools/lib/src/commands/run.dart
@@ -365,7 +365,7 @@ expFlags = argResults[FlutterOptions.kEnableExperiment]; } final List<FlutterDevice> flutterDevices = <FlutterDevice>[]; - final FlutterProject flutterProject = await FlutterProject.current(); + final FlutterProject flutterProject = FlutterProject.current(); for (Device device in devices) { final FlutterDevice flutterDevice = await FlutterDevice.create( device,
diff --git a/packages/flutter_tools/lib/src/commands/test.dart b/packages/flutter_tools/lib/src/commands/test.dart index ca38c2b..30e8d26 100644 --- a/packages/flutter_tools/lib/src/commands/test.dart +++ b/packages/flutter_tools/lib/src/commands/test.dart
@@ -132,7 +132,7 @@ } final List<String> names = argResults['name']; final List<String> plainNames = argResults['plain-name']; - final FlutterProject flutterProject = await FlutterProject.current(); + final FlutterProject flutterProject = FlutterProject.current(); Iterable<String> files = argResults.rest.map<String>((String testPath) => fs.path.absolute(testPath)).toList(); @@ -170,7 +170,7 @@ CoverageCollector collector; if (argResults['coverage'] || argResults['merge-coverage']) { collector = CoverageCollector( - flutterProject: await FlutterProject.current(), + flutterProject: FlutterProject.current(), ); }
diff --git a/packages/flutter_tools/lib/src/compile.dart b/packages/flutter_tools/lib/src/compile.dart index 3ab5dd5..068d141 100644 --- a/packages/flutter_tools/lib/src/compile.dart +++ b/packages/flutter_tools/lib/src/compile.dart
@@ -230,7 +230,7 @@ ); FlutterProject flutterProject; if (fs.file('pubspec.yaml').existsSync()) { - flutterProject = await FlutterProject.current(); + flutterProject = FlutterProject.current(); } // TODO(cbracken): eliminate pathFilter.
diff --git a/packages/flutter_tools/lib/src/flutter_manifest.dart b/packages/flutter_tools/lib/src/flutter_manifest.dart index 4a04029..5eb94d1 100644 --- a/packages/flutter_tools/lib/src/flutter_manifest.dart +++ b/packages/flutter_tools/lib/src/flutter_manifest.dart
@@ -2,8 +2,6 @@ // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. -import 'dart:async'; - import 'package:meta/meta.dart'; import 'package:pub_semver/pub_semver.dart'; import 'package:yaml/yaml.dart'; @@ -27,22 +25,22 @@ } /// Returns null on invalid manifest. Returns empty manifest on missing file. - static Future<FlutterManifest> createFromPath(String path) async { + static FlutterManifest createFromPath(String path) { if (path == null || !fs.isFileSync(path)) return _createFromYaml(null); - final String manifest = await fs.file(path).readAsString(); + final String manifest = fs.file(path).readAsStringSync(); return createFromString(manifest); } /// Returns null on missing or invalid manifest @visibleForTesting - static Future<FlutterManifest> createFromString(String manifest) async { + static FlutterManifest createFromString(String manifest) { return _createFromYaml(loadYaml(manifest)); } - static Future<FlutterManifest> _createFromYaml(dynamic yamlDocument) async { + static FlutterManifest _createFromYaml(dynamic yamlDocument) { final FlutterManifest pubspec = FlutterManifest._(); - if (yamlDocument != null && !await _validate(yamlDocument)) + if (yamlDocument != null && !_validate(yamlDocument)) return null; final Map<dynamic, dynamic> yamlMap = yamlDocument; @@ -289,7 +287,7 @@ /// This method should be kept in sync with the schema in /// `$FLUTTER_ROOT/packages/flutter_tools/schema/pubspec_yaml.json`, /// but avoid introducing depdendencies on packages for simple validation. -Future<bool> _validate(YamlMap manifest) async { +bool _validate(YamlMap manifest) { final List<String> errors = <String>[]; for (final MapEntry<dynamic, dynamic> kvp in manifest.entries) { if (kvp.key is! String) {
diff --git a/packages/flutter_tools/lib/src/ios/mac.dart b/packages/flutter_tools/lib/src/ios/mac.dart index 81744cb..919e70d 100644 --- a/packages/flutter_tools/lib/src/ios/mac.dart +++ b/packages/flutter_tools/lib/src/ios/mac.dart
@@ -365,7 +365,7 @@ // copied over to a location that is suitable for Xcodebuild to find them. await _addServicesToBundle(app.project.hostAppRoot); - final FlutterProject project = await FlutterProject.current(); + final FlutterProject project = FlutterProject.current(); await updateGeneratedXcodeProperties( project: project, targetOverride: targetOverride,
diff --git a/packages/flutter_tools/lib/src/linux/linux_device.dart b/packages/flutter_tools/lib/src/linux/linux_device.dart index 5c50a94..7519737 100644 --- a/packages/flutter_tools/lib/src/linux/linux_device.dart +++ b/packages/flutter_tools/lib/src/linux/linux_device.dart
@@ -73,7 +73,7 @@ }) async { _lastBuiltMode = debuggingOptions.buildInfo.mode; if (!prebuiltApplication) { - await buildLinux((await FlutterProject.current()).linux, debuggingOptions.buildInfo); + await buildLinux(FlutterProject.current().linux, debuggingOptions.buildInfo); } await stopApp(package); final Process process = await processManager.start(<String>[
diff --git a/packages/flutter_tools/lib/src/macos/macos_device.dart b/packages/flutter_tools/lib/src/macos/macos_device.dart index 79cdb6f..450aeb9 100644 --- a/packages/flutter_tools/lib/src/macos/macos_device.dart +++ b/packages/flutter_tools/lib/src/macos/macos_device.dart
@@ -75,7 +75,7 @@ // Stop any running applications with the same executable. if (!prebuiltApplication) { Cache.releaseLockEarly(); - await buildMacOS(await FlutterProject.current(), debuggingOptions?.buildInfo); + await buildMacOS(FlutterProject.current(), debuggingOptions?.buildInfo); } // Make sure to call stop app after we've built. await stopApp(package);
diff --git a/packages/flutter_tools/lib/src/project.dart b/packages/flutter_tools/lib/src/project.dart index 2f132de..20830fb 100644 --- a/packages/flutter_tools/lib/src/project.dart +++ b/packages/flutter_tools/lib/src/project.dart
@@ -39,12 +39,12 @@ /// Returns a future that completes with a [FlutterProject] view of the given directory /// or a ToolExit error, if `pubspec.yaml` or `example/pubspec.yaml` is invalid. - static Future<FlutterProject> fromDirectory(Directory directory) async { + static FlutterProject fromDirectory(Directory directory) { assert(directory != null); - final FlutterManifest manifest = await _readManifest( + final FlutterManifest manifest = _readManifest( directory.childFile(bundle.defaultManifestPath).path, ); - final FlutterManifest exampleManifest = await _readManifest( + final FlutterManifest exampleManifest = _readManifest( _exampleDirectory(directory).childFile(bundle.defaultManifestPath).path, ); return FlutterProject(directory, manifest, exampleManifest); @@ -52,11 +52,11 @@ /// Returns a future that completes with a [FlutterProject] view of the current directory. /// or a ToolExit error, if `pubspec.yaml` or `example/pubspec.yaml` is invalid. - static Future<FlutterProject> current() => fromDirectory(fs.currentDirectory); + static FlutterProject current() => fromDirectory(fs.currentDirectory); /// Returns a future that completes with a [FlutterProject] view of the given directory. /// or a ToolExit error, if `pubspec.yaml` or `example/pubspec.yaml` is invalid. - static Future<FlutterProject> fromPath(String path) => fromDirectory(fs.directory(path)); + static FlutterProject fromPath(String path) => fromDirectory(fs.directory(path)); /// The location of this project. final Directory directory; @@ -149,8 +149,8 @@ /// /// Completes with an empty [FlutterManifest], if the file does not exist. /// Completes with a ToolExit on validation error. - static Future<FlutterManifest> _readManifest(String path) async { - final FlutterManifest manifest = await FlutterManifest.createFromPath(path); + static FlutterManifest _readManifest(String path) { + final FlutterManifest manifest = FlutterManifest.createFromPath(path); if (manifest == null) throwToolExit('Please correct the pubspec.yaml file at $path'); return manifest;
diff --git a/packages/flutter_tools/lib/src/resident_runner.dart b/packages/flutter_tools/lib/src/resident_runner.dart index 8725555..3c929a1 100644 --- a/packages/flutter_tools/lib/src/resident_runner.dart +++ b/packages/flutter_tools/lib/src/resident_runner.dart
@@ -1047,7 +1047,7 @@ case TargetPlatform.android_arm64: case TargetPlatform.android_x64: case TargetPlatform.android_x86: - final FlutterProject project = await FlutterProject.current(); + final FlutterProject project = FlutterProject.current(); final String manifestPath = fs.path.relative(project.android.appManifestFile.path); return 'Is your project missing an $manifestPath?\nConsider running "flutter create ." to create one.'; case TargetPlatform.ios:
diff --git a/packages/flutter_tools/lib/src/runner/flutter_command.dart b/packages/flutter_tools/lib/src/runner/flutter_command.dart index 24da1fb..b345f78 100644 --- a/packages/flutter_tools/lib/src/runner/flutter_command.dart +++ b/packages/flutter_tools/lib/src/runner/flutter_command.dart
@@ -474,7 +474,7 @@ if (shouldRunPub) { await pubGet(context: PubContext.getVerifyContext(name)); - final FlutterProject project = await FlutterProject.current(); + final FlutterProject project = FlutterProject.current(); await project.ensureReadyForPlatformSpecificTooling(checkProjects: true); } @@ -531,7 +531,7 @@ // then filter then list by those supported in the current project. If // this ends up with a single device we can proceed as normal. if (devices.length > 1 && !deviceManager.hasSpecifiedAllDevices && !deviceManager.hasSpecifiedDeviceId) { - final FlutterProject flutterProject = await FlutterProject.current(); + final FlutterProject flutterProject = FlutterProject.current(); devices.removeWhere((Device device) => !device.isSupportedForProject(flutterProject)); }
diff --git a/packages/flutter_tools/lib/src/windows/windows_device.dart b/packages/flutter_tools/lib/src/windows/windows_device.dart index 50a96a4..103a731 100644 --- a/packages/flutter_tools/lib/src/windows/windows_device.dart +++ b/packages/flutter_tools/lib/src/windows/windows_device.dart
@@ -74,7 +74,7 @@ bool ipv6 = false, }) async { if (!prebuiltApplication) { - await buildWindows((await FlutterProject.current()).windows, debuggingOptions.buildInfo); + await buildWindows(FlutterProject.current().windows, debuggingOptions.buildInfo); } await stopApp(package); final Process process = await processManager.start(<String>[