static File javaCompile(S src) { ret javaCompile(src, ""); } // returns path to classes dir static synchronized File javaCompile(S src, S dehlibs) { S javaTarget = null; // use default target //print("Compiling " + l(src) + " chars"); Class j = getJavaX(); if (javaTarget != null) setOpt(j, "javaTarget", javaTarget); //setOpt(j, "verbose", true); File srcDir = cast call(j, "TempDirMaker_make"); S className = getNameOfPublicClass(javaTok(src)); S fileName = className + ".java"; File mainJava = new File(srcDir, fileName); //print("main java: " + mainJava.getAbsolutePath()); saveTextFile(mainJava, src); File classesDir = (File) call(j, "TempDirMaker_make"); new L<File> libraries; Matcher m = Pattern.compile("\\d+").matcher(dehlibs); while (m.find()) { S libID = m.group(); //print("libID=" + quote(libID)); assertTrue(isSnippetID(libID)); libraries.add(loadLibrary(libID)); } try { // This seems to be empty in case of success with Eclipse compiler. S compilerOutput = cast call(j, "compileJava", srcDir, libraries, classesDir); if (nempty(compilerOutput)) print("Compiler said: " + quote(compilerOutput)); // sanity test if (!new File(classesDir, className + ".class").exists()) fail("No class generated (" + className + ")"); } catch (Exception e) { //e.printStackTrace(); fail("Compile Error\n" + getOpt(j, "javaCompilerOutput")); } ret classesDir; }
download show line numbers debug dex old transpilations
Travelled to 15 computer(s): aoiabmzegqzx, bhatertpkbcr, cbybwowwnfue, cfunsshuasjs, ddnzoavkxhuk, gwrvuhgaqvyk, ishqpsrjomds, lpdgvwnxivlt, mqqgnosmbjvj, onxytkatvevr, pyentgdyhuwx, pzhvpgtvlbxg, tslmcundralx, tvejysmllsmz, vouqrxazstgt
No comments. add comment
| Snippet ID: | #1003840 | 
| Snippet name: | javaCompile - compile to classes dir | 
| Eternal ID of this version: | #1003840/1 | 
| Text MD5: | de5f364a8c46ecab9841fd10ce2fe1f4 | 
| Author: | stefan | 
| Category: | javax | 
| Type: | JavaX fragment (include) | 
| Public (visible to everyone): | Yes | 
| Archived (hidden from active list): | No | 
| Created/modified: | 2016-08-07 18:21:39 | 
| Source code size: | 1534 bytes / 46 lines | 
| Pitched / IR pitched: | No / No | 
| Views / Downloads: | 844 / 882 | 
| Referenced in: | [show references] |