Allow disabling iOS development in Settings

Summary:
Currently Android development can be disabled in Settings, but iOS development not. Because of this Doctor always shows warnings to Android-only developers who has no iOS SDK installed. This change makes it possible to disable "iOS development" option in the same way as we already had for Android.

Additionally I changed Doctor warning to show more specific message if only iOS or only Android checks are failed with suggestion to disable the failing platform if it is not required.

Reviewed By: jknoxville

Differential Revision: D19538070

fbshipit-source-id: 234d2c6cf21083f9d6aebd63418aed7f9a78e922
This commit is contained in:
Anton Nikolaev
2020-01-23 13:35:12 -08:00
committed by Facebook Github Bot
parent b625efee3d
commit aab004aa15
7 changed files with 109 additions and 27 deletions

View File

@@ -26,6 +26,7 @@ export type HealthcheckEventsHandler = {
export type HealthcheckSettings = {
enableAndroid: boolean;
enableIOS: boolean;
};
export type HealthcheckOptions = HealthcheckEventsHandler & HealthcheckSettings;
@@ -40,6 +41,14 @@ async function launchHealthchecks(options: HealthcheckOptions): Promise<void> {
'Healthcheck is skipped, because "Android Development" option is disabled in the Flipper settings',
};
}
if (!options.enableIOS) {
healthchecks.ios = {
label: healthchecks.ios.label,
isSkipped: true,
skipReason:
'Healthcheck is skipped, because "iOS Development" option is disabled in the Flipper settings',
};
}
options.startHealthchecks(healthchecks);
const environmentInfo = await getEnvInfo();
let hasProblems = false;