Unverified Commit 48fab86c authored by Chris Yang's avatar Chris Yang Committed by GitHub

[flutter_tools] update pubspec .yaml message should not be displayed when...

[flutter_tools] update pubspec .yaml message should not be displayed when creating a new plugin (#62599)

* update pubspec message should not be displayed when creating a new plugin

* formatting

* revikew

* review

* cleanup
parent fbd29b88
......@@ -612,7 +612,9 @@ To edit platform code in an IDE see https://flutter.dev/developing-packages/#edi
);
}
if (willAddPlatforms) {
final bool addPlatformsToExistingPlugin = willAddPlatforms && existingPlatforms.isNotEmpty;
if (addPlatformsToExistingPlugin) {
// If adding new platforms to an existing plugin project, prints
// a help message containing the platforms maps need to be added to the `platforms` key in the pubspec.
platformsToAdd.removeWhere(existingPlatforms.contains);
......
......@@ -10,6 +10,7 @@ import 'package:args/command_runner.dart';
import 'package:flutter_tools/src/artifacts.dart';
import 'package:flutter_tools/src/base/file_system.dart';
import 'package:flutter_tools/src/base/io.dart';
import 'package:flutter_tools/src/base/logger.dart';
import 'package:flutter_tools/src/base/net.dart';
import 'package:flutter_tools/src/base/platform.dart';
import 'package:flutter_tools/src/build_info.dart';
......@@ -47,6 +48,7 @@ void main() {
Directory projectDir;
FlutterVersion mockFlutterVersion;
LoggingProcessManager loggingProcessManager;
BufferLogger logger;
setUpAll(() async {
Cache.disableLocking();
......@@ -55,6 +57,7 @@ void main() {
setUp(() {
loggingProcessManager = LoggingProcessManager();
logger = BufferLogger.test();
tempDir = globals.fs.systemTempDirectory.createTempSync('flutter_tools_create_test.');
projectDir = tempDir.childDirectory('flutter_project');
mockFlutterVersion = MockFlutterVersion();
......@@ -1935,6 +1938,34 @@ void main() {
FeatureFlags: () => TestFeatureFlags(isMacOSEnabled: true),
});
testUsingContext('flutter create -t plugin in an empty folder should not show pubspec.yaml updating suggestion', () async {
Cache.flutterRoot = '../..';
when(mockFlutterVersion.frameworkRevision).thenReturn(frameworkRevision);
when(mockFlutterVersion.channel).thenReturn(frameworkChannel);
final CreateCommand command = CreateCommand();
final CommandRunner<void> runner = createTestCommandRunner(command);
await runner.run(<String>['create', '--no-pub', '--template=plugin', '--platforms=android', projectDir.path]);
expect(logger.statusText, isNot(contains('The `pubspec.yaml` under the project directory must be updated to support')));
}, overrides: <Type, Generator> {
Logger: () => logger,
});
testUsingContext('flutter create -t plugin in an existing plugin should show pubspec.yaml updating suggestion', () async {
Cache.flutterRoot = '../..';
when(mockFlutterVersion.frameworkRevision).thenReturn(frameworkRevision);
when(mockFlutterVersion.channel).thenReturn(frameworkChannel);
final CreateCommand command = CreateCommand();
final CommandRunner<void> runner = createTestCommandRunner(command);
await runner.run(<String>['create', '--no-pub', '--template=plugin', '--platforms=ios', projectDir.path]);
expect(logger.statusText, isNot(contains('The `pubspec.yaml` under the project directory must be updated to support')));
await runner.run(<String>['create', '--no-pub', '--template=plugin', '--platforms=android', projectDir.path]);
expect(logger.statusText, contains('The `pubspec.yaml` under the project directory must be updated to support'));
}, overrides: <Type, Generator> {
Logger: () => logger,
});
}
Future<void> _createProject(
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment