Index: tools/gardening/lib/src/util.dart |
diff --git a/tools/gardening/lib/src/util.dart b/tools/gardening/lib/src/util.dart |
index 278d4e3c29db43e3ba67ceb562614b2e77a1c319..a4e591c7258b901e4f6dc3e71b142a9123eeedd2 100644 |
--- a/tools/gardening/lib/src/util.dart |
+++ b/tools/gardening/lib/src/util.dart |
@@ -6,6 +6,10 @@ import 'dart:async'; |
import 'dart:convert'; |
import 'dart:io'; |
+import 'package:args/args.dart'; |
+ |
+import 'cache.dart'; |
+ |
/// Split [text] using [infixes] as infix markers. |
List<String> split(String text, List<String> infixes) { |
List<String> result = <String>[]; |
@@ -27,9 +31,15 @@ String padRight(String text, int length) { |
return text; |
} |
-const bool LOG = const bool.fromEnvironment('LOG', defaultValue: false); |
+/// Pad [text] with spaces to the left to fit [length]. |
+String padLeft(String text, int length) { |
+ if (text.length < length) return '${' ' * (length - text.length)}${text}'; |
+ return text; |
+} |
-void log(String text) { |
+bool LOG = const bool.fromEnvironment('LOG', defaultValue: false); |
+ |
+void log(Object text) { |
if (LOG) print(text); |
} |
@@ -39,3 +49,25 @@ Future<String> readUriAsText(HttpClient client, Uri uri) async { |
HttpClientResponse response = await request.close(); |
return await response.transform(UTF8.decoder).join(); |
} |
+ |
+ArgParser createArgParser() { |
+ ArgParser argParser = new ArgParser(); |
+ argParser.addFlag('verbose', abbr: 'v'); |
+ argParser.addOption('cache'); |
+ return argParser; |
+} |
+ |
+void processArgResults(ArgResults argResults) { |
+ if (argResults['verbose']) { |
+ LOG = true; |
+ } |
+ if (argResults['cache'] != null) { |
+ cache.base = Uri.base.resolve('${argResults['cache']}/'); |
+ } |
+} |
+ |
+void printOptions() { |
Dmitry Stefantsov
2017/04/06 09:16:10
Maybe pass 'argParser' here and use 'print(argPars
Johnni Winther
2017/04/06 10:06:07
Good call! Done.
|
+ print(" --verbose, -v Turn on logging output."); |
+ print(" --cache=<dir> Use <dir> for caching test output."); |
+ print(" Defaults to 'temp/gardening-cache/'."); |
+} |