我有一个项目,其中部分源生成(sourceGenerators in Compile
)。我注意到(在大多数情况下合理地)这些来源不会与publishLocal
或publishSigned
一起发布。在这种情况下,这是不幸的,因为当您使用此项目/库作为依赖项时,即使已下载项目的其他源,也无法查找源代码,例如在IntelliJ中。
我是否可以配置sbt的发布设置以在Maven -sources.jar
中包含生成的来源?
答案 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)),