Search code examples
scalasbtsubproject

How to "seq" plugin settings in a multi-project sbt build


I am converting a single-project build.sbt to a multi-project build.sbt, which is always a PITA. There is this obscure syntax to make plugin settings available. E.g. before

seq(appbundle.settings: _*)

How do I do this with sub-projects. E.g.

lazy val views = Project(
  id        = "views",
  base      = file("views"),
  dependencies = Seq(core),
  settings  = commonSettings ++ Seq(
    seq(appbundle.settings: _*),    // ???
    name        := "views",
    description := ...
  )
)

This just gives me an error

 found   : Seq[sbt.Def.SettingsDefinition]
 required: Seq[sbt.Def.Setting[_]]
  settings  = commonSettings ++ Seq(
                             ^

Solution

  • Add them using ++ to the overall settings

    lazy val views = Project(
      id        = "views",
      base      = file("views"),
      dependencies = Seq(core),
      settings  = commonSettings ++ appbundle.settings ++ Seq(
        name        := "views",
        description := ...
      )
    )