Версия 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 ответа

Решение

На самом деле я понял.

  1. если у вас есть проект с build.sbt (который использует 2.10.1 scala) файл - как только вы наберете sbt.. все зависимости будут загружены в ~/.sbt папка - там даже скачается компилятор scala (~/.sbt/boot). Это может быть даже несколько версий scala: 2.10.1 и 2.9.2, например.

  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.

Другие вопросы по тегам