Подтвердить что ты не робот

Как играть! Команда dist dist добавляет некоторые файлы/папки в окончательный пакет?

Я хотел играть! framework dist, чтобы добавить некоторые папки и файлы в последний файл zip. Они необходимы для работы приложения.

Есть ли волшебная конфигурация project/Build.scala, чтобы сделать это возможным? Я не мог найти его в Play! documentation.

4b9b3361

Ответ 1

Play использует sbt-native-packager, который поддерживает включение произвольных файлов, добавляя их к сопоставлениям:

mappings in Universal ++=
  (baseDirectory.value / "scripts" * "*" get) map
    (x => x -> ("scripts/" + x.getName))

Синтаксис предполагает воспроизведение 2.2.x.

Ответ 2

Приложение My Play не включало файлы шаблонов (в приложении /views/ ) в дистрибутиве, и я добавил их с этим в Build.scala:

val main = play.Project(appName, appVersion, appDependencies).settings(
  // Add your own project settings here   
  playAssetsDirectories <+= baseDirectory / "app/views"
)

Ответ 3

Изучая исходный код dist , я думаю, что это невозможно.

Но вы можете использовать команду play clean compile stage для упаковки приложения и его зависимостей (из doc):

Это очищает и компилирует ваше приложение, извлекает требуемое зависимостей и копирует их в целевой/поставленный каталог. Это также создает цель /start script, которая запускает сервер воспроизведения.

Затем вам придется написать свой собственный script, чтобы добавить ваши каталоги и создать zip.

Ответ 4

Не уверен, с какой Play Play это поддерживается, но Играть! 2.5, вы можете добавить любые произвольные файлы, которые вы хотите упаковать, в папку "dist" (в корне проекта). Я использую собственный пакет SBT для создания моего проекта в RPM, и эта работа прекрасно работает.

Ответ 5

Я могу поспорить, что я не буду вас удовлетворять, но, может быть, вы не потратите времени на поиски. Поскольку Nico указал на такую ​​возможность, самый быстрый способ, который вы можете использовать, - написать bash script (или *.bat файл), чтобы сделать это.

Я потратил час на поиск решения... и 15 минут на запись script, который распаковывает, изменяет, зашифровывает и отправляет файл в удаленный пункт назначения, поэтому подумайте, не будет ли он лучше для вас.