requiresInstalledTools static method

void requiresInstalledTools(
  1. List<CliTool> requiredTools
)

Implementation

static void requiresInstalledTools(List<CliTool> requiredTools) {
  final requiredToolsFound = <CliTool>[];
  final installedCliTools = _instance.installedCliTools.map((e) => e.cliTool);
  for (final requiredTool in requiredTools) {
    if (installedCliTools.contains(requiredTool)) {
      requiredToolsFound.add(requiredTool);
    }
  }
  if (requiredToolsFound.length != requiredTools.length) {
    final missingTools = requiredTools
        .where((element) => !requiredToolsFound.contains(element));
    throw ImpaktfullCliError(
        '${missingTools.map((e) => '${e.commandName} (${e.name})').join(', ')} are not installed, but required for the next step');
  }
}