public GroovyMod(File directory, String name) { Throwable ex = null; try { URL groovyURL = GroovyMod.class.getResource(""); GroovyScriptEngine scriptEngine = new GroovyScriptEngine(new URL[]{groovyURL, directory.toURI().toURL()}); CompilerConfiguration config = new CompilerConfiguration(); scriptEngine.setConfig(config); script = new GroovyRunner(directory, name, scriptEngine.getGroovyClassLoader()); } catch (Exception | AssertionError e) { ex = e; } this.exception = ex; }
public static GroovyScriptEngine createScriptEngine(File classpathFile, ClassLoader parent) { CompilerConfiguration cc = new CompilerConfiguration(CompilerConfiguration.DEFAULT); String classpath = classpathFile.getAbsolutePath(); cc.setClasspath(classpath); cc.setRecompileGroovySource(true); GroovyScriptEngine scriptEngine; try { scriptEngine = new GroovyScriptEngine(new URL[] { classpathFile.toURI().toURL() }, parent); } catch (IOException e) { throw new Error(e); } scriptEngine.setConfig(cc); scriptEngine.getGroovyClassLoader().setShouldRecompile(true); return scriptEngine; } }
public void resetGroovyScriptEngine() throws FileSystemException { CompilerConfiguration cc = new CompilerConfiguration(CompilerConfiguration.DEFAULT); try { String classpath = this.root.getName().getPath(); cc.setClasspath(classpath); } catch (Exception e) { logger.debug("Could not set classpath", e); } cc.setRecompileGroovySource(true); groovyScriptEngine = new GroovyScriptEngine(new URL[] { this.root.getURL() }, getClassLoader()); groovyScriptEngine.setConfig(cc); groovyScriptEngine.getGroovyClassLoader().setShouldRecompile(true); }