reportEvidence function
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');
}