Версия sbt и версия scala. конфигурация проекта для интеллигентной идеи с плагином sbt-idea
Я следую за этими шагами, чтобы настроить проект для идеи IntelliJ.
addSbtPlugin("com.github.mpeltonen" % "sbt-idea" % "1.2.0")
Я использую sbt-idea для sbt версии 0.12 с исправленной ошибкой для Idea.
Когда я печатаю sbt
в каталоге моего проекта я заметил, что он использует scala 2.9.2.. но я собираюсь использовать scala 2.10.1 для своего проекта.
Вопросы:
Имеет ли смысл использовать версию Scala для плагинов (ей) (~/.sbt/plugins
) -компиляция, или я должен использовать одну / ту же версию Scala для всего? Могу ли я изменить версию Scala для плагинов?
Итак, я создал ~/.sbt/plugin/build.sbt
файл с указанным содержанием.
2 ответа
На самом деле я понял.
если у вас есть проект с
build.sbt
(который использует 2.10.1 scala) файл - как только вы наберетеsbt
.. все зависимости будут загружены в~/.sbt
папка - там даже скачается компилятор scala (~/.sbt/boot
). Это может быть даже несколько версий scala: 2.10.1 и 2.9.2, например.и о sbt-идее и
~/sbt/plugins
.. это может быть любой версии Scala - в зависимости от егоbuild.sbt
файл, например, в моем случае:
resolvers + = "Снимки Sonatype" на " http://oss.sonatype.org/content/repositories/snapshots/ "
addSbtPlugin("com.github.mpeltonen" % "sbt-idea" % "1.2.0-SNAPSHOT")
Я должен заметить, если попробовать другую версию.. как 1.1.0-M2-TYPESAFE, она не будет работать.. (по крайней мере, в моем случае) - gen-idea
команда недоступна. Я не знаю почему. Я думаю, что это должно.
Также если вы не указали resolvers +=
- это не сработает.. но не скажет вам об этом..
Этот плагин использует scala 2.9.2 - мы не можем увидеть его здесь, но мы можем увидеть его по выводам, которые он выдает при установке / загрузке. Вот почему мы имеем ~/.sbt/boot/scala-2.9.2/
в следствии.
В любом случае мы не должны заботиться об этом. Это обрабатывается sbt.
Когда вы преобразовали свой sbt-проект в свой проект intellij-idea, набрав gen-idea
в консоли sbt, в результате ваш проект IDE будет ссылаться на ~/.sbt/scala
но не к вашей где-то установленной scala.. Так что даже нет необходимости указывать местоположение scala - этот плагин sbt-idea sbt сделает всю работу. И это хорошо!
Это ответ, который я хотел получить. Каждый получает / понимает это, пробуя это.
Эта версия устарела, это зависит от sbt-idea 1.2.0-SNAPSHOT. Последний на момент написания статьи 1.3.0
См. Мой скелет проекта для реализации, использующей последние версии плагинов проектов scala, scalatest и SBT to IDE.