CocoaPods flow step 1 (#9687)

* Add cocoapods reason

* s/native/iOS
This commit is contained in:
xster 2017-05-01 12:47:25 -07:00 committed by GitHub
parent 48f2770e4e
commit 9a61b8713c
2 changed files with 30 additions and 9 deletions

View file

@ -181,17 +181,17 @@ class IOSWorkflow extends DoctorValidator implements Workflow {
brewStatus = ValidationType.partial;
if (!hasCocoaPods) {
messages.add(new ValidationMessage.error(
'CocoaPods not installed. To install:\n'
' brew update\n'
' brew install cocoapods\n'
' pod setup'
'CocoaPods not installed.\n'
'$noCocoaPodsConsequence\n'
'To install:\n'
'$cocoaPodsInstallInstructions'
));
} else {
messages.add(new ValidationMessage.error(
'CocoaPods out of date ($cocoaPodsMinimumVersion is required). To upgrade:\n'
' brew update\n'
' brew upgrade cocoapods\n'
' pod setup'
'CocoaPods out of date ($cocoaPodsMinimumVersion is required).\n'
'$noCocoaPodsConsequence\n'
'To upgrade:\n'
'$cocoaPodsUpgradeInstructions'
));
}
}

View file

@ -347,11 +347,32 @@ bool _checkXcodeVersion() {
return true;
}
final String noCocoaPodsConsequence = '''
CocoaPods is used to retrieve the iOS platform side's plugin code that responds to your
plugin usage on the Dart side.
Without resolving iOS dependencies with CocoaPods, plugins will not work on iOS.
For more info, see https://flutter.io/platform-plugins''';
final String cocoaPodsInstallInstructions = '''
brew update
brew install cocoapods
pod setup''';
final String cocoaPodsUpgradeInstructions = '''
brew update
brew upgrade cocoapods
pod setup''';
Future<Null> _runPodInstall(Directory bundle, String engineDirectory) async {
if (fs.file(fs.path.join(bundle.path, 'Podfile')).existsSync()) {
if (!doctor.iosWorkflow.cocoaPodsInstalledAndMeetsVersionCheck) {
final String minimumVersion = doctor.iosWorkflow.cocoaPodsMinimumVersion;
printError('Warning: CocoaPods version $minimumVersion or greater not installed. Skipping pod install.');
printError(
'Warning: CocoaPods version $minimumVersion or greater not installed. Skipping pod install.\n'
'$noCocoaPodsConsequence\n'
'To install:\n'
'$cocoaPodsInstallInstructions\n'
);
return;
}
try {