// can be false, it's compiled on the server anyway // defaults to true static new ThreadLocal<Bool> transpileForServer_compile; static long transpileForServer_localTime; sbool transpileForServer_forceJavacOnServer; sbool transpileForServer_forceJavacWhenLibs; svoid transpileForServer(S progID) { S server = tb_mainServer(); S javax = loadSnippet(progID); print("Source: " + l(javax)); long time = sysNow(); time "Transpile" { transpileRaw_silent = false; S java; try { java = transpileRaw(javax); } on fail e { printLineContextAfterJavaCompilerError(e, loadProgramTextFile("error.java")); } print("Transpiled: " + l(java)); } new L<S> libs; java = findTranslators2(java, libs); print("Libs: " + or2(joinWithComma(libs), "-")); S dehlibs = join(" ", libs); if (!isFalse(transpileForServer_compile!)) { File bytecode = javaCompile_overInternalBot(java, dehlibs); print("Bytecode: " + f2s(assertNotNull(bytecode))); } transpileForServer_localTime = sysNow()-time; // Compiled OK, let's upload S result = postPageWithCredentials(server + "/tb/upload-transpilation.php", id := psI(progID), transpilation := java, libs := lines(splitAtSpace(dehlibs)), computer := computerID()); Matcher m = regexp("URL=/(dexcompile\\.php.*?)'", result); if (!m.find()) fail("Server said: " + result); S url = server + "/" + m.group(1); if (transpileForServer_forceJavacOnServer || transpileForServer_forceJavacWhenLibs && nempty(libs)) url += "&javac=1"; result = postPageWithCredentials(url); bool ok = result.contains("SUCCESS"); sendToSnippetUpdatesBot("/transpile" + (ok ? "OK" : "Fail") + "/" + psI(progID)); if (!ok) fail("Server said: " + result); print("Transpiled & uploaded " + fsI(progID) + "!"); }
Began life as a copy of #1011923
download show line numbers debug dex old transpilations
Travelled to 3 computer(s): bhatertpkbcr, mowyntqkapby, mqqgnosmbjvj
No comments. add comment
| Snippet ID: | #1033538 |
| Snippet name: | transpileForServer [backup] |
| Eternal ID of this version: | #1033538/1 |
| Text MD5: | 6fad01a357a8ce4ede3c8b22a8ec2837 |
| Author: | stefan |
| Category: | javax / transpiling |
| Type: | JavaX fragment (include) |
| Public (visible to everyone): | Yes |
| Archived (hidden from active list): | No |
| Created/modified: | 2021-11-01 21:56:22 |
| Source code size: | 1916 bytes / 62 lines |
| Pitched / IR pitched: | No / No |
| Views / Downloads: | 316 / 357 |
| Referenced in: | [show references] |