PluginMeta meta = new PluginMeta(fetcher, null);
if (opt_idClass != null && opt_idClass.length() != 0) {
meta.setIdClass(opt_idClass);
}
PluginCompiler compiler = makePluginCompiler(meta, mq);
compiler.setJobCache(new AppEngineJobCache());
compiler.setMessageContext(mc);
URI uri = guessURI(base, url);
InputSource is = new InputSource(uri);
CharProducer cp = CharProducer.Factory.fromString(input, is);
boolean okToContinue = true;
Dom inputNode = null;
try {
DomParser p = new DomParser(new HtmlLexer(cp), false, is, mq);
inputNode = Dom.transplant(p.parseDocument());
p.getTokenQueue().expectEmpty();
} catch (ParseException e) {
mq.addMessage(e.getCajaMessage());
okToContinue = false;
}
if (okToContinue && inputNode != null) {
compiler.addInput(inputNode, uri);
okToContinue &= compiler.run();
}
outputJs = okToContinue ? compiler.getJavascript() : null;
outputHtml = okToContinue ? compiler.getStaticHtml() : null;
String[] messages = formatMessages(originalSources, mc, mq);
StringBuilder jsOut = new StringBuilder();
TokenConsumer renderer = new JsPrettyPrinter(jsOut);