alignmentEvidence function

String alignmentEvidence(
  1. PluginEntry plugin
)

A one-line summary of the evidence behind alignmentStatus.

Implementation

String alignmentEvidence(PluginEntry plugin) {
  if (plugin.errors.isNotEmpty) return 'Could not be checked.';
  final soFiles = plugin.alignment.soFiles;
  if (soFiles.isEmpty) return 'No native libraries in archive.';
  final misaligned = soFiles.where((f) => !f.aligned).toList();
  if (misaligned.isEmpty) {
    return '${soFiles.length} .so file(s), all 16 KB aligned.';
  }
  final first = misaligned.first;
  final align = first.minAlign != null
      ? '0x${first.minAlign!.toRadixString(16)}'
      : 'unknown';
  return '${misaligned.length} of ${soFiles.length} .so file(s) misaligned, e.g. ${first.path} ($align).';
}