Add Dart SDK to version info (#4986). (#5337)

* Add Dart SDK to version info (#4986).

Adds a new SDK line to the `flutter —version` output.

* Prefer `Platform.version`.

* Version text fixes.
diff --git a/packages/flutter_tools/lib/src/cache.dart b/packages/flutter_tools/lib/src/cache.dart
index ef15aca..3d9ac3b 100644
--- a/packages/flutter_tools/lib/src/cache.dart
+++ b/packages/flutter_tools/lib/src/cache.dart
@@ -76,6 +76,15 @@
     _lock = null;
   }
 
+  static String _dartSdkVersion;
+
+  static String get dartSdkVersion {
+    if (_dartSdkVersion == null) {
+      _dartSdkVersion = Platform.version;
+    }
+    return _dartSdkVersion;
+  }
+
   static String _engineRevision;
 
   static String get engineRevision {
diff --git a/packages/flutter_tools/lib/src/version.dart b/packages/flutter_tools/lib/src/version.dart
index 7af0f20..56db288 100644
--- a/packages/flutter_tools/lib/src/version.dart
+++ b/packages/flutter_tools/lib/src/version.dart
@@ -48,6 +48,8 @@
   String _frameworkAge;
   String get frameworkAge => _frameworkAge;
 
+  String get dartSdkVersion => Cache.dartSdkVersion.split(' ')[0];
+
   String get engineRevision => Cache.engineRevision;
   String get engineRevisionShort => _shortGitRevision(engineRevision);
 
@@ -57,8 +59,9 @@
   String toString() {
     String from = 'Flutter on channel $channel (from ${repositoryUrl == null ? 'unknown source' : repositoryUrl})';
     String flutterText = 'Framework revision $frameworkRevisionShort ($frameworkAge); engine revision $engineRevisionShort';
+    String dartSdkText = 'Flutter tools using Dart version $dartSdkVersion';
 
-    return '$from\n$flutterText';
+    return '$from\n$flutterText\n$dartSdkText';
   }
 
   static FlutterVersion getVersion([String flutterRoot]) {