anchor.diff:        _writeSync(uiLibraryOut, readInputFile(file.path));
       }
       locations['ui'] = 'ui/ui.dart';
  +
  +    if (!forFlutterRelease) {
  +      // vmservice should be present unless we build release flavor of Flutter.
  +      //
  +      // TODO(dartbug.com/30158): Consider producing separate Flutter
  +      // vmservice.dill with these vmservice libraries.
  +      for (var file in ['loader.dart', 'server.dart', 'vmservice_io.dart']) {
  +        var libraryIn = path.join(dartDir, 'runtime', 'bin', 'vmservice', file);
  +        var libraryOut = path.join(sdkOut, 'vmservice_io', file);
  +        _writeSync(libraryOut, readInputFile(libraryIn));
  +      }
  +      locations['vmservice_sky'] =
  +          path.join('vmservice_io', 'vmservice_io.dart');
  +      locations['_vmservice'] = path.join('vmservice', 'vmservice.dart');
  +    }
     }
   }
   
  
positive.code:     ..chaseDependencies = true
      ..target = target;
  
    var result = await generateKernel(
        new ProcessedOptions(
            options,
            // TODO(sigmund): pass all sdk libraries needed here, and make this
            // hermetic.
            false,
            [Uri.parse('dart:core')]),
        buildSummary: true,
        buildProgram: true);
    new File.fromUri(outlineOutput).writeAsBytesSync(result.summary);
  
negative.code:   exit(1);
  }
  
  const validModes = const ['vm', 'dart2js', 'flutter', 'flutter_release'];
  String mode;
  bool get forVm => mode == 'vm';
  bool get forFlutter => mode == 'flutter' || mode == 'flutter_release';
  bool get forFlutterRelease => mode == 'flutter_release';
  bool get forDart2js => mode == 'dart2js';
  
  Future _main(List<String> argv) async {
  