代码之家  ›  专栏  ›  技术社区  ›  Knows Not Much

为我的SBT自动插件项目设置交叉编译

  •  -1
  • Knows Not Much  · 技术社区  · 7 年前

    我正在写一个SBT自动插件。这是我的身材。sbt文件

    lazy val foo = (project in file(".")).settings(
       name := "foo",
       sbtPlugin := true,
       organization := "com.foo",
       crossScalaVersions = Seq("2.11.8", "2.12.4")
    )
    

    但我发现了错误

    overloaded method value settings with alternatives:
      (ss: sbt.Def.SettingsDefinition*)sbt.Project <and>
      => Seq[sbt.Def.Setting[_]]
     cannot be applied to (sbt.Def.Setting[String], sbt.Def.Setting[Boolean], sbt.Def.Setting[String], crossScalaVersions: Seq[String])
    lazy val foo = (project in file(".")).settings(
                                                             ^
    [error] sbt.compiler.EvalException: Type error in expression
    [error] sbt.compiler.EvalException: Type error in expression
    [error] Use 'last' for the full log.
    Project loading failed: (r)etry, (q)uit, (l)ast, or (i
    

    我的目标是 sbt publish 我发布了两个jar文件。一个用于scala 2.11,另一个用于scala 2.12

    1 回复  |  直到 7 年前
        1
  •  4
  •   Learner    7 年前

    你必须像 crossScalaVersions := Seq("2.11.8", "2.12.4") 而不是 crossScalaVersions = Seq("2.11.8", "2.12.4")

    你可以在这里看到更多 Cross-Building a Project