Add basic codegen app to be used for integration testing and benchmarks (#27257)


diff --git a/packages/flutter_tools/lib/src/project.dart b/packages/flutter_tools/lib/src/project.dart
index 04e47a8..dc7587c 100644
--- a/packages/flutter_tools/lib/src/project.dart
+++ b/packages/flutter_tools/lib/src/project.dart
@@ -107,6 +107,13 @@
   /// The `.dart-tool` directory of this project.
   Directory get dartTool => directory.childDirectory('.dart_tool');
 
+  /// The directory containing the generated code for this project.
+  Directory get generated => directory
+    .childDirectory('.dart_tool')
+    .childDirectory('build')
+    .childDirectory('generated')
+    .childDirectory(manifest.appName);
+
   /// The example sub-project of this project.
   FlutterProject get example => FlutterProject(
     _exampleDirectory(directory),
@@ -147,15 +154,9 @@
   }
 
   /// Return the set of builders used by this package.
-  Future<List<String>> get builders async {
+  Future<YamlMap> get builders async {
     final YamlMap pubspec = loadYaml(await pubspecFile.readAsString());
-    final YamlList builders = pubspec['builders'];
-    if (builders == null) {
-      return <String>[];
-    }
-    return builders.map<String>((Object node) {
-      return node.toString();
-    }).toList();
+    return pubspec['builders'];
   }
 }