activateGlobalPackage method

Future<void> activateGlobalPackage(
  1. PubGlobalPackage package, {
  2. bool? dryRun,
  3. bool? verbose,
})

Activate package according its saved configuration if any

Implementation

Future<void> activateGlobalPackage(
  PubGlobalPackage package, {

  /// Set when updating
  bool? dryRun,
  bool? verbose,
}) async {
  dryRun ??= false;
  verbose ??= false;

  String cmd;
  cmd =
      'dart pub global activate ${package.activateArgs.map((e) => shellArgument(e)).join(' ')}';
  if (dryRun) {
    stdout.writeln(cmd);
  } else {
    var packageName = package.name;
    if (verbose) {
      stdout.writeln('checking: $packageName');
    }

    final result = await Shell(verbose: verbose).run(cmd);

    final lines = result.outLines;
    for (final line in lines) {
      final updatedPackage = PubGlobalPackage.fromActivatedLine(
        line,
        packageName,
      );
      if (updatedPackage != null) {
        stdout.writeln('activated: $updatedPackage');
      }
    }
  }
}