Scala REPL in Gradle

8

Momentan bietet die Scala-Integration von Gradle keine REPL-Funktionalität. Wie führt man eine Scala REPL von Gradle ergonomisch mit dem entsprechenden Klassenpfad aus?

    
Dominykas Mostauskis 25.02.2016, 15:51
quelle

1 Antwort

10

Minimal build.gradle :

%Vor%

Diese Antwort finden Sie in , um zu erklären, wie man stdin mit standardInput leitet und REPL den richtigen Klassenpfad mit Argumenten verwendet.

Beachten Sie, dass die scala-compiler -Bibliothek eine Abhängigkeit ist. Dort wird scala.tools.nsc.MainGenericRunner gefunden.

Von der Konsole aus sind eine Reihe von Optionen erforderlich, um die REPL auszuführen:

  • --no-daemon , wenn Sie einen Gradle-Daemon verwenden. Im Moment reagiert die REPL nicht auf Tastenanschläge, wenn sie vom Daemon ausgeführt wird.

  • --console plain . Eine beliebte, aber minderwertige Alternative ist --quiet . Wenn sie ohne eine dieser Optionen ausgeführt wird, ist die Eingabeaufforderung von REPL durch den Fortschrittsbericht von Gradle kontaminiert. --console plain hat den Vorteil, dass auch das Verhalten von readline so angepasst wird, dass rlwrap nicht benötigt wird.

Der vollständige Befehl zum Ausführen der REPL ist gradle repl --console plain --no-daemon , daher ist es sinnvoll, einen Alias ​​in Ihrer Shell zu erstellen.

    
Dominykas Mostauskis 25.02.2016, 16:06
quelle