reportEvidence function

void reportEvidence(
  1. ProjectEvidence e
)

Implementation

void reportEvidence(ProjectEvidence e) {
  String v(Object? x) => x?.toString() ?? 'UNKNOWN';
  print('');
  print('================================');
  print('        Environment');
  print('================================');
  print('');
  print('Flutter: ' + v(e.environment.flutterVersion));
  print('Dart: ' + v(e.environment.dartVersion));
  print('Channel: ' + v(e.environment.flutterChannel));
  print('Java: ' + v(e.environment.javaVersion));
  print('Java executable: ' + v(e.javaExecutable));
  print('JAVA_HOME: ' + (e.environment.javaHome ?? '⚠️ NOT SET'));
  print('Android SDK: ' + v(e.environment.androidSdkPath));
  print('ANDROID_SDK_ROOT: ' +
      (Platform.environment['ANDROID_SDK_ROOT'] ?? '⚠️ NOT SET'));
  print('ANDROID_HOME: ' +
      (Platform.environment['ANDROID_HOME'] ?? '⚠️ NOT SET'));
  print('');
  print('================================');
  print('       Android Toolchain');
  print('================================');
  print('');
  final a = e.android;
  print('AGP: ' + v(a.agpVersion));
  print('Gradle: ' + v(a.gradleVersion));
  print('Kotlin: ' + v(a.kotlinVersion));
  print('compileSdk: ' + v(a.compileSdk));
  print('targetSdk: ' + v(a.targetSdk));
  print('minSdk: ' + v(a.minSdk));
  if (e.minSdkSource != null) print('Source: ' + e.minSdkSource!);
  final c = agpGradleCompatibility(a.agpVersion, a.gradleVersion);
  print('');
  print('================================');
  print('      Compatibility');
  print('================================');
  print('');
  print((c.status == 'PASS'
          ? '🟢 '
          : c.status == 'ERROR'
              ? '🔴 '
              : '⚪ ') +
      'AGP / Gradle');
  print(c.message);
  print('⚪ Java / Gradle');
  print('Unknown');
  print('⚪ compileSdk / AGP');
  print('Unknown');
}