configure method

  1. @override
Step configure()
override

Implementation

@override
Step configure() => Runnable(name: name, description: description, (context) {
  if (programs.isEmpty) {
    return Response(
      message: "No programs received to look out for.",
      level: ResponseLevel.status,
    );
  }

  final List<String> notAvailable = search(
    programs,
    directories,
    searchCanStartProcesses,
  );

  if (notAvailable.isEmpty) {
    if (onSuccess != null) {
      onSuccess!(context);
    }
    return Response(
      message: "All programs were found without issues.",
      level: ResponseLevel.status,
    );
  } else {
    if (onFailure != null) {
      onFailure!(context, notAvailable);
    }
    return Response(
      message:
          "Not all programs were found. Missing are ${notAvailable.join(", ")}.",
    );
  }
});