带有新sbt 0.13多项目定义的连字子项目名称

0__*_*0__ 9 scala sbt

我正在尝试使用新的sbt 0.13()设置一个多项目build.sbt.这个lazy val名字决定子项目名称的想法对我来说听起来很奇怪.此外,我没有得到连字符,但最终得到了骆驼案:

lazy val myprojectCore = project
Run Code Online (Sandbox Code Playgroud)

当我列出时> projects,我明白了myprojectCore.我该myproject-core怎么做?


另外,name现在关键的目的和关系是什么?

Eug*_*ota 5

我猜测推荐的方法是使用camel case来统一Scala标识符.

我没有关于偏好的确凿证据,但从project左侧获取变量名称的事实以及设置键也在shell中使用驼峰的事实让我这么认为.sbt,Maven和scala项目之间的关系相当复杂.尽管做了多次sbt构建的努力,scala/scala项目总是使用Ant来构建.在任何情况下,Maven工件都应该是连字符,为此您可以使用name密钥.

我可以写:

val scalaxbPlugin = project.in(file("sbt-scalaxb")).
  settings(commonSettings: _*).
  settings(
    sbtPlugin := true,
    name := "sbt-scalaxb",
    description := """sbt plugin to run scalaxb"""
  ).
  dependsOn(app)
Run Code Online (Sandbox Code Playgroud)

这是我以前的所作所为:

val scalaxbPlugin = Project("sbt-scalaxb", file("sbt-scalaxb")).
  settings(commonSettings: _*).
  settings(
    sbtPlugin := true,
    description := """sbt plugin to run scalaxb"""
  ).
  dependsOn(app)
Run Code Online (Sandbox Code Playgroud)


mmz*_*yad 3

如果有人现在正在寻找这个,通过 sbt1.x系列,我们可以执行以下操作。

lazy val myprojectCore = project.withId("myproject-core")
Run Code Online (Sandbox Code Playgroud)