SBT Cannot Add Seq [Object] to Seq [ModuleID]

SBT continues to crash with incorrect upload errors. I use the exact format of the assembly files, which I have seen many times.

build.sbt:

lazy val backend = (project in file("backend")).settings(
name := "backend",
libraryDependencies ++= (Dependencies.backend)
).dependsOn(api).aggregate(api)

dependencies.scala:

import sbt._

object Dependencies {

lazy val backend = common ++ metrics

val common = Seq(
"com.typesafe.akka" %% "akka-actor" % Version.akka,
"com.typesafe.akka" %% "akka-cluster" % Version.akka,
"org.scalanlp.breeze" %% "breeze" % Version.breeze,
"com.typesafe.akka" %% "akka-contrib" % Version.akka,
"org.scalanlp.breeze-natives" % Version.breeze,
"com.google.guava" % "guava" % "17.0"
)

val metrics = Seq("org.fusesource" % "sigar" % "1.6.4")

Im not really why SBT complains

error: No implicit for Append.Values[Seq[sbt.ModuleID], Seq[Object]] found,
so Seq[Object] cannot be appended to Seq[sbt.ModuleID]
libraryDependencies ++= (Dependencies.backend)
                    ^
+5
source share
2 answers

Short version (TL; DR)

There commonis an error: you want to replace this line

"org.scalanlp.breeze-natives" % Version.breeze,

with this line

"org.scalanlp" %% "breeze-natives" % Version.beeze,

Long version

  • "org.scalanlp.breeze-natives" % Version.breeze- this is GroupArtifactIDnot a ModuleID.

  • It commonbecomes Seq[Object]instead Seq[ModuleID].

  • And therefore also Dependencies.backendwill beSeq[Object]

  • It cannot ultimately be added (via ++=) to libraryDependencies(defined as SettingKey[Seq[ModuleID]]) because there are no available Append.Values[Seq[sbt.ModuleID], Seq[Object]].

+12

common metrics Seq[sbt.ModuleID]. , :

val common: Seq[sbt.ModuleID] = ...
val metrics: Seq[sbt.ModuleID] = ...

common, %:

"org.scalanlp.breeze-natives" % Version.breeze
+1

All Articles