Command flutter create
respects disabled iOS and Android (#78406)
This commit is contained in:
parent
47db96af1b
commit
e85fe60d00
@ -236,8 +236,8 @@ class CreateCommand extends CreateBase {
|
|||||||
withPluginHook: generatePlugin,
|
withPluginHook: generatePlugin,
|
||||||
androidLanguage: stringArg('android-language'),
|
androidLanguage: stringArg('android-language'),
|
||||||
iosLanguage: stringArg('ios-language'),
|
iosLanguage: stringArg('ios-language'),
|
||||||
ios: platforms.contains('ios'),
|
ios: featureFlags.isIOSEnabled && platforms.contains('ios'),
|
||||||
android: platforms.contains('android'),
|
android: featureFlags.isAndroidEnabled && platforms.contains('android'),
|
||||||
web: featureFlags.isWebEnabled && platforms.contains('web'),
|
web: featureFlags.isWebEnabled && platforms.contains('web'),
|
||||||
linux: featureFlags.isLinuxEnabled && platforms.contains('linux'),
|
linux: featureFlags.isLinuxEnabled && platforms.contains('linux'),
|
||||||
macos: featureFlags.isMacOSEnabled && platforms.contains('macos'),
|
macos: featureFlags.isMacOSEnabled && platforms.contains('macos'),
|
||||||
|
@ -100,12 +100,16 @@ void main() {
|
|||||||
|
|
||||||
await commandRunner.run(<String>[
|
await commandRunner.run(<String>[
|
||||||
'config',
|
'config',
|
||||||
|
'--enable-android',
|
||||||
|
'--enable-ios',
|
||||||
'--enable-web',
|
'--enable-web',
|
||||||
'--enable-linux-desktop',
|
'--enable-linux-desktop',
|
||||||
'--enable-windows-desktop',
|
'--enable-windows-desktop',
|
||||||
'--enable-macos-desktop',
|
'--enable-macos-desktop',
|
||||||
]);
|
]);
|
||||||
|
|
||||||
|
expect(globals.config.getValue('enable-android'), true);
|
||||||
|
expect(globals.config.getValue('enable-ios'), true);
|
||||||
expect(globals.config.getValue('enable-web'), true);
|
expect(globals.config.getValue('enable-web'), true);
|
||||||
expect(globals.config.getValue('enable-linux-desktop'), true);
|
expect(globals.config.getValue('enable-linux-desktop'), true);
|
||||||
expect(globals.config.getValue('enable-windows-desktop'), true);
|
expect(globals.config.getValue('enable-windows-desktop'), true);
|
||||||
@ -115,6 +119,8 @@ void main() {
|
|||||||
'config', '--clear-features',
|
'config', '--clear-features',
|
||||||
]);
|
]);
|
||||||
|
|
||||||
|
expect(globals.config.getValue('enable-android'), null);
|
||||||
|
expect(globals.config.getValue('enable-ios'), null);
|
||||||
expect(globals.config.getValue('enable-web'), null);
|
expect(globals.config.getValue('enable-web'), null);
|
||||||
expect(globals.config.getValue('enable-linux-desktop'), null);
|
expect(globals.config.getValue('enable-linux-desktop'), null);
|
||||||
expect(globals.config.getValue('enable-windows-desktop'), null);
|
expect(globals.config.getValue('enable-windows-desktop'), null);
|
||||||
@ -122,12 +128,16 @@ void main() {
|
|||||||
|
|
||||||
await commandRunner.run(<String>[
|
await commandRunner.run(<String>[
|
||||||
'config',
|
'config',
|
||||||
|
'--no-enable-android',
|
||||||
|
'--no-enable-ios',
|
||||||
'--no-enable-web',
|
'--no-enable-web',
|
||||||
'--no-enable-linux-desktop',
|
'--no-enable-linux-desktop',
|
||||||
'--no-enable-windows-desktop',
|
'--no-enable-windows-desktop',
|
||||||
'--no-enable-macos-desktop',
|
'--no-enable-macos-desktop',
|
||||||
]);
|
]);
|
||||||
|
|
||||||
|
expect(globals.config.getValue('enable-android'), false);
|
||||||
|
expect(globals.config.getValue('enable-ios'), false);
|
||||||
expect(globals.config.getValue('enable-web'), false);
|
expect(globals.config.getValue('enable-web'), false);
|
||||||
expect(globals.config.getValue('enable-linux-desktop'), false);
|
expect(globals.config.getValue('enable-linux-desktop'), false);
|
||||||
expect(globals.config.getValue('enable-windows-desktop'), false);
|
expect(globals.config.getValue('enable-windows-desktop'), false);
|
||||||
|
@ -693,6 +693,44 @@ void main() {
|
|||||||
Logger: () => logger,
|
Logger: () => logger,
|
||||||
});
|
});
|
||||||
|
|
||||||
|
testUsingContext('app supports android and ios by default', () async {
|
||||||
|
Cache.flutterRoot = '../..';
|
||||||
|
|
||||||
|
final CreateCommand command = CreateCommand();
|
||||||
|
final CommandRunner<void> runner = createTestCommandRunner(command);
|
||||||
|
|
||||||
|
await runner.run(<String>['create', '--no-pub', projectDir.path]);
|
||||||
|
|
||||||
|
expect(projectDir.childDirectory('android'), exists);
|
||||||
|
expect(projectDir.childDirectory('ios'), exists);
|
||||||
|
}, overrides: <Type, Generator>{});
|
||||||
|
|
||||||
|
testUsingContext('app does not include android if disabled in config', () async {
|
||||||
|
Cache.flutterRoot = '../..';
|
||||||
|
|
||||||
|
final CreateCommand command = CreateCommand();
|
||||||
|
final CommandRunner<void> runner = createTestCommandRunner(command);
|
||||||
|
|
||||||
|
await runner.run(<String>['create', '--no-pub', projectDir.path]);
|
||||||
|
|
||||||
|
expect(projectDir.childDirectory('android'), isNot(exists));
|
||||||
|
}, overrides: <Type, Generator>{
|
||||||
|
FeatureFlags: () => TestFeatureFlags(isAndroidEnabled: false),
|
||||||
|
});
|
||||||
|
|
||||||
|
testUsingContext('app does not include ios if disabled in config', () async {
|
||||||
|
Cache.flutterRoot = '../..';
|
||||||
|
|
||||||
|
final CreateCommand command = CreateCommand();
|
||||||
|
final CommandRunner<void> runner = createTestCommandRunner(command);
|
||||||
|
|
||||||
|
await runner.run(<String>['create', '--no-pub', projectDir.path]);
|
||||||
|
|
||||||
|
expect(projectDir.childDirectory('ios'), isNot(exists));
|
||||||
|
}, overrides: <Type, Generator>{
|
||||||
|
FeatureFlags: () => TestFeatureFlags(isIOSEnabled: false),
|
||||||
|
});
|
||||||
|
|
||||||
testUsingContext('app does not include desktop or web by default', () async {
|
testUsingContext('app does not include desktop or web by default', () async {
|
||||||
Cache.flutterRoot = '../..';
|
Cache.flutterRoot = '../..';
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user