runScript method

Future<int> runScript(
  1. Script script, {
  2. required HookStack stack,
  3. List<String> arguments = const [],
  4. RunPlan? plan,
})

Runs script without its hooks or dependencies, in the packages of plan, or of its own config when plan is null.

Implementation

Future<int> runScript(
  Script script, {
  required HookStack stack,
  List<String> arguments = const [],
  RunPlan? plan,
}) {
  final project = requireProject;
  plan ??= planFor(script);

  final command = withArguments(script.command.trim(), arguments);
  final where = plan.isSingle ? '' : ' in ${plan.packages.length} packages';
  console.step('> ${script.name}$where: $command');

  return ScriptExecutor(
    processRunner: processRunner,
    console: console,
    workspace: project.workspace,
  ).execute(
    plan,
    command,
    environment: scriptEnvironment({
      ...project.pubEnvironment,
      ..._envFile(script, project),
      ...script.env,
      ...stack.toEnvironment(),
    }),
  );
}