Файл сообщений Scala Play для встраивания или повторного использования версии в build.sbt.

У меня есть проект Scala Play, и в настоящее время я показываю текущую версию приложения в каком-то месте основного шаблона. Версию я могу легко определить в файле conf/messages. Однако, поскольку у меня есть автоматизированная сборка для создания выпусков, итерации выпуска будут обновлять build.sbt, увеличивая версию в соответствии с выпуском, например. version := "1.0.6-SNAPSHOT"

Я мог бы использовать ту же механику во время выпуска, чтобы обновить мой файл conf/messages, но вместо этого я бы предпочел, чтобы мой файл conf/messages включал информацию о версии из build.sbt, например. Алла application.version=${sbt.application.version}.

Как я могу это сделать? Это вообще возможно?

ОБНОВЛЕНИЕ: стоит отметить, что в Maven эти настройки сборки становятся системными свойствами Java и могут быть легко использованы.


person SkyWalker    schedule 25.06.2014    source источник


Ответы (2)


Вы можете использовать плагин sbt-buildinfo для создания исходного кода Scala на основе файла build.sbt.

Плагин создает объект BuildInfo, который содержит информацию, которую затем можно использовать для отображения версии приложения.

В противном случае я не думаю, что вы можете получить доступ к информации sbt из вашей конфигурации.

person lpiepiora    schedule 25.06.2014

Для этого можно использовать подключаемый модуль xsbt-filter. В основном он работает как механизм фильтрации ресурсов Maven и по умолчанию предоставляет имя проекта, версию и т. д. Вы можете дополнительно настроить его для отображения других свойств.

person Robby Cornelissen    schedule 25.06.2014