anchor.diff:    context.log('spark.zip is ${sizeKb}kb');
   }
   
  +// Returns the name of the current branch.
   String getBranchName() {
     return getCommandOutput('git branch | grep "*" | sed -e "s/\* //g"');
   }
   
  +// Returns the URL of the git repository.
   String getRepositoryUrl() {
     return getCommandOutput('git config remote.origin.url');
   }
   
  +// Returns the current revision identifier of the local copy.
   String getCurrentRevision() {
     return getCommandOutput('git rev-parse HEAD | cut -c1-10');
   }
   
  +// We can build a real release only if the repository is the original
  +// repository of spark and master is the working branch since we need to
  +// increase the version and commit it to the repository.
   bool canReleaseFromHere() {
     return (getRepositoryUrl() == 'https://github.com/dart-lang/spark.git') &&
            (getBranchName() == 'master');
   }
   
  +// In case, release is performed on a non-releasable branch/repository, we just
  +// archive and name the archive with the revision identifier.
   void archiveWithRevision(GrinderContext context) {
     context.log('Performing archive instead.');
     archive(context);
  
positive.code:   print("polymer build done");
  }
  
  void dart2JSBuild(GrinderContext context) {
    // We remove the symlink and replace it with a copy.
    runCommandSync(context, 'rm -rf web/packages');
  
negative.code:   }
  }
  
  // Creates an archive of the Chrome App.
  // - Sources will be compiled in Javascript using "compile" task
  //
  // We'll create an archive using the content of build-chrome-app.
  // - Copy the compiled sources to build/chrome-app/spark
  // - We clean all packages/ folders that have been duplicated into every
  //   folders by the "compile" task
  // - Copy the packages/ directory in build/chrome-app/spark/packages
  // - Remove test
  // - Zip the content of build/chrome-app-spark to dist/spark.zip
  //
  void archive(GrinderContext context) {
    Directory distDir = new Directory('dist');
    distDir.createSync();
  