blob: 4e0e4a801cb37553da10ede98a4cebc27145f1c7 [file] [log] [blame]
import 'context.dart';
UserMessages get userMessages => context[UserMessages];
/// Class containing message strings that can be produced by Flutter tools.
class UserMessages {
// Messages used in FlutterValidator
String flutterStatusInfo(String channel, String version, String os, String locale) =>
'Channel $channel, v$version, on $os, locale $locale';
String flutterVersion(String version, String flutterRoot) =>
'Flutter version $version at $flutterRoot';
String flutterRevision(String revision, String age, String date) =>
'Framework revision $revision ($age), $date';
String engineRevision(String revision) => 'Engine revision $revision';
String dartRevision(String revision) => 'Dart version $revision';
String get flutterBinariesDoNotRun =>
'Downloaded executables cannot execute on host.\n'
'See https://github.com/flutter/flutter/issues/6207 for more information';
String get flutterBinariesLinuxRepairCommands =>
'On Debian/Ubuntu/Mint: sudo apt-get install lib32stdc++6\n'
'On Fedora: dnf install libstdc++.i686\n'
'On Arch: pacman -S lib32-libstdc++5';
// Messages used in NoIdeValidator
String get noIdeStatusInfo => 'No supported IDEs installed';
String get noIdeInstallationInfo => 'IntelliJ - https://www.jetbrains.com/idea/';
// Messages used in IntellijValidator
String intellijStatusInfo(String version) => 'version $version';
String get intellijPluginInfo =>
'For information about installing plugins, see\n'
'https://flutter.io/intellij-setup/#installing-the-plugins';
String intellijMinimumVersion(String minVersion) =>
'This install is older than the minimum recommended version of $minVersion.';
String intellijLocation(String installPath) => 'IntelliJ at $installPath';
// Message used in IntellijValidatorOnMac
String get intellijMacUnknownResult => 'Cannot determine if IntelliJ is installed';
// Messages used in DeviceValidator
String get devicesMissing => 'No devices available';
String devicesAvailable(int devices) => '$devices available';
// Messages used in AndroidValidator
String androidCantRunJavaBinary(String javaBinary) => 'Cannot execute $javaBinary to determine the version';
String get androidUnknownJavaVersion => 'Could not determine java version';
String androidJavaVersion(String javaVersion) => 'Java version $javaVersion';
String androidBadSdkDir(String envKey, String homeDir) =>
'$envKey = $homeDir\n'
'but Android SDK not found at this location.';
String androidMissingSdkInstructions(String envKey) =>
'Unable to locate Android SDK.\n'
'Install Android Studio from: https://developer.android.com/studio/index.html\n'
'On first launch it will assist you in installing the Android SDK components.\n'
'(or visit https://flutter.io/setup/#android-setup for detailed instructions).\n'
'If Android SDK has been installed to a custom location, set $envKey to that location.\n'
'You may also want to add it to your PATH environment variable.\n';
String androidSdkLocation(String directory) => 'Android SDK at $directory';
String androidSdkPlatformToolsVersion(String platform, String tools) =>
'Platform $platform, build-tools $tools';
String get androidSdkInstallHelp =>
'Try re-installing or updating your Android SDK,\n'
'visit https://flutter.io/setup/#android-setup for detailed instructions.';
String get androidMissingNdk => 'Android NDK location not configured (optional; useful for native profiling support)';
String androidNdkLocation(String directory) => 'Android NDK at $directory';
// Also occurs in AndroidLicenseValidator
String androidStatusInfo(String version) => 'Android SDK version $version';
// Messages used in AndroidLicenseValidator
String get androidMissingJdk =>
'No Java Development Kit (JDK) found; You must have the environment '
'variable JAVA_HOME set and the java binary in your PATH. '
'You can download the JDK from https://www.oracle.com/technetwork/java/javase/downloads/.';
String androidJdkLocation(String location) => 'Java binary at: $location';
String get androidLicensesAll => 'All Android licenses accepted.';
String get androidLicensesSome => 'Some Android licenses not accepted. To resolve this, run: flutter doctor --android-licenses';
String get androidLicensesNone => 'Android licenses not accepted. To resolve this, run: flutter doctor --android-licenses';
String get androidLicensesUnknown => 'Android license status unknown.';
String androidSdkOutdated(String managerPath) =>
'A newer version of the Android SDK is required. To update, run:\n'
'$managerPath --update\n';
String androidLicensesTimeout(String managerPath) => 'Intentionally killing $managerPath';
String get androidSdkShort => 'Unable to locate Android SDK.';
String androidMissingSdkManager(String sdkManagerPath) =>
'Android sdkmanager tool not found ($sdkManagerPath).\n'
'Try re-installing or updating your Android SDK,\n'
'visit https://flutter.io/setup/#android-setup for detailed instructions.';
// Messages used in AndroidStudioValidator
String androidStudioVersion(String version) => 'version $version';
String androidStudioLocation(String location) => 'Android Studio at $location';
String get androidStudioNeedsUpdate => 'Try updating or re-installing Android Studio.';
String get androidStudioResetDir =>
'Consider removing your android-studio-dir setting by running:\n'
'flutter config --android-studio-dir=';
// Messages used in NoAndroidStudioValidator
String androidStudioMissing(String location) =>
'android-studio-dir = $location\n'
'but Android Studio not found at this location.';
String get androidStudioInstallation =>
'Android Studio not found; download from https://developer.android.com/studio/index.html\n'
'(or visit https://flutter.io/setup/#android-setup for detailed instructions).';
// Messages used in IOSValidator
String iOSXcodeLocation(String location) => 'Xcode at $location';
String iOSXcodeOutdated(int versionMajor, int versionMinor) =>
'Flutter requires a minimum Xcode version of $versionMajor.$versionMinor.0.\n'
'Download the latest version or update via the Mac App Store.';
String get iOSXcodeEula => 'Xcode end user license agreement not signed; open Xcode or run the command \'sudo xcodebuild -license\'.';
String get iOSXcodeMissingSimct =>
'Xcode requires additional components to be installed in order to run.\n'
'Launch Xcode and install additional required components when prompted.';
String get iOSXcodeMissing =>
'Xcode not installed; this is necessary for iOS development.\n'
'Download at https://developer.apple.com/xcode/download/.';
String get iOSXcodeIncomplete =>
'Xcode installation is incomplete; a full installation is necessary for iOS development.\n'
'Download at: https://developer.apple.com/xcode/download/\n'
'Or install Xcode via the App Store.\n'
'Once installed, run:\n'
' sudo xcode-select --switch /Applications/Xcode.app/Contents/Developer';
String get iOSIMobileDeviceMissing =>
'libimobiledevice and ideviceinstaller are not installed. To install with Brew, run:\n'
' brew update\n'
' brew install --HEAD usbmuxd\n'
' brew link usbmuxd\n'
' brew install --HEAD libimobiledevice\n'
' brew install ideviceinstaller';
String get iOSIMobileDeviceBroken =>
'Verify that all connected devices have been paired with this computer in Xcode.\n'
'If all devices have been paired, libimobiledevice and ideviceinstaller may require updating.\n'
'To update with Brew, run:\n'
' brew update\n'
' brew uninstall --ignore-dependencies libimobiledevice\n'
' brew uninstall --ignore-dependencies usbmuxd\n'
' brew install --HEAD usbmuxd\n'
' brew unlink usbmuxd\n'
' brew link usbmuxd\n'
' brew install --HEAD libimobiledevice\n'
' brew install ideviceinstaller';
String get iOSDeviceInstallerMissing =>
'ideviceinstaller is not installed; this is used to discover connected iOS devices.\n'
'To install with Brew, run:\n'
' brew install --HEAD usbmuxd\n'
' brew link usbmuxd\n'
' brew install --HEAD libimobiledevice\n'
' brew install ideviceinstaller';
String iOSDeployVersion(String version) => 'ios-deploy $version';
String iOSDeployOutdated(String minVersion) =>
'ios-deploy out of date ($minVersion is required). To upgrade with Brew:\n'
' brew upgrade ios-deploy';
String get iOSDeployMissing =>
'ios-deploy not installed. To install:\n'
' brew install ios-deploy';
String get iOSBrewMissing =>
'Brew can be used to install tools for iOS device development.\n'
'Download brew at https://brew.sh/.';
// Messages used in CocoaPodsValidator
String cocoaPodsVersion(String version) => 'CocoaPods version $version';
String cocoaPodsUninitialized(String consequence) =>
'CocoaPods installed but not initialized.\n'
'$consequence\n'
'To initialize CocoaPods, run:\n'
' pod setup\n'
'once to finalize CocoaPods\' installation.';
String cocoaPodsMissing(String consequence, String installInstructions) =>
'CocoaPods not installed.\n'
'$consequence\n'
'To install:\n'
'$installInstructions';
String cocoaPodsOutdated(String recVersion, String consequence, String upgradeInstructions) =>
'CocoaPods out of date ($recVersion is recommended).\n'
'$consequence\n'
'To upgrade:\n'
'$upgradeInstructions';
// Messages used in VsCodeValidator
String vsCodeVersion(String version) => 'version $version';
String vsCodeLocation(String location) => 'VS Code at $location';
String vsCodeFlutterExtensionMissing(String url) => 'Flutter extension not installed; install from\n$url';
}