mirror of
https://github.com/flutter/flutter.git
synced 2025-06-03 00:51:18 +00:00
[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
This commit is contained in:
parent
fbd29b8880
commit
48fab86c6e
@ -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
|
// 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.
|
// a help message containing the platforms maps need to be added to the `platforms` key in the pubspec.
|
||||||
platformsToAdd.removeWhere(existingPlatforms.contains);
|
platformsToAdd.removeWhere(existingPlatforms.contains);
|
||||||
|
31
packages/flutter_tools/test/commands.shard/permeable/create_test.dart
Normal file → Executable file
31
packages/flutter_tools/test/commands.shard/permeable/create_test.dart
Normal file → Executable file
@ -10,6 +10,7 @@ import 'package:args/command_runner.dart';
|
|||||||
import 'package:flutter_tools/src/artifacts.dart';
|
import 'package:flutter_tools/src/artifacts.dart';
|
||||||
import 'package:flutter_tools/src/base/file_system.dart';
|
import 'package:flutter_tools/src/base/file_system.dart';
|
||||||
import 'package:flutter_tools/src/base/io.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/net.dart';
|
||||||
import 'package:flutter_tools/src/base/platform.dart';
|
import 'package:flutter_tools/src/base/platform.dart';
|
||||||
import 'package:flutter_tools/src/build_info.dart';
|
import 'package:flutter_tools/src/build_info.dart';
|
||||||
@ -47,6 +48,7 @@ void main() {
|
|||||||
Directory projectDir;
|
Directory projectDir;
|
||||||
FlutterVersion mockFlutterVersion;
|
FlutterVersion mockFlutterVersion;
|
||||||
LoggingProcessManager loggingProcessManager;
|
LoggingProcessManager loggingProcessManager;
|
||||||
|
BufferLogger logger;
|
||||||
|
|
||||||
setUpAll(() async {
|
setUpAll(() async {
|
||||||
Cache.disableLocking();
|
Cache.disableLocking();
|
||||||
@ -55,6 +57,7 @@ void main() {
|
|||||||
|
|
||||||
setUp(() {
|
setUp(() {
|
||||||
loggingProcessManager = LoggingProcessManager();
|
loggingProcessManager = LoggingProcessManager();
|
||||||
|
logger = BufferLogger.test();
|
||||||
tempDir = globals.fs.systemTempDirectory.createTempSync('flutter_tools_create_test.');
|
tempDir = globals.fs.systemTempDirectory.createTempSync('flutter_tools_create_test.');
|
||||||
projectDir = tempDir.childDirectory('flutter_project');
|
projectDir = tempDir.childDirectory('flutter_project');
|
||||||
mockFlutterVersion = MockFlutterVersion();
|
mockFlutterVersion = MockFlutterVersion();
|
||||||
@ -1935,6 +1938,34 @@ void main() {
|
|||||||
FeatureFlags: () => TestFeatureFlags(isMacOSEnabled: true),
|
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(
|
Future<void> _createProject(
|
||||||
|
Loading…
Reference in New Issue
Block a user