sbt:发布生成的源

时间:2015-11-17 14:58:27

标签: scala sbt

我有一个项目,其中部分源生成(sourceGenerators in Compile)。我注意到(在大多数情况下合理地)这些来源不会与publishLocalpublishSigned一起发布。在这种情况下,这是不幸的,因为当您使用此项目/库作为依赖项时,即使已下载项目的其他源,也无法查找源代码,例如在IntelliJ中。

我是否可以配置sbt的发布设置以在Maven -sources.jar中包含生成的来源?

2 个答案:

答案 0 :(得分:9)

所以,为了完整,这是我的解决方案基于@ pfn的答案:

mappings in (Compile, packageSrc) ++= {
  val base  = (sourceManaged  in Compile).value
  val files = (managedSources in Compile).value
  files.map { f => (f, f.relativeTo(base).get.getPath) }
}

答案 1 :(得分:4)

mappings in (Compile,packageSrc) := (managedSources in Compile).value map (s => (s,s.getName)),