1 16 package org.apache.cocoon.components.language.programming.javascript; 17 18 import org.apache.cocoon.components.language.LanguageException; 19 import org.apache.cocoon.components.language.programming.java.JavaLanguage; 20 21 import org.mozilla.javascript.tools.jsc.Main; 22 23 import java.io.File ; 24 25 31 public class CompiledJavascriptLanguage extends JavaLanguage { 32 33 38 public String getSourceExtension() { 39 return "js"; 40 } 41 42 51 protected void compile( 52 String name, File baseDirectory, String encoding 53 ) throws LanguageException { 54 try { 55 int pos = name.lastIndexOf(File.separatorChar); 56 String filename = name.substring(pos + 1); 57 String pathname = 58 baseDirectory.getCanonicalPath() + File.separator + 59 name.substring(0, pos).replace(File.separatorChar, '/'); 60 String packageName = 61 name.substring(0, pos).replace(File.separatorChar, '.'); 62 63 String [] args = { 64 "-extends", 65 "org.apache.cocoon.components.language.markup.xsp.JSGenerator", 66 "-nosource", 67 "-O", "9", 68 "-package", packageName, 69 "-o", filename + ".class", 70 pathname + File.separator + filename + "." + this.getSourceExtension() 71 }; 72 73 Main.main(args); 74 } catch (Exception e) { 75 getLogger().warn("JavascriptLanguage.compile", e); 76 throw new LanguageException(e.getMessage()); 77 } 78 } 79 } 80 | Popular Tags |