Sbt-idea 1.2.0 не разрешен для SBT 0.12.0 и Scala 2.10.0?

Я создаю новый проект SBT, и вот содержание моих файлов SBT:

build.properties

sbt.version=0.12.0

plugins.sbt

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

build.sbt

name := "peroo"

version := "0.1-SNAPSHOT"

scalaVersion := "2.10.0"

resolvers ++= Seq(
  Classpaths.typesafeResolver,
  "Sonatype snapshots" at "http://oss.sonatype.org/content/repositories/snapshots/",
  "Sonatype releases"  at "https://oss.sonatype.org/content/repositories/releases/"
)

libraryDependencies ++= Seq(
  compilerPlugin("org.scala-lang.plugins" % "continuations" % "2.10.0"),
  "com.google.guava" % "guava" % "13.0"
)

scalacOptions ++= Seq("-P:continuations:enable", "-deprecation", "-unchecked", "-feature")

autoCompilerPlugins := true

Вот ошибка, которую я получаю, когда пытаюсь запустить sbt в корне каталога проекта:

➜  peroo  sbt 
[info] Loading project definition from /Users/rahulphulore/projects/rahul/peroo/project
[info] Updating {file:/Users/rahulphulore/projects/rahul/peroo/project/}default-941135...
[info] Resolving com.google.guava#guava;13.0 ...
[info] Resolving com.github.mpeltonen#sbt-idea;1.2.0 ...
[warn]  module not found: com.github.mpeltonen#sbt-idea;1.2.0
[warn] ==== typesafe-ivy-releases: tried
[warn]   http://repo.typesafe.com/typesafe/ivy-releases/com.github.mpeltonen/sbt-idea/scala_2.10/sbt_0.12/1.2.0/ivys/ivy.xml
[warn] ==== sbt-plugin-releases: tried
[warn]   http://scalasbt.artifactoryonline.com/scalasbt/sbt-plugin-releases/com.github.mpeltonen/sbt-idea/scala_2.10/sbt_0.12/1.2.0/ivys/ivy.xml
[warn] ==== local: tried
[warn]   /Users/rahulphulore/.ivy2/local/com.github.mpeltonen/sbt-idea/scala_2.10/sbt_0.12/1.2.0/ivys/ivy.xml
[warn] ==== typesafe-ivy-releases: tried
[warn]   http://repo.typesafe.com/typesafe/ivy-releases/com.github.mpeltonen/sbt-idea/scala_2.10/sbt_0.12/1.2.0/ivys/ivy.xml
[warn] ==== Sonatype snapshots: tried
[warn]   http://oss.sonatype.org/content/repositories/snapshots/com/github/mpeltonen/sbt-idea_2.10_0.12/1.2.0/sbt-idea-1.2.0.pom
[warn] ==== Sonatype releases: tried
[warn]   https://oss.sonatype.org/content/repositories/releases/com/github/mpeltonen/sbt-idea_2.10_0.12/1.2.0/sbt-idea-1.2.0.pom
[warn] ==== public: tried
[warn]   http://repo1.maven.org/maven2/com/github/mpeltonen/sbt-idea_2.10_0.12/1.2.0/sbt-idea-1.2.0.pom
[info] Resolving org.scala-sbt#sbt;0.12.0 ...
[info] Resolving org.scala-sbt#main;0.12.0 ...
[info] Resolving org.scala-sbt#actions;0.12.0 ...
[info] Resolving org.scala-sbt#classpath;0.12.0 ...
[info] Resolving org.scala-sbt#launcher-interface;0.12.0 ...
[info] Resolving org.scala-lang#scala-library;2.10.0 ...
[info] Resolving org.scala-sbt#interface;0.12.0 ...
[info] Resolving org.scala-sbt#io;0.12.0 ...
[info] Resolving org.scala-sbt#control;0.12.0 ...
[info] Resolving org.scala-lang#scala-compiler;2.10.0 ...
[info] Resolving org.scala-lang#scala-reflect;2.10.0 ...
[info] Resolving org.scala-sbt#completion;0.12.0 ...
[info] Resolving org.scala-sbt#collections;0.12.0 ...
[info] Resolving jline#jline;1.0 ...
[info] Resolving org.scala-sbt#api;0.12.0 ...
[info] Resolving org.scala-sbt#compiler-integration;0.12.0 ...
[info] Resolving org.scala-sbt#incremental-compiler;0.12.0 ...
[info] Resolving org.scala-sbt#logging;0.12.0 ...
[info] Resolving org.scala-sbt#process;0.12.0 ...
[info] Resolving org.scala-sbt#compile;0.12.0 ...
[info] Resolving org.scala-sbt#persist;0.12.0 ...
[info] Resolving org.scala-tools.sbinary#sbinary_2.9.0;0.4.0 ...
[info] Resolving org.scala-sbt#classfile;0.12.0 ...
[info] Resolving org.scala-sbt#compiler-ivy-integration;0.12.0 ...
[info] Resolving org.scala-sbt#ivy;0.12.0 ...
[info] Resolving org.apache.ivy#ivy;2.3.0-rc1 ...
[info] Resolving com.jcraft#jsch;0.1.46 ...
[info] Resolving commons-httpclient#commons-httpclient;3.1 ...
[info] Resolving commons-logging#commons-logging;1.0.4 ...
[info] Resolving commons-codec#commons-codec;1.2 ...
[info] Resolving org.scala-sbt#run;0.12.0 ...
[info] Resolving org.scala-sbt#task-system;0.12.0 ...
[info] Resolving org.scala-sbt#tasks;0.12.0 ...
[info] Resolving org.scala-sbt#tracking;0.12.0 ...
[info] Resolving org.scala-sbt#cache;0.12.0 ...
[info] Resolving org.scala-sbt#testing;0.12.0 ...
[info] Resolving org.scala-sbt#test-agent;0.12.0 ...
[info] Resolving org.scala-tools.testing#test-interface;0.5 ...
[info] Resolving org.scala-sbt#command;0.12.0 ...
[info] Resolving org.scala-sbt#compiler-interface;0.12.0 ...
[info] Resolving org.scala-sbt#precompiled-2_8_2;0.12.0 ...
[info] Resolving org.scala-sbt#precompiled-2_10_0-m4;0.12.0 ...
[info] Resolving org.scala-lang.plugins#continuations;2.10.0 ...
[warn]  ::::::::::::::::::::::::::::::::::::::::::::::
[warn]  ::          UNRESOLVED DEPENDENCIES         ::
[warn]  ::::::::::::::::::::::::::::::::::::::::::::::
[warn]  :: com.github.mpeltonen#sbt-idea;1.2.0: not found
[warn]  ::::::::::::::::::::::::::::::::::::::::::::::
[warn] 
[warn]  Note: Some unresolved dependencies have extra attributes.  Check that these dependencies exist with the requested attributes.
[warn]      com.github.mpeltonen:sbt-idea:1.2.0 (sbtVersion=0.12, scalaVersion=2.10)
[warn] 
sbt.ResolveException: unresolved dependency: com.github.mpeltonen#sbt-idea;1.2.0: not found
    at sbt.IvyActions$.sbt$IvyActions$$resolve(IvyActions.scala:211)
    at sbt.IvyActions$$anonfun$update$1.apply(IvyActions.scala:122)
    at sbt.IvyActions$$anonfun$update$1.apply(IvyActions.scala:121)
    at sbt.IvySbt$Module$$anonfun$withModule$1.apply(Ivy.scala:114)
    at sbt.IvySbt$Module$$anonfun$withModule$1.apply(Ivy.scala:114)
    at sbt.IvySbt$$anonfun$withIvy$1.apply(Ivy.scala:102)
    at sbt.IvySbt.liftedTree1$1(Ivy.scala:49)
    at sbt.IvySbt.action$1(Ivy.scala:49)
    at sbt.IvySbt$$anon$3.call(Ivy.scala:58)
    at xsbt.boot.Locks$GlobalLock.withChannel$1(Locks.scala:75)
    at xsbt.boot.Locks$GlobalLock.withChannelRetries$1(Locks.scala:58)
    at xsbt.boot.Locks$GlobalLock$$anonfun$withFileLock$1.apply(Locks.scala:79)
    at xsbt.boot.Using$.withResource(Using.scala:11)
    at xsbt.boot.Using$.apply(Using.scala:10)
    at xsbt.boot.Locks$GlobalLock.liftedTree1$1(Locks.scala:51)
    at xsbt.boot.Locks$GlobalLock.withLock(Locks.scala:51)
    at xsbt.boot.Locks$.apply0(Locks.scala:30)
    at xsbt.boot.Locks$.apply(Locks.scala:27)
    at sbt.IvySbt.withDefaultLogger(Ivy.scala:58)
    at sbt.IvySbt.withIvy(Ivy.scala:99)
    at sbt.IvySbt.withIvy(Ivy.scala:95)
    at sbt.IvySbt$Module.withModule(Ivy.scala:114)
    at sbt.IvyActions$.update(IvyActions.scala:121)
    at sbt.Classpaths$$anonfun$work$1$1.apply(Defaults.scala:949)
    at sbt.Classpaths$$anonfun$work$1$1.apply(Defaults.scala:947)
    at sbt.Classpaths$$anonfun$doWork$1$1$$anonfun$54.apply(Defaults.scala:970)
    at sbt.Classpaths$$anonfun$doWork$1$1$$anonfun$54.apply(Defaults.scala:968)
    at sbt.Tracked$$anonfun$lastOutput$1.apply(Tracked.scala:35)
    at sbt.Classpaths$$anonfun$doWork$1$1.apply(Defaults.scala:972)
    at sbt.Classpaths$$anonfun$doWork$1$1.apply(Defaults.scala:967)
    at sbt.Tracked$$anonfun$inputChanged$1.apply(Tracked.scala:45)
    at sbt.Classpaths$.cachedUpdate(Defaults.scala:975)
    at sbt.Classpaths$$anonfun$45.apply(Defaults.scala:855)
    at sbt.Classpaths$$anonfun$45.apply(Defaults.scala:852)
    at sbt.Scoped$$anonfun$hf10$1.apply(Structure.scala:586)
    at sbt.Scoped$$anonfun$hf10$1.apply(Structure.scala:586)
    at scala.Function1$$anonfun$compose$1.apply(Function1.scala:49)
    at sbt.Scoped$Reduced$$anonfun$combine$1$$anonfun$apply$12.apply(Structure.scala:311)
    at sbt.Scoped$Reduced$$anonfun$combine$1$$anonfun$apply$12.apply(Structure.scala:311)
    at sbt.$tilde$greater$$anonfun$$u2219$1.apply(TypeFunctions.scala:40)
    at sbt.std.Transform$$anon$5.work(System.scala:71)
    at sbt.Execute$$anonfun$submit$1$$anonfun$apply$1.apply(Execute.scala:232)
    at sbt.Execute$$anonfun$submit$1$$anonfun$apply$1.apply(Execute.scala:232)
    at sbt.ErrorHandling$.wideConvert(ErrorHandling.scala:18)
    at sbt.Execute.work(Execute.scala:238)
    at sbt.Execute$$anonfun$submit$1.apply(Execute.scala:232)
    at sbt.Execute$$anonfun$submit$1.apply(Execute.scala:232)
    at sbt.ConcurrentRestrictions$$anon$4$$anonfun$1.apply(ConcurrentRestrictions.scala:159)
    at sbt.CompletionService$$anon$2.call(CompletionService.scala:30)
    at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:334)
    at java.util.concurrent.FutureTask.run(FutureTask.java:166)
    at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:471)
    at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:334)
    at java.util.concurrent.FutureTask.run(FutureTask.java:166)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1110)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:603)
    at java.lang.Thread.run(Thread.java:722)
[error] (*:update) sbt.ResolveException: unresolved dependency: com.github.mpeltonen#sbt-idea;1.2.0: not found
Project loading failed: (r)etry, (q)uit, (l)ast, or (i)gnore? q
➜  peroo  

В чем может быть проблема?

Edit:

Вот как выглядит структура моего проекта:

enter image description here

Ответы

Ответ 1

Я добавил его на Mac Mountain Lion в ~/.sbt/plugins/plugins.sbt. Он работает, и зависимости больше не терпят неудачу. Я думаю, вам нужно будет использовать его вне версии scala и добавить s cala-reflect.jar к вашему пути вручную внутри среды IDE, чтобы заставить это работать.

Ответ 2

Ваш файл plugins.sbt должен быть глобальным, как показано в примере @alex23, или в подкаталоге проекта project/. Таким образом, это относится к SBT, а не к вашему собственному коду, который, по-видимому, не нуждается в этом.

Ответ 3

В соответствии с проект выпускает страницу, самая последняя версия sbt-idea - это 1.5.1, которая была выпущена для sbt 0.11, 0.12 и 0.13.

Однако существует более новая версия плагина, доступная в http://repo1.maven.org/maven2/com/github/mpeltonen/ - 1.5.2.

Вы можете использовать плагин со следующей строкой в ​​ project/sbt-idea.sbt:

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

Там гораздо более простой и медленный подход, чтобы указать правильный номер версии - используйте latest.integration для части версии.

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

Выдержка из latest.integration производительности документация Ivy:

Обратите внимание, что для того, чтобы найти последнюю версию с соответствующим статусом, Ivy должен анализировать все файлы плюща в вашем репозитории с последнего, пока не найдет такую ​​ревизию. Поэтому не удивляйтесь, если разрешение замедляется.

Обратите внимание, что как IntelliJ IDEA, так и sbt улучшились с тех пор, как вы задали этот вопрос, и там меньше потребности в плагине в настоящее время, чем в IDEA Новая версия Scala поставляется со встроенной поддержкой SBT, с завершением кода и зависимостями импорта.

Ответ 4

Я испытал, по-видимому, ту же проблему, но с более новой версией (1.5.X), которую я "исправил", просто понизив до версии 1.4.0 плагина gen-idea.

cat ~/.sbt/plugins/build.sbt
addSbtPlugin("com.github.mpeltonen" % "sbt-idea" % "1.4.0")