get method

  1. @override
Future<PubResult> get(
  1. String projectRoot, {
  2. bool offline = false,
})
override

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);
}