Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(414)

Unified Diff: sdk/lib/_internal/pub/lib/src/utils.dart

Issue 14914007: Add a "pub deploy" command. (Closed) Base URL: https://dart.googlecode.com/svn/branches/bleeding_edge/dart
Patch Set: Code review changes. Created 7 years, 7 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: sdk/lib/_internal/pub/lib/src/utils.dart
diff --git a/sdk/lib/_internal/pub/lib/src/utils.dart b/sdk/lib/_internal/pub/lib/src/utils.dart
index 80a8ec373af46ddca4e943e0420af88635861faa..2f705f9e192fcd441ca4c91145537e20cef2b6a2 100644
--- a/sdk/lib/_internal/pub/lib/src/utils.dart
+++ b/sdk/lib/_internal/pub/lib/src/utils.dart
@@ -12,6 +12,8 @@ import 'dart:isolate';
import 'dart:mirrors';
import 'dart:uri';
+import 'package:pathos/path.dart' as path;
+
/// A pair of values.
class Pair<E, F> {
E first;
@@ -384,6 +386,32 @@ String fileUriToPath(Uri uri) {
}
}
+/// Converts a local path string to a `file:` [Uri].
+Uri pathToFileUri(String pathString) {
+ pathString = path.absolute(pathString);
+ if (Platform.operatingSystem != 'windows') {
+ return Uri.parse('file://$pathString');
+ } else if (path.rootPrefix(pathString).startsWith('\\\\')) {
+ // Network paths become "file://hostname/path/to/file".
+ return Uri.parse('file:${pathString.replaceAll("\\", "/")}');
+ } else {
+ // Drive-letter paths become "file:///C:/path/to/file".
+ return Uri.parse('file:///${pathString.replaceAll("\\", "/")}');
+ }
+}
+
+/// Gets a "special" string (ANSI escape or Unicode). On Windows, returns
+/// something else since those aren't supported.
+String getSpecial(String color, [String onWindows = '']) {
+ // No ANSI escapes on windows or when running tests.
+ if (runningAsTest || Platform.operatingSystem == 'windows') return onWindows;
+ return color;
+}
+
+/// Whether pub is running as a subprocess in an integration test.
+bool get runningAsTest =>
+ Platform.environment.containsKey('_PUB_TESTING');
+
/// Wraps [fn] to guard against several different kinds of stack overflow
/// exceptions:
///
@@ -416,6 +444,8 @@ class ApplicationException implements Exception {
final String message;
ApplicationException(this.message);
+
+ String toString() => message;
}
/// Throw a [ApplicationException] with [message].

Powered by Google App Engine
This is Rietveld 408576698