Index: pkg/analysis_server/test/performance/main.dart |
diff --git a/pkg/analysis_server/test/performance/main.dart b/pkg/analysis_server/test/performance/main.dart |
index 9d085fc40d070e58c085a85d2bd2cbb1e0fde5de..563533103feed6e455185c82a360c7b8743b7c24 100644 |
--- a/pkg/analysis_server/test/performance/main.dart |
+++ b/pkg/analysis_server/test/performance/main.dart |
@@ -61,6 +61,7 @@ const HELP_CMDLINE_OPTION = 'help'; |
const INPUT_CMDLINE_OPTION = 'input'; |
const MAP_FROM_OPTION = 'mapFrom'; |
const MAP_TO_OPTION = 'mapTo'; |
+const TMP_SRC_DIR_OPTION = 'tmpSrcDir'; |
const VERBOSE_CMDLINE_OPTION = 'verbose'; |
const VERY_VERBOSE_CMDLINE_OPTION = 'vv'; |
@@ -69,6 +70,7 @@ const VERY_VERBOSE_CMDLINE_OPTION = 'vv'; |
* should interact with the analysis server. |
*/ |
Stream<Operation> openInput(ArgResults args) { |
+ var logger = new Logger('openInput'); |
Stream<List<int>> inputRaw; |
String inputPath = args[INPUT_CMDLINE_OPTION]; |
if (inputPath == null) { |
@@ -84,13 +86,15 @@ Stream<Operation> openInput(ArgResults args) { |
if (mapFrom != null && mapFrom.isNotEmpty) { |
String mapTo = args[MAP_TO_OPTION]; |
srcPathMap[mapFrom] = mapTo; |
- new Logger('openInput').log( |
+ logger.log( |
Level.INFO, 'mapping source paths\n from $mapFrom\n to $mapTo'); |
} |
+ String tmpSrcDirPath = args[TMP_SRC_DIR_OPTION]; |
+ logger.log(Level.INFO, 'tmpSrcDir: $tmpSrcDirPath'); |
return inputRaw |
.transform(SYSTEM_ENCODING.decoder) |
.transform(new LineSplitter()) |
- .transform(new InputConverter(srcPathMap)); |
+ .transform(new InputConverter(tmpSrcDirPath, srcPathMap)); |
} |
/** |
@@ -99,17 +103,18 @@ Stream<Operation> openInput(ArgResults args) { |
ArgResults parseArgs(List<String> rawArgs) { |
ArgParser parser = new ArgParser(); |
- parser.addOption(INPUT_CMDLINE_OPTION, |
- abbr: 'i', |
- help: 'The input file specifying how this client should interact ' |
- 'with the server. If the input file name is "stdin", ' |
- 'then the instructions are read from standard input.'); |
+ parser.addOption(INPUT_CMDLINE_OPTION, abbr: 'i', help: '<filePath>\n' |
+ 'The input file specifying how this client should interact with the server.\n' |
+ 'If the input file name is "stdin", then the instructions are read from standard input.'); |
parser.addOption(MAP_FROM_OPTION, |
help: 'The original source directory when the instrumentation ' |
'or log file was generated.'); |
parser.addOption(MAP_TO_OPTION, |
help: 'The target source directory used during performance testing. ' |
'WARNING: The contents of this directory will be modified'); |
+ parser.addOption(TMP_SRC_DIR_OPTION, abbr: 't', help: '<dirPath>\n' |
+ 'The temporary directory containing source used during performance measurement.\n' |
+ 'WARNING: The contents of the target directory will be modified'); |
parser.addFlag(VERBOSE_CMDLINE_OPTION, |
abbr: 'v', help: 'Verbose logging', negatable: false); |
parser.addFlag(VERY_VERBOSE_CMDLINE_OPTION, |
@@ -131,7 +136,7 @@ ArgResults parseArgs(List<String> rawArgs) { |
bool isMissing(key) => args[key] == null || args[key].isEmpty; |
if (isMissing(INPUT_CMDLINE_OPTION)) { |
- print('missing "input" argument'); |
+ print('missing $INPUT_CMDLINE_OPTION argument'); |
showHelp = true; |
} |
@@ -140,6 +145,11 @@ ArgResults parseArgs(List<String> rawArgs) { |
showHelp = true; |
} |
+ if (isMissing(TMP_SRC_DIR_OPTION)) { |
+ print('missing $TMP_SRC_DIR_OPTION argument'); |
+ showHelp = true; |
+ } |
+ |
if (args[VERY_VERBOSE_CMDLINE_OPTION] || rawArgs.contains('-vv')) { |
Logger.root.level = Level.FINE; |
} else if (args[VERBOSE_CMDLINE_OPTION]) { |
@@ -159,5 +169,6 @@ ArgResults parseArgs(List<String> rawArgs) { |
void printHelp(ArgParser parser) { |
print(''); |
print('Launch and interact with the AnalysisServer'); |
+ print(''); |
print(parser.usage); |
} |