| OLD | NEW |
| 1 // Copyright (c) 2013, the Dart project authors. Please see the AUTHORS file | 1 // Copyright (c) 2013, the Dart project authors. Please see the AUTHORS file |
| 2 // for details. All rights reserved. Use of this source code is governed by a | 2 // for details. All rights reserved. Use of this source code is governed by a |
| 3 // BSD-style license that can be found in the LICENSE file. | 3 // BSD-style license that can be found in the LICENSE file. |
| 4 | 4 |
| 5 import 'dart:async'; | 5 import 'dart:async'; |
| 6 import 'dart:io'; | 6 import 'dart:io'; |
| 7 import 'dart:math' as math; | 7 import 'dart:math' as math; |
| 8 | 8 |
| 9 import 'package:args/args.dart'; | 9 import 'package:args/args.dart'; |
| 10 import 'package:pathos/path.dart' as path; | 10 import 'package:pathos/path.dart' as path; |
| (...skipping 73 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 84 if (Platform.environment.containsKey('PUB_CACHE')) { | 84 if (Platform.environment.containsKey('PUB_CACHE')) { |
| 85 cacheDir = Platform.environment['PUB_CACHE']; | 85 cacheDir = Platform.environment['PUB_CACHE']; |
| 86 } else if (Platform.operatingSystem == 'windows') { | 86 } else if (Platform.operatingSystem == 'windows') { |
| 87 var appData = Platform.environment['APPDATA']; | 87 var appData = Platform.environment['APPDATA']; |
| 88 cacheDir = path.join(appData, 'Pub', 'Cache'); | 88 cacheDir = path.join(appData, 'Pub', 'Cache'); |
| 89 } else { | 89 } else { |
| 90 cacheDir = '${Platform.environment['HOME']}/.pub-cache'; | 90 cacheDir = '${Platform.environment['HOME']}/.pub-cache'; |
| 91 } | 91 } |
| 92 | 92 |
| 93 validatePlatform().then((_) { | 93 validatePlatform().then((_) { |
| 94 var cache = new SystemCache.withSources(cacheDir); | |
| 95 | |
| 96 // Select the command. | 94 // Select the command. |
| 97 var command = PubCommand.commands[globalOptions.rest[0]]; | 95 var command = PubCommand.commands[globalOptions.rest[0]]; |
| 98 if (command == null) { | 96 if (command == null) { |
| 99 log.error('Could not find a command named "${globalOptions.rest[0]}".'); | 97 log.error('Could not find a command named "${globalOptions.rest[0]}".'); |
| 100 log.error('Run "pub help" to see available commands.'); | 98 log.error('Run "pub help" to see available commands.'); |
| 101 exit(exit_codes.USAGE); | 99 exit(exit_codes.USAGE); |
| 102 return; | 100 return; |
| 103 } | 101 } |
| 104 | 102 |
| 105 var commandArgs = globalOptions.rest.sublist(1); | 103 var commandArgs = globalOptions.rest.sublist(1); |
| 106 command.run(cache, globalOptions, commandArgs); | 104 command.run(cacheDir, globalOptions, commandArgs); |
| 107 }); | 105 }); |
| 108 } | 106 } |
| 109 | 107 |
| 110 /// Checks that pub is running on a supported platform. If it isn't, it prints | 108 /// Checks that pub is running on a supported platform. If it isn't, it prints |
| 111 /// an error message and exits. Completes when the validation is done. | 109 /// an error message and exits. Completes when the validation is done. |
| 112 Future validatePlatform() { | 110 Future validatePlatform() { |
| 113 return new Future.sync(() { | 111 return new Future.sync(() { |
| 114 if (Platform.operatingSystem != 'windows') return; | 112 if (Platform.operatingSystem != 'windows') return; |
| 115 | 113 |
| 116 return runProcess('ver', []).then((result) { | 114 return runProcess('ver', []).then((result) { |
| (...skipping 33 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 150 for (var name in names) { | 148 for (var name in names) { |
| 151 buffer.write(' ${padRight(name, length)} ' | 149 buffer.write(' ${padRight(name, length)} ' |
| 152 '${PubCommand.commands[name].description}\n'); | 150 '${PubCommand.commands[name].description}\n'); |
| 153 } | 151 } |
| 154 | 152 |
| 155 buffer.write('\n'); | 153 buffer.write('\n'); |
| 156 buffer.write( | 154 buffer.write( |
| 157 'Use "pub help [command]" for more information about a command.'); | 155 'Use "pub help [command]" for more information about a command.'); |
| 158 log.message(buffer.toString()); | 156 log.message(buffer.toString()); |
| 159 } | 157 } |
| OLD | NEW |