Как настроить процесс условной сборки в «sbt»Scala?

#scala #build #compilation #sbt

Вопрос:

Я хотел бы настроить процесс условной сборки в sbt Scala таким образом, чтобы я мог создавать две отдельные версии своего приложения, одна из которых предназначена для локального хоста (для целей тестирования), а другая-для удаленного хоста (для производственных целей).

То, что я предполагал, — это создание двух файлов конфигурации внутри /src/main/resources/ и копирование одного из них во время процесса компиляции /target/classes . Но как я могу сообщить sbt, какую версию я хотел бы скомпилировать, например, скажем compileLocal , для локальной версии и compileRemote для удаленной версии? А может быть, это даже не лучший подход, и Scala может предоставить что-то более идиоматичное?

Каков был бы наилучший способ выполнения нескольких типов сборки с использованием sbt Scala?

Комментарии:

1. Если вы используете конфигурацию Lightbend, вы можете создать оба файла конфигурации и использовать свойство JVM config.resource при локальном запуске, чтобы выбрать local.conf вместо значения по умолчанию application.conf (например -Dconfig.resource=local.conf )