2011-06-29 7 views
9

Używam sbt 0.10.W jaki sposób można dołączyć opcję kompilatora Scala do opcji scalacOptions w sbt?

Mam następujące ustawienia w .sbt pliku:

scalacOptions += "-usejavacp" 

Problem polega na tym, że gdy kompilator Scala zostanie wykonany i scalacOptions jest ustawiona:

[debug] Calling Scala compiler with arguments (CompilerInterface): 
[debug]   -usejavacp 
[debug]   -d 
[debug]   D:\project\target\scala-2.8.1.final\classes 
[debug]   -bootclasspath 
... 

parametr -usejavacp pojawia się przed rzeczywistą Słoiki Scala powodujące ten błąd:

scala.collection.mutable.ListBuffer does not take type parameters 

Czy istnieje sposób, w jaki parametr jest dołączany i nie jest poprzedzany? Próbowałem także ++= Array("-usejavacp"), ale wynik jest taki sam.

Odpowiedz

7

Jeśli spojrzeć here, zobaczysz następujący komentarz:

key += value is equivalent to key ~= (_ :+ value) or key <<= key(_ :+ value)

Który, co ciekawe, wydaje się sprzeczne kolejność widzisz. Myślę, że warto otworzyć problem, a tymczasem możesz grać z pełną składnią, aby zobaczyć, czy możesz osiągnąć to, czego potrzebujesz.

2

Aby bezpośrednio odpowiedzieć na pytanie, lista niestandardowych opcji skalowania, dostarczonych przez ustawienie scalacOptions, to prepended do opcji sterowania ścieżką klas, katalogiem wyjściowym i plikami źródłowymi.

Prawdopodobnie używasz -usejavacp do programowego używania kompilatora lub interpretera Scala. Istnieje wpis dla tego w SBT FAQ.

Powiązane problemy