anchor.diff:  }
   
   Future _compileSnapshot({
  +  String compilerPath,
     String mainPath,
     String packageRoot,
     String snapshotPath
   }) async {
  -  File compiler = await artifactStore.getPath(Artifact.FlutterCompiler);
  -  await Process.run(compiler.path, [
  +  File compiler = compilerPath == null ?
  +      await artifactStore.getPath(Artifact.FlutterCompiler) :
  +      new File(compilerPath);
  +  ProcessResult result = await Process.run(compiler.path, [
       mainPath,
       '--package-root=$packageRoot',
       '--snapshot=$snapshotPath'
     ]);
  +  if (result.exitCode != 0) {
  +    print(result.stdout);
  +    print(result.stderr);
  +    exit(result.exitCode);
  +  }
   }
   
   Future<ArchiveFile> _createSnapshotFile(String snapshotPath) async {
  
positive.code:     ArgParser parser = new ArgParser();
      parser.addFlag('help', abbr: 'h', negatable: false);
      parser.addOption('asset-base', defaultsTo: 'packages/material_design_icons/icons');
      parser.addOption('main', defaultsTo: 'lib/main.dart');
      parser.addOption('manifest', defaultsTo: 'flutter.yaml');
      parser.addOption('output-file', abbr: 'o', defaultsTo: 'app.flx');
      parser.addOption('package-root', defaultsTo: 'packages');
      parser.addOption('snapshot', defaultsTo: 'snapshot_blob.bin');
  
negative.code: 
      String snapshotPath = results['snapshot'];
      await _compileSnapshot(
        compilerPath: results['compiler'],
        mainPath: results['main'],
        packageRoot: results['package-root'],
        snapshotPath: snapshotPath);
  