getShellScripts function

List<String> getShellScripts(
  1. Config config,
  2. Map<String, String> env,
  3. String workdir
)

get scripts input from yaml

Implementation

List<String> getShellScripts(
    Config config, Map<String, String> env, String workdir) {
  final String os_ = config.optionalString('os') ?? '';
  if (!isOsMatched(os_)) throw UsageException('err: invalid os', '');

  final String name = 'scripts';
  var values = config.optionalStringList(name);
  if (values == null || values.isEmpty) {
    throw UsageException('err: required $name list', '');
  }

  // final lpm = LocalProcessManager();
  for (var value in values) {
    final undef = undefined(value, env);
    if (undef.isNotEmpty) throw UsageException('err: undef $undef, $value', '');

    // final canrun = lpm.canRun(name, workingDirectory: workdir);
    // if (!canrun) throw UsageException('err: can not run, $value', '');
  }

  return values;
}