anchor.diff:  ### Supported APIs
   
   """);
  -    
  +
       apis["items"].forEach((item) {
         var name = item["name"];
         var version = item["version"];
         var title = item["title"];
         var link = item["documentationLink"];
         var description = item["description"];
  -      
  +
         var libraryBrowserName = cleanName("${name}_${version}_api_browser");
         var libraryConsoleName = cleanName("${name}_${version}_api_console");
  -      
  +
         tmp.add("#### ");
         if (item.containsKey("icons") && item["icons"].containsKey("x16")) {
           tmp.add("![Logo](${item["icons"]["x16"]}) ");
  
positive.code: fi
  """;
    }
    
    String _createLibrary(String srcFolder) {
      return """
  library $_libraryName;
  
negative.code:         _clientVersionBuild = 0;
        }
      }
  
      // Clean contents of directory (except for .git folder)
      var tmpDir = new Directory(mainFolder);
      if (tmpDir.existsSync()) {
        print("Emptying folder before library generation.");
        tmpDir.listSync().forEach((f) {
          if (f is File) {
            f.deleteSync();
          } else if (f is Directory) {
            if (!f.path.endsWith(".git")) {
              f.deleteSync(recursive: true);
            }
          }
        });
      }
  
      (new Directory("$libFolder/$srcFolder/common")).createSync(recursive: true);
      (new Directory("$libFolder/$srcFolder/browser")).createSync(recursive: true);
      (new Directory("$libFolder/$srcFolder/console")).createSync(recursive: true);
  
      if (!fullLibrary) {
        (new Directory("$mainFolder/test")).createSync(recursive: true);
  
        (new File("$mainFolder/pubspec.yaml")).writeAsStringSync(_createPubspec());
  
        (new File("$mainFolder/LICENSE")).writeAsStringSync(createLicense());
  
        (new File("$mainFolder/README.md")).writeAsStringSync(_createReadme());
  
        (new File("$mainFolder/.gitignore")).writeAsStringSync(createGitIgnore());
  
        (new File("$mainFolder/CONTRIBUTORS")).writeAsStringSync(createContributors());
  
        (new File("$mainFolder/VERSION")).writeAsStringSync(_json["etag"]);
  
        (new File("$mainFolder/test/run.sh")).writeAsStringSync(_createTest());
      }
  
      // Create common library files
  
      (new File("$libFolder/$_libraryName.dart")).writeAsStringSync(_createLibrary(srcFolder));
  