private void init() { loader = ClojureClassLoaderFactory.newInstance(classPath, outDir); String loadFunctionPrefix = "run_str"; try { String clojureInitScript = String.format(initScriptSource(), beaker_clojure_ns, shellId, loadFunctionPrefix, NSClientProxy.class.getName()); String ns = String.format("%1$s_%2$s", beaker_clojure_ns, shellId); clearClojureNamespace(ns); clojureLoadString = RT.var(ns, String.format("%1$s_%2$s", loadFunctionPrefix, shellId)); clojure.lang.Compiler.load(new StringReader(clojureInitScript)); } catch (Exception e) { logger.error(e.getMessage()); } clojureAutocomplete = new ClojureAutocomplete(clojureLoadString, shellId, autocompletePatterns); }
@Override public Object eval(Reader reader, ScriptContext context) throws ScriptException { try { // Get engine bindings and send them to Clojure Bindings engineBindings = context.getBindings(ScriptContext.ENGINE_SCOPE); engineBindings.entrySet().forEach((entry) -> Var.intern(Namespace.findOrCreate(NAMESPACE_SYMBOL), Symbol.create(entry.getKey().intern()), entry.getValue(), true)); Var.pushThreadBindings( RT.map(RT.CURRENT_NS, RT.CURRENT_NS.deref(), RT.IN, new LineNumberingPushbackReader(context.getReader()), RT.OUT, context.getWriter(), RT.ERR, context.getErrorWriter())); Object result = Compiler.load(reader); return result; } catch (Exception e) { throw new ScriptException(e); } finally { Namespace.remove(NAMESPACE_SYMBOL); } }
public static Object load(Reader rdr) { return load(rdr, null, "NO_SOURCE_FILE"); }
@Override public String getDescription() { final String versionString = "(let [v *clojure-version*] " + "(format \"Clojure %s.%s.%s\" (v :major) (v :minor) (v :incremental)))"; return Compiler.load(new StringReader(versionString)).toString(); }
public static Object loadFile(String file) throws IOException{ // File fo = new File(file); // if(!fo.exists()) // return null; FileInputStream f = new FileInputStream(file); try { return load(new InputStreamReader(f, RT.UTF8), new File(file).getAbsolutePath(), (new File(file)).getName()); } finally { f.close(); } }
public static void loadResourceScript(Class c, String name, boolean failIfNotFound) throws IOException{ int slash = name.lastIndexOf('/'); String file = slash >= 0 ? name.substring(slash + 1) : name; InputStream ins = resourceAsStream(baseLoader(), name); if(ins != null) { try { Compiler.load(new InputStreamReader(ins, UTF8), name, file); } finally { ins.close(); } } else if(failIfNotFound) { throw new FileNotFoundException("Could not locate Clojure resource on classpath: " + name); } }
/** * Loads the Clojure script. */ @Override protected void doStart() { try { final ClojureScriptModel scriptModel = _implModel.getScriptModel(); _var = scriptModel != null ? (Var) clojure.lang.Compiler.load(new StringReader(scriptModel.getScript())) : (Var) clojure.lang.Compiler.load(loadInputStream(_implModel.getScriptFile())); } catch (final Exception e) { throw new SwitchYardException(e); } }
@Override public Object createInstance(NitDesc nitDesc) throws NitException { try { RT.load("clojure/core"); } catch (ClassNotFoundException | IOException e) { e.printStackTrace(); } Object result = Compiler.load(new StringReader(nitDesc.getScript())); if (result instanceof Var){ return result; } else{ throw new NitException("result did not compile into a clsure var"+ result); } }
/** * Loads the Clojure script. */ @Override protected void doStart() { try { final ClojureScriptModel scriptModel = _implModel.getScriptModel(); _var = scriptModel != null ? (Var) clojure.lang.Compiler.load(new StringReader(scriptModel.getScript())) : (Var) clojure.lang.Compiler.load(loadInputStream(_implModel.getScriptFile())); } catch (final Exception e) { throw new SwitchYardException(e); } }
Var.pushThreadBindings(mappings); returnValue = Compiler.load(new StringReader(script)); } catch (final Exception e) { exception = e;
threadBindingPushed = true; returnValue = Compiler.load(new StringReader(script));
@Override public Object eval(Reader reader, ScriptContext context) throws ScriptException { try { // Get engine bindings and send them to Clojure Bindings engineBindings = context.getBindings(ScriptContext.ENGINE_SCOPE); engineBindings.entrySet().forEach((entry) -> Var.intern(Namespace.findOrCreate(NAMESPACE_SYMBOL), Symbol.create(entry.getKey().intern()), entry.getValue(), true)); Var.pushThreadBindings( RT.map(RT.CURRENT_NS, RT.CURRENT_NS.deref(), RT.IN, new LineNumberingPushbackReader(context.getReader()), RT.OUT, context.getWriter(), RT.ERR, context.getErrorWriter())); Object result = Compiler.load(reader); return result; } catch (Exception e) { throw new ScriptException(e); } finally { Namespace.remove(NAMESPACE_SYMBOL); } }
public Model read(final Reader input, final Map<String, ?> options) throws IOException { assert input != null; try { String location = PolyglotModelUtil.getLocation(options); final Var USE = Var.intern(RT.CLOJURE_NS, Symbol.create("use")); final Symbol READER = Symbol.create("org.sonatype.maven.polyglot.clojure.dsl.reader"); final Symbol LEININGEN = Symbol.create("org.sonatype.maven.polyglot.clojure.dsl.leiningen"); USE.invoke(READER); USE.invoke(LEININGEN); clojure.lang.Compiler.load(input, location, location); final Var MODEL = Var.intern(Namespace.findOrCreate(READER), Symbol.create("*MODEL*")); return (Model) ((Atom) MODEL.get()).deref(); } catch (Exception e) { // Don't use new IOException(e) because it doesn't exist in Java 5 throw (IOException) new IOException(e.toString()).initCause(e); } } }