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
Is that from an external hard drive?
No, its my SSD. Its internal. However the directory containing the idea project is soft linked to the SSD (on lunix).
does it work when you don't have soft links in your project?
The problem with links is fixed in the latest plugin builds.
step #2 is not required if you use plugin >= 0.7.49
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)
The first process in the list is external compiler with zinc
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.
Probably you are using "compile independent modules in parallel" option?
Best regards,
Alexander Podkhalyuzin.
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/