Search in sources :

Example 1 with PathSetting

use of scala.tools.nsc.settings.MutableSettings.PathSetting in project zeppelin by apache.

the class IgniteInterpreter method open.

@Override
public void open() {
    Settings settings = new Settings();
    URL[] urls = getClassloaderUrls();
    // set classpath
    PathSetting pathSettings = settings.classpath();
    StringBuilder sb = new StringBuilder();
    for (File f : currentClassPath()) {
        if (sb.length() > 0) {
            sb.append(File.pathSeparator);
        }
        sb.append(f.getAbsolutePath());
    }
    if (urls != null) {
        for (URL u : urls) {
            if (sb.length() > 0) {
                sb.append(File.pathSeparator);
            }
            sb.append(u.getFile());
        }
    }
    pathSettings.v_$eq(sb.toString());
    settings.scala$tools$nsc$settings$ScalaSettings$_setter_$classpath_$eq(pathSettings);
    settings.explicitParentLoader_$eq(new Some<>(Thread.currentThread().getContextClassLoader()));
    BooleanSetting b = (BooleanSetting) settings.usejavacp();
    b.v_$eq(true);
    settings.scala$tools$nsc$settings$StandardScalaSettings$_setter_$usejavacp_$eq(b);
    out = new ByteArrayOutputStream();
    imain = new IMain(settings, new PrintWriter(out));
    initIgnite();
}
Also used : PathSetting(scala.tools.nsc.settings.MutableSettings.PathSetting) BooleanSetting(scala.tools.nsc.settings.MutableSettings.BooleanSetting) ByteArrayOutputStream(java.io.ByteArrayOutputStream) IMain(scala.tools.nsc.interpreter.IMain) File(java.io.File) Settings(scala.tools.nsc.Settings) URL(java.net.URL) PrintWriter(java.io.PrintWriter)

Example 2 with PathSetting

use of scala.tools.nsc.settings.MutableSettings.PathSetting in project zeppelin by apache.

the class DepInterpreter method createIMain.

private void createIMain() {
    Settings settings = new Settings();
    URL[] urls = getClassloaderUrls();
    // set classpath for scala compiler
    PathSetting pathSettings = settings.classpath();
    String classpath = "";
    List<File> paths = currentClassPath();
    for (File f : paths) {
        if (classpath.length() > 0) {
            classpath += File.pathSeparator;
        }
        classpath += f.getAbsolutePath();
    }
    if (urls != null) {
        for (URL u : urls) {
            if (classpath.length() > 0) {
                classpath += File.pathSeparator;
            }
            classpath += u.getFile();
        }
    }
    pathSettings.v_$eq(classpath);
    settings.scala$tools$nsc$settings$ScalaSettings$_setter_$classpath_$eq(pathSettings);
    // set classloader for scala compiler
    settings.explicitParentLoader_$eq(new Some<>(Thread.currentThread().getContextClassLoader()));
    BooleanSetting b = (BooleanSetting) settings.usejavacp();
    b.v_$eq(true);
    settings.scala$tools$nsc$settings$StandardScalaSettings$_setter_$usejavacp_$eq(b);
    interpreter = new SparkILoop((java.io.BufferedReader) null, new PrintWriter(out));
    interpreter.settings_$eq(settings);
    interpreter.createInterpreter();
    intp = Utils.invokeMethod(interpreter, "intp");
    if (Utils.isScala2_10()) {
        Utils.invokeMethod(intp, "setContextClassLoader");
        Utils.invokeMethod(intp, "initializeSynchronous");
    }
    depc = new SparkDependencyContext(getProperty("zeppelin.dep.localrepo"), getProperty("zeppelin.dep.additionalRemoteRepository"));
    if (Utils.isScala2_10()) {
        completer = Utils.instantiateClass("org.apache.spark.repl.SparkJLineCompletion", new Class[] { Utils.findClass("org.apache.spark.repl.SparkIMain") }, new Object[] { intp });
    }
    interpret("@transient var _binder = new java.util.HashMap[String, Object]()");
    Map<String, Object> binder;
    if (Utils.isScala2_10()) {
        binder = (Map<String, Object>) getValue("_binder");
    } else {
        binder = (Map<String, Object>) getLastObject();
    }
    binder.put("depc", depc);
    interpret("@transient val z = " + "_binder.get(\"depc\")" + ".asInstanceOf[org.apache.zeppelin.spark.dep.SparkDependencyContext]");
}
Also used : BooleanSetting(scala.tools.nsc.settings.MutableSettings.BooleanSetting) SparkILoop(org.apache.spark.repl.SparkILoop) SparkDependencyContext(org.apache.zeppelin.spark.dep.SparkDependencyContext) URL(java.net.URL) PathSetting(scala.tools.nsc.settings.MutableSettings.PathSetting) File(java.io.File) Settings(scala.tools.nsc.Settings) PrintWriter(java.io.PrintWriter)

Example 3 with PathSetting

use of scala.tools.nsc.settings.MutableSettings.PathSetting in project zeppelin by apache.

the class FlinkInterpreter method createSettings.

private Settings createSettings() {
    URL[] urls = getClassloaderUrls();
    Settings settings = new Settings();
    // set classpath
    PathSetting pathSettings = settings.classpath();
    String classpath = "";
    List<File> paths = currentClassPath();
    for (File f : paths) {
        if (classpath.length() > 0) {
            classpath += File.pathSeparator;
        }
        classpath += f.getAbsolutePath();
    }
    if (urls != null) {
        for (URL u : urls) {
            if (classpath.length() > 0) {
                classpath += File.pathSeparator;
            }
            classpath += u.getFile();
        }
    }
    pathSettings.v_$eq(classpath);
    settings.scala$tools$nsc$settings$ScalaSettings$_setter_$classpath_$eq(pathSettings);
    settings.explicitParentLoader_$eq(new Some<>(Thread.currentThread().getContextClassLoader()));
    BooleanSetting b = (BooleanSetting) settings.usejavacp();
    b.v_$eq(true);
    settings.scala$tools$nsc$settings$StandardScalaSettings$_setter_$usejavacp_$eq(b);
    // To prevent 'File name too long' error on some file system.
    MutableSettings.IntSetting numClassFileSetting = settings.maxClassfileName();
    numClassFileSetting.v_$eq(128);
    settings.scala$tools$nsc$settings$ScalaSettings$_setter_$maxClassfileName_$eq(numClassFileSetting);
    return settings;
}
Also used : PathSetting(scala.tools.nsc.settings.MutableSettings.PathSetting) MutableSettings(scala.tools.nsc.settings.MutableSettings) BooleanSetting(scala.tools.nsc.settings.MutableSettings.BooleanSetting) File(java.io.File) URL(java.net.URL) MutableSettings(scala.tools.nsc.settings.MutableSettings) Settings(scala.tools.nsc.Settings)

Aggregations

File (java.io.File)3 URL (java.net.URL)3 Settings (scala.tools.nsc.Settings)3 BooleanSetting (scala.tools.nsc.settings.MutableSettings.BooleanSetting)3 PathSetting (scala.tools.nsc.settings.MutableSettings.PathSetting)3 PrintWriter (java.io.PrintWriter)2 ByteArrayOutputStream (java.io.ByteArrayOutputStream)1 SparkILoop (org.apache.spark.repl.SparkILoop)1 SparkDependencyContext (org.apache.zeppelin.spark.dep.SparkDependencyContext)1 IMain (scala.tools.nsc.interpreter.IMain)1 MutableSettings (scala.tools.nsc.settings.MutableSettings)1