Вопрос

В настоящее время я использую механизм сборки IDEA с FSC для развития с Scala. Это все еще немного медленно, и необходимо (повторно) запуск сервера компиляции - это боль. Многие люди здесь предлагают SBT как инструмент сборки вместе с идеей.

Что вы считаете плюсами и минусами каждого подхода?

Это было полезно?

Решение

Я попробовал оба, и, в конце концов, я предпочитаю прямой SBT для компиляции.

Минусы? Я действительно скучаю по возможности нажимать на ошибки компиляции и исправить код напрямую, но ... компиляция в SBT намного быстрее.

Ночные сборки идеи плагин Scala может варьироваться по качеству/производительности, но в последнее время она становится все лучше и лучше. Плагин Scala теперь может пометить ряд ошибок, которые мне пришлось бы запустить компиляцию, чтобы поймать. (Например, я бегаю по ночной сборке 0.4.693, и новые инспекции метода уже были полезны.)

Мой совет по жизни с SBT в командной строке: запустите SBT и оставьте его в интерактивном порядке, как можно дольше, чтобы воспользоваться всем, что загружается и Jit-Ed.

В конце концов, оставленная SBT, в конце концов упадет, но, предоставив ему больше памяти в вашей обертке SBT, вы можете сделать это только редко.

Вот обертка SBT запуска, которая работает для меня.

java -Xms512M -Xmx1500M -XX:MaxPermSize=512m -jar `dirname $0`/sbt-launch.jar "$@"

Моя самая большая проблема с SBT 0.7 заключается в том, что он часто возвращается и перекомпилирует отличные полосы файлов, которые кажутся только тангенциальными для кода, который я фактически менял. (Даже в этом, все еще быстрее, чем идея и FSC!)

Хорошие новости: SBT 0.9 имеет отличные дополнительные улучшения компиляции. К сожалению, путь миграции с 0,7 до 0,9 все еще в первые годы. Презентация Марка Харра в Нескале онлайн на http://www.nescala.org/2011/ если вы заинтересованы.

Полезные плагины

  • http://github.com/mpeltonen/sbt-idea - Легко создавать и сохранить свой проект идеи синхронизировать с вашим проектом SBT
  • http://github.com/orfjackal/idea-sbt-plugin - Позволяет создавать профили Run для SBT изнутри Idea (я нашел это медленнее, чем запуск SBT в командной строке в октябре прошлого года - но я вижу, что Орфджекл все еще развивается, поэтому я должен сделать еще один выстрел)
Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top