Как заставить sbt-idea работать в проекте scala-2.10?
У меня было много проблем с тем, чтобы заставить sbt-идею работать в моем проекте Scala 2.10.
Я пробовал компилировать sbt-idea
из его git-репо, убедившись, что установить
scalaVersion := "2.10.0-RC5"
в build/Build.scala
и используя publish-local
Команда для компиляции в Git. Но я все же продолжаю получать
[error] sbt.IncompatiblePluginsException: Binary incompatibility in plugins detected.
когда я затем использую это в моей опубликованной версии, скажем, просто добавив
addSbtPlugin("com.github.mpeltonen" % "sbt-idea" % "1.3.0-SNAPSHOT")
к project/plugins.sbt
файл.
2 ответа
Не думайте, что вам нужно собрать SBT для Scala 2.10. Я храню свои генераторы проектов gen-idea и eclipse в глобальном файле build.sbt, и он работает для всех моих проектов (или так кажется;-)
Я использую Ubuntu, поэтому файлы конфигурации SBT, сохраненные на вашем компьютере, могут отличаться.
Создайте папку с именем plugins
в скрытом каталоге sbt. В Linux это находится по адресу ~/.sbt
(где тильда - это псевдоним вашего домашнего каталога). Так что теперь вы должны иметь ~/.sbt/plugins
Затем создайте файл с именем build.sbt
под этим каталогом и добавьте следующее:
resolvers += "Sonatype snapshots" at "http://oss.sonatype.org/content/repositories/snapshots/"
resolvers += "Sonatype releases" at "https://oss.sonatype.org/content/repositories/releases/"
addSbtPlugin("com.typesafe.sbteclipse" % "sbteclipse-plugin" % "2.1.0")
addSbtPlugin("com.github.mpeltonen" % "sbt-idea" % "1.2.0-SNAPSHOT")
Чтобы проверить, я только что сгенерировал проект scala 2.10 с ним, и это кажется нормальным.
О, файл выше также добавляет поддержку eclipse
Команда в SBT, если вы хотите создавать проекты Scala-IDE.
Я смог использовать более старую версию gen-idea
добавив следующее в project/plugins.sbt
в самом проекте:
import sbt._
import Defaults._
libraryDependencies += sbtPluginExtra(
m = "com.github.mpeltonen" % "sbt-idea" % "1.2.0", // Plugin module name and version
sbtV = "0.12", // SBT version
scalaV = "2.9.2" // Scala version compiled the plugin
)