compileKotlinStubs function

Directory compileKotlinStubs()

Compiles fixtures/java/kotlin-stubs into a fresh temporary directory.

Implementation

Directory compileKotlinStubs() {
  final src = p.join(findRepoRoot(), 'fixtures', 'java', 'kotlin-stubs', 'src');
  final out = Directory.systemTemp.createTempSync('nab_kotlin_stubs_');
  final r = Process.runSync('javac', [
    '--release',
    '17',
    '-d',
    out.path,
    for (final f in Directory(src).listSync(recursive: true))
      if (f is File && f.path.endsWith('.java')) f.path,
  ]);
  if (r.exitCode != 0) {
    throw StateError('javac failed (stubs):\n${r.stderr}');
  }
  return out;
}