версия sbt и версия scala. конфигурация проекта для intellij idea с плагином sbt-idea

Я следую этим шагам, чтобы настроить проект для идеи IntelliJ.

addSbtPlugin("com.github.mpeltonen" % "sbt-idea" % "1.2.0")

Я использую sbt-idea для sbt версии 0.12 с фиксированным ошибка для идеи.

Когда я набираю sbt в каталоге своего проекта, я заметил, что он использует scala 2.9.2.. но я собираюсь использовать scala 2.10.1 для своего проекта.

Вопросы:

Имеет ли смысл, какую версию scala использовать для компиляции плагина(ов) (~/.sbt/plugins), или я должен использовать одну/одну версию scala для всего? Могу ли я изменить версию scala для плагинов?

Итак, я создал ~/.sbt/plugin/build.sbt файл с указанным содержимым.


person ses    schedule 01.04.2013    source источник


Ответы (2)


эта версия устарела, это зависит от sbt-idea 1.2.0-SNAPSHOT. Последняя на момент написания 1.3.0

См. мой проект skeleton для реализации с использованием последних версий плагинов проекта scala, scalatest и SBT для IDE.

person fracca    schedule 04.04.2013

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

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

  2. а по поводу sbt-idea и ~/sbt/plugins.. это могла любая scala версия - в зависимости от своего build.sbt файла, например в моем случае:

разрешители += «Снимки 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. И это хорошо!

Вот ответ, который я хотел получить. Человек получает/понимает это, попробовав.

person ses    schedule 01.04.2013