anchor.diff:          // Build after "edit" without clean should be faster than first build
           final Map<String, dynamic> compileAfterEditDebug = await _compileDebug(
             clean: false,
  -          deleteGradleCache: false,
             metricKey: 'debug_compile_after_edit_millis',
           );
           metrics.addAll(compileAfterEditDebug);
  
positive.code:     }
  
      metrics.addAll(<String, dynamic>{
        'release_${deleteGradleCache ? 'initial' : 'full'}_compile_millis': watch.elapsedMilliseconds,
        'release_size_bytes': releaseSizeInBytes,
      });
  
      return metrics;
    }
  
    Future<Map<String, dynamic>> _compileDebug({
      required bool deleteGradleCache,
      required bool clean,
      required String metricKey,
    }) async {
      if (clean) {
        await flutter('clean');
      }
      if (deleteGradleCache) {
        final Directory gradleCacheDir = Directory('$testDirectory/android/.gradle');
        gradleCacheDir.deleteSync(recursive: true);
      }
      final Stopwatch watch = Stopwatch();
      final List<String> options = <String>['--debug'];
  
negative.code:     return inDirectory<TaskResult>(testDirectory, () async {
        await flutter('packages', options: <String>['get']);
  
        final Map<String, dynamic> compileRelease = await _compileApp(reportPackageContentSizes: reportPackageContentSizes);
        final Map<String, dynamic> compileDebug = await _compileDebug(
          clean: true,
          metricKey: 'debug_full_compile_millis',
        );
        // Build again without cleaning, should be faster.
        final Map<String, dynamic> compileSecondDebug = await _compileDebug(
          clean: false,
          metricKey: 'debug_second_compile_millis',
        );
  
        final Map<String, dynamic> metrics = <String, dynamic>{
          ...compileRelease,
          ...compileDebug,
          ...compileSecondDebug,
        };
  
  