Fix of flutter packages get in plugin project (#14757)

diff --git a/packages/flutter_tools/test/commands/packages_test.dart b/packages/flutter_tools/test/commands/packages_test.dart
index e7fca64..e873aca 100644
--- a/packages/flutter_tools/test/commands/packages_test.dart
+++ b/packages/flutter_tools/test/commands/packages_test.dart
@@ -192,6 +192,24 @@
       // TODO(mravn): This test fails on the Chrome windows bot only.
       // Skipping until resolved.
     }, timeout: allowForRemotePubInvocation, skip: true);
+    testUsingContext('get fetches packages and injects plugin in plugin project', () async {
+      final String projectPath = await createProject(
+        temp,
+        arguments: <String>['-t', 'plugin', '--no-pub'],
+      );
+      final String exampleProjectPath = fs.path.join(projectPath, 'example');
+      removeGeneratedFiles(projectPath);
+      removeGeneratedFiles(exampleProjectPath);
+
+      await runCommandIn(projectPath, 'get');
+
+      expectDependenciesResolved(projectPath);
+
+      await runCommandIn(exampleProjectPath, 'get');
+
+      expectDependenciesResolved(exampleProjectPath);
+      expectPluginInjected(exampleProjectPath);
+    }, timeout: allowForRemotePubInvocation);
   });
 
   group('packages test/pub', () {
diff --git a/packages/flutter_tools/test/project_test.dart b/packages/flutter_tools/test/project_test.dart
index 6ef5bbb..00aad68 100644
--- a/packages/flutter_tools/test/project_test.dart
+++ b/packages/flutter_tools/test/project_test.dart
@@ -23,6 +23,12 @@
         project.ensureReadyForPlatformSpecificTooling();
         expect(project.directory.existsSync(), isFalse);
       });
+      testInMemory('does nothing in plugin root project', () async {
+        final FlutterProject project = aPluginProject();
+        project.ensureReadyForPlatformSpecificTooling();
+        expect(project.example.ios.directory.childFile('Runner/GeneratedPluginRegistrant.h').existsSync(), isFalse);
+        expect(project.example.ios.directory.childFile('Flutter/Generated.xcconfig').existsSync(), isFalse);
+      });
       testInMemory('injects plugins', () async {
         final FlutterProject project = aProjectWithIos();
         project.ensureReadyForPlatformSpecificTooling();
@@ -33,12 +39,6 @@
         project.ensureReadyForPlatformSpecificTooling();
         expect(project.ios.directory.childFile('Flutter/Generated.xcconfig').existsSync(), isTrue);
       });
-      testInMemory('generates files in plugin example project', () async {
-        final FlutterProject project = aPluginProject();
-        project.ensureReadyForPlatformSpecificTooling();
-        expect(project.example.ios.directory.childFile('Runner/GeneratedPluginRegistrant.h').existsSync(), isTrue);
-        expect(project.example.ios.directory.childFile('Flutter/Generated.xcconfig').existsSync(), isTrue);
-      });
     });
     group('organization names set', () {
       testInMemory('is empty, if project not created', () async {
diff --git a/packages/flutter_tools/test/src/common.dart b/packages/flutter_tools/test/src/common.dart
index 996269f..72f1b48 100644
--- a/packages/flutter_tools/test/src/common.dart
+++ b/packages/flutter_tools/test/src/common.dart
@@ -88,13 +88,15 @@
 /// Matcher for [ProcessExit]s.
 const Matcher isProcessExit = const isInstanceOf<ProcessExit>();
 
-/// Creates a flutter project in the [temp] directory.
+/// Creates a flutter project in the [temp] directory using the
+/// [arguments] list if specified, or `--no-pub` if not.
 /// Returns the path to the flutter project.
-Future<String> createProject(Directory temp) async {
+Future<String> createProject(Directory temp, {List<String> arguments}) async {
+  arguments ??= <String>['--no-pub'];
   final String projectPath = fs.path.join(temp.path, 'flutter_project');
   final CreateCommand command = new CreateCommand();
   final CommandRunner<Null> runner = createTestCommandRunner(command);
-  await runner.run(<String>['create', '--no-pub', projectPath]);
+  await runner.run(<String>['create']..addAll(arguments)..add(projectPath));
   return projectPath;
 }