get method
Resolves projectRoot's dependencies. offline uses only the cache
(as rollbacks do).
Implementation
@override
Future<PubResult> get(String projectRoot, {bool offline = false}) async {
final args = ['pub', 'get', if (offline) '--offline'];
final env = {
'FLUTTER_ROOT': sdk.root.replaceAll('/', Platform.pathSeparator),
};
if (File(sdk.dart).existsSync()) {
final result = await _run(sdk.dart, args, projectRoot, env);
if (result.exitCode != _couldNotStart) return result;
}
// flutter.bat runs through cmd.exe, which would read some characters
// in its path as commands.
final problem = batchArgumentProblem(sdk.flutter, args);
if (problem != null) {
return PubResult(
_couldNotStart,
'',
problem,
command: '${sdk.flutter} ${args.join(' ')}',
);
}
return _run(sdk.flutter, args, projectRoot, env);
}