sbt:发布生成的源

0__*_*0__ 6 scala sbt

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

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

0__*_*0__ 10

所以,为了完成,这是我的解决方案基于@ 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) }
}
Run Code Online (Sandbox Code Playgroud)


pfn*_*pfn 5

mappings in (Compile,packageSrc) := (managedSources in Compile).value map (s => (s,s.getName)),
Run Code Online (Sandbox Code Playgroud)