У меня есть проект, который представляет собой API scala и scalatra. У меня есть два дистрибутива, которые я создаю с помощью sbt-native-packager -
- Установка RPM и DEB для локальных установок
- Установка героя для облачных установок
В настоящее время я использую зависимости provided
для объектов, которые мне нужно вручную управлять с помощью подхода RPM/DEB - библиотеки баз данных, которые я не могу связывать и распространять из-за ограничений лицензии.
"mysql" % "mysql-connector-java" % "5.1.30" % "provided",
"com.microsoft" % "sqlserver.jdbc" % "4.1" % "provided",
..etc..
Это отлично работает. Я использую универсальный плагин и задачу dist
, несколько массируемую, а затем подключаю некоторые скрипты сборки пакетов.
Теперь я создаю установку heroku, и я не знаю, как добавить обратно в эти предоставленные зависимости. Я использую универсальный плагин и запускаю задачу stage
. Однако, если зависимости отфильтровываются, и я бы хотел, чтобы они были включены при запуске stage
, потому что у меня больше нет ограничений на лицензии в heroku.
Параметры, которые, я думаю, у меня есть...
- Добавьте
mapping
, чтобы добавить обратно в предоставленные зависимости в рамках задачиstage
, но не во время задачиdist
- Drop предоставил область полностью и вручную исключает эти зависимости из процесса упаковки во время
dist
У меня есть некоторые сопоставления, подобные этому,
//add webapp dir to zip
mappings in Universal ++= directory("src/main/webapp")
//add db dir to zip, but move it into /lib/db instead of /db
mappings in Universal ++= (directory("src/main/resources/db").map{t =>
(t._1, "lib/"+t._2)
}
)
Таким образом, я чувствую, что, вероятно, могу выяснить, как добавить/исключить, если я действительно попытался, но у меня проблемы с поиском какой-либо документации для этого материала. Примеры здесь не очень помогают, или я недостаточно понимаю.
Спасибо заранее!