// doesn't compile locally, just uploads and compiles on server
srecord noeq TranspileForServer_v2(S progID) {
  new RunTranspiler runTranspiler;
  S server = tb_mainServer();
  
  S javax;
  PairS uploadResults;
  
  run {
    javax = loadSnippet(progID);
    print("Source: " + l(javax));
  
    long time = sysNow();
  
    time "Transpile" {
      S java;
      try {
        runTranspiler.mainSnippetID(progID);
        java = runTranspiler.get(javax);
      } on fail e {
        printLineContextAfterJavaCompilerError(e, loadProgramTextFile("error.java"));
      }
      print("Transpiled: " + l(java));
    }

    new LS libs;
    java = findTranslators2(java, libs);
    print("Libs: " + or2(joinWithComma(libs), "-"));

    uploadResults = uploadTranspilation(progID, java, libs);

    print("Transpiled & uploaded " + fsI(progID) + "!");
  }
}