writeBinFiles function

bool writeBinFiles(
  1. Directory binDir,
  2. Iterable keys
)

Returns true if any bin files were modified

Implementation

bool writeBinFiles(Directory binDir, Iterable keys) {
  bool modified = false;

  for (final name in keys) {
    final file = File('${binDir.path}/$name.dart');
    final content = '''
import 'package:commands_cli/run.dart';

Future<void> main(List<String> args) => run('$name', args);
''';

    if (!file.existsSync() || file.readAsStringSync() != content) {
      file.writeAsStringSync(content);
      modified = true;
    }
  }

  return modified;
}