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 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 preHookRunner = DpkScriptRunner(
config: config,
arguments: [],
options: RunOptions(
globalOptions: options.globalPubOptions.globalOptions,
script: HookType.preget.name,
),
);
final preHookExitCode = await preHookRunner.run(skipIfMissing: true);
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,
workingDirectory: options.globalPubOptions.globalOptions.directory,
environment: getCacheEnv(options.globalPubOptions.cacheDir),
);
if (exitCode != 0) {
return exitCode;
}
final postHookRunner = DpkScriptRunner(
config: config,
arguments: [],
options: RunOptions(
globalOptions: options.globalPubOptions.globalOptions,
script: HookType.postget.name,
),
);
final postHookExitCode = await postHookRunner.run(skipIfMissing: true);
return postHookExitCode;
}