[flutter_tools] do not include AS validator if android is not enabled (#69047)

This commit is contained in:
Jonah Williams 2020-10-26 15:59:00 -07:00 committed by GitHub
parent 7a10b46ee0
commit e7b66ac7ad
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 10 additions and 1 deletions

View File

@ -74,7 +74,8 @@ class _DefaultDoctorValidatorsProvider implements DoctorValidatorsProvider {
}
final List<DoctorValidator> ideValidators = <DoctorValidator>[
...AndroidStudioValidator.allValidators(globals.config, globals.platform, globals.fs, globals.userMessages),
if (androidWorkflow.appliesToHostPlatform)
...AndroidStudioValidator.allValidators(globals.config, globals.platform, globals.fs, globals.userMessages),
...IntelliJValidator.installedValidators(
fileSystem: globals.fs,
platform: globals.platform,

View File

@ -6,6 +6,7 @@ import 'dart:async';
import 'package:args/command_runner.dart';
import 'package:file/memory.dart';
import 'package:flutter_tools/src/android/android_studio_validator.dart';
import 'package:flutter_tools/src/base/common.dart';
import 'package:flutter_tools/src/base/file_system.dart';
import 'package:flutter_tools/src/base/logger.dart';
@ -673,6 +674,13 @@ void main() {
FlutterVersion: () => mockFlutterVersion,
Doctor: () => NoOpDoctor(),
}, initializeFlutterRoot: false);
testUsingContext('If android workflow is disabled, AndroidStudio validator is not included', () {
expect(DoctorValidatorsProvider.defaultInstance.validators, isNot(contains(isA<AndroidStudioValidator>())));
expect(DoctorValidatorsProvider.defaultInstance.validators, isNot(contains(isA<NoAndroidStudioValidator>())));
}, overrides: <Type, Generator>{
FeatureFlags: () => TestFeatureFlags(isAndroidEnabled: false),
});
}
class NoOpDoctor implements Doctor {