run method
Runs this command.
The return value is wrapped in a Future if necessary and returned by
CommandRunner.runCommand.
Implementation
@override
Future<int> run() async {
final options = PubGetOptions.fromArgResults(argResults!);
final targetDirectory =
options.globalPubOptions.globalOptions.directory ??
config.workingDirectory;
Directory.current = targetDirectory;
final arguments = [
'pub',
...buildGlobalArgs(options.globalPubOptions),
'get',
if (options.offline) '--offline',
if (options.dryRun) '--dry-run',
if (options.enforceLockfile) '--enforce-lockfile',
if (options.precompile) '--precompile',
...argResults!.rest,
];
final preHookExitCode = await runPreHook(
commandName: 'get',
globalOptions: options.globalPubOptions.globalOptions,
);
if (preHookExitCode != 0) {
return preHookExitCode;
}
if (options.globalPubOptions.globalOptions.isVerbose) {
logger.info('Running: dart ${arguments.join(' ')}');
}
if (config.pubspec.name == '_') {
await _generateDependencyOverrides(options, arguments);
}
final exitCode = await runDartProcess(
arguments: arguments,
environment: getCacheEnv(options.globalPubOptions.cacheDir),
);
if (exitCode != 0) {
return exitCode;
}
final postHookExitCode = await runPostHook(
commandName: 'get',
globalOptions: options.globalPubOptions.globalOptions,
);
return postHookExitCode;
}