computeLinkSpecChecksum function
Implementation
String computeLinkSpecChecksum({String baseDir = '.'}) {
final libDir = Directory(p.join(baseDir, 'lib'));
if (!libDir.existsSync()) return _fnv64Hex('no-lib');
final specs = libDir.listSync(recursive: true).whereType<File>().where((f) => f.path.endsWith('.native.dart')).toList()
..sort((a, b) => p.relative(a.path, from: baseDir).compareTo(p.relative(b.path, from: baseDir)));
if (specs.isEmpty) return _fnv64Hex('no-specs');
final parts = <String>[];
for (final spec in specs) {
parts
..add(p.relative(spec.path, from: baseDir))
..add(spec.readAsStringSync());
}
return _fnv64Hex(parts.join('\n--- nitro spec ---\n'));
}