Я использую sbtassembly из https://github.com/sbt/sbt-assembly для упаковки своих проект.
Мне интересно, можно ли вообще исключить файлы ресурсов?
Я использую sbtassembly из https://github.com/sbt/sbt-assembly для упаковки своих проект.
Мне интересно, можно ли вообще исключить файлы ресурсов?
Вы можете указать файлы (и пути) для исключения, настроив mergeStrategy
: https://github.com/sbt/sbt-assembly#except-specific-files
Итак, для удаления определенного файла вы можете сделать что-то вроде этого:
// build.sbt
assemblyMergeStrategy in assembly := {
case PathList("about.html") => MergeStrategy.discard
case x =>
val oldStrategy = (assemblyMergeStrategy in assembly).value
oldStrategy(x)
}
Вот документация по всем доступным стратегиям: https://github.com/sbt/sbt-assembly#merge-strategy
Используя подход Дэни с sbt
0.13.13, файлы конфигурации все еще были включены в мою банку. Это сработало, хотя:
excludeFilter in Compile := "myconfig.conf",
В моем случае все файлы имеют одно и то же имя, myconfig.conf
, но существуют в древовидной структуре в src/main/resources/config. Я старался:
unmanagedResourceDirectories in Compile += { baseDirectory.value / "src/main/resources/config" },
Но он удалил каталоги из банки, оставив файлы.
Это задокументировано здесь: http://www.scala-sbt.org/0.13/docs/Howto-Customizing-Paths.html