#scala #playframework #sbt #playframework-2.3
#scala #playframework #sbt #playframework-2.3
Вопрос:
У меня есть проект воспроизведения Scala, и в настоящее время я показываю текущую версию приложения в некотором месте в моем основном шаблоне. Версию, которую я могу легко определить в conf/messages
файле. Однако, поскольку у меня есть автоматическая сборка для создания релизов, итерации выпуска будут обновлять build.sbt
, увеличивая версию в соответствии с выпуском, например version := "1.0.6-SNAPSHOT"
Я мог бы использовать ту же механику во время выпуска, чтобы также обновить свой conf/messages
файл, но вместо этого я бы предпочел, чтобы мой conf/messages
файл включал информацию о версии build.sbt
, например, от alla application.version=${sbt.application.version}
.
Как я могу это сделать? возможно ли это вообще?
ОБНОВЛЕНИЕ: стоит отметить, что в Maven эти параметры сборки становятся системными свойствами Java и могут быть легко использованы.
Ответ №1:
Вы можете использовать sbt-buildinfo
плагин для создания исходного кода Scala на основе build.sbt
.
Плагин генерирует BuildInfo
объект, который содержит информацию, которую вы затем можете использовать для отображения версии приложения.
В противном случае я не думаю, что вы сможете получить доступ к информации sbt из своей конфигурации.
Ответ №2:
Для достижения этой цели вы можете использовать плагин xsbt-filter. В основном он работает как механизм фильтрации ресурсов Maven и по умолчанию предоставляет имя проекта, версию и т. Д. Вы можете дополнительно настроить его для предоставления других свойств.