anchor.diff:  import 'plugins.dart';
   import 'template.dart';
   import 'web/workflow.dart';
  +
  +FlutterProjectFactory get projectFactory => context.get<FlutterProjectFactory>() ?? const FlutterProjectFactory();
  +
  +class FlutterProjectFactory {
  +  const FlutterProjectFactory();
  +
  +  /// Returns a [FlutterProject] view of the given directory or a ToolExit error,
  +  /// if `pubspec.yaml` or `example/pubspec.yaml` is invalid.
  +  FlutterProject fromDirectory(Directory directory) {
  +    assert(directory != null);
  +    final FlutterManifest manifest = FlutterProject._readManifest(
  +      directory.childFile(bundle.defaultManifestPath).path,
  +    );
  +    final FlutterManifest exampleManifest = FlutterProject._readManifest(
  +      FlutterProject._exampleDirectory(directory)
  +          .childFile(bundle.defaultManifestPath)
  +          .path,
  +    );
  +    return FlutterProject(directory, manifest, exampleManifest);
  +  }
  +}
   
   /// Represents the contents of a Flutter project at the specified [directory].
   ///
  
positive.code: 
  import 'android/gradle.dart' as gradle;
  import 'base/common.dart';
  import 'base/file_system.dart';
  import 'build_info.dart';
  import 'bundle.dart' as bundle;
  
negative.code:       assert(manifest != null),
        assert(_exampleManifest != null);
  
    /// Returns a [FlutterProject] view of the given directory or a ToolExit error,
    /// if `pubspec.yaml` or `example/pubspec.yaml` is invalid.
    static FlutterProject fromDirectory(Directory directory) => projectFactory.fromDirectory(directory);
  
    /// Returns a [FlutterProject] view of the current directory or a ToolExit error,
    /// if `pubspec.yaml` or `example/pubspec.yaml` is invalid.
    static FlutterProject current() => fromDirectory(fs.currentDirectory);
  
    /// Returns a [FlutterProject] view of the given directory or a ToolExit error,
    /// if `pubspec.yaml` or `example/pubspec.yaml` is invalid.
    static FlutterProject fromPath(String path) => fromDirectory(fs.directory(path));
  
    /// The location of this project.
  