I was able to configure External Build with scala plugin (v.0.7.41). Here are my steps:
1. Open Settings -> Compiler and select "Use external build". Close the dialog
2. Open Project Structure -> Global Libraries and create a library with scala-library.jar and scala-compiler.jar files. Right now scala plugin has these names hardcoded and will fail if you use different names.
3. Open Project Structure -> Facets and in every scala facet select the library created in step #2 as Compiler Library.
4. Stop FSC if you have it running. There is and icon in the status bar. Click and select Stop.
5. Build -> Make
Not for me. When I try to compile anything I get Unknown source file errors. eg:
: Error: Unknown source file: /mnt/ssd/si/vimana.dev/servers/si-infra/src/main/scala/com/mongodb/ErrorInterceptingDB.scala
java.lang.RuntimeException: Unknown source file: /mnt/ssd/si/vimana.dev/servers/si-infra/src/main/scala/com/mongodb/ErrorInterceptingDB.scala
I just run full rebuild several times on a project that consits of 28 modules. Production code is mostly java with several scala files. Tests written in scala and java.
cold 2 min 46 sec
warm 2 min 21 sec
warm 2 min 16 sec
cold 2 min 2 sec
warm 1 min 27 sec
warm 1 min 25 sec
Warm external builder with zinc is 50 sec faster than warm FSC on one of our projects.
1 min 25 sec (zinc) vs 2 min 16 sec (FSC)
Leda IU-123.95, plugin 0.7.61, java 6, scala 2.9.1, macosx 10.8.2
I did Build -> Rebuild Project several times. The first run is cold, 2nd and 3rd could be considered warm runs (VM should optimize/compile some compiler code already).
cold 1m 50 sec
warm 1m 7 sec
warm 1m 3 sec
cold 2 min 12 sec
warm 1 min 33 sec
warm 1 min 28 sec
warm 1 min 26 sec
Looks like on as single module project (only scala code) doing Rebuild is faster with FSC in IDEA.
No, I don't use "compile independent modules in parallel" option. It doesn't work in my case. When I open a project with ~ 20 java modules with tests written in scala IDEA fails to resolve dependencies between these modules correctly.
More info is here: http://blog.jetbrains.com/scala/2012/12/28/a-new-way-to-compile/