Как добавить конфигурацию профиля среды для SBT

В Maven вы можете иметь профили, которые могут настраивать конфигурацию сборки для разных сред. Например, DEV, QA, UAT, PRODUCTION

Чтобы поддерживать непрерывную интеграцию, должен быть способ сообщить SBT, с какой средой работать.

как настроить для разных сред в SBT. Например, DEV, QA, UAT, ПРОИЗВОДСТВО?

благодаря

Вы можете сделать это, создав настраиваемую конфигурацию.

val ProfileDev = config("dev") extend(Runtime) val ProfileQA = config("qa") extend(Runtime) val root = (project in file(".")). configs(ProfileDev, ProfileQA). // add config here! settings( name := "helloworld", .... ). settings(inConfig(ProfileDev)(Classpaths.configSettings ++ Defaults.configTasks ++ Defaults.resourceConfigPaths ++ Seq( unmanagedResourceDirectories += {baseDirectory.value / "src" / configuration.value.name / "resources"} )): _*). settings(inConfig(ProfileQA)(Classpaths.configSettings ++ Defaults.configTasks ++ Defaults.resourceConfigPaths ++ Seq( unmanagedResourceDirectories += {baseDirectory.value / "src" / configuration.value.name / "resources"} )): _*) 

Затем вы размещаете свой конфигурационный файл в src/dev/resources и src/qa/resources , и он должен быть частью вашего пути к classу, когда вы говорите dev:run или dev:package . Вот быстрый тест:

 object Main extends App { println(xml.XML.load(this.getClass.getResource("/config.xml"))) } 
  • Как построить Uber JAR (FAT JAR) с использованием SBT в IntelliJ IDEA?
  • Как добавить «предоставленные» зависимости обратно в путь classа run / test tasks?
  • Значения символов Build.scala,% и %%
  • sbt-assembly: обнаружена ошибка дедупликации
  • Как подавить информацию и сообщения о успехе в sbt?
  • Могут ли мультипроекты из GIT использоваться в качестве зависимостей SBT?
  • Как установить размер кучи для sbt?
  • Interesting Posts

    Что такое сообщение «У вас есть новое письмо» в Linux / UNIX?

    Удалить элементы из одного списка в другом

    Библиотека CoverFlow с открытым исходным кодом для iPhone

    Вызовите метод controllerа с другого controllerа, используя ‘scope’ в AngularJS

    Почему TypedReference за кадром? Это так быстро и безопасно … почти волшебно!

    Как я могу установить User Agent в приложении Cordova

    Как просмотреть данные из файла .RData?

    System.LINQ.Dynamic: выберите («new (…)») в List (или любую другую перечислимую коллекцию )

    Как отключить защиту файлов Windows в Windows XP или 7 из реестра?

    Firefox 32: загрузка не удалась; Не может читать из источника

    Размер файла для файла ftp-сервера vs фактический размер файла

    Обновление памяти до 8 ГБ на универсальном MacBook

    Почему Windows всегда использует столько виртуальной памяти, сколько установлена ​​RAM?

    Мне нужен список сопоставлений городов для timezones – лучший способ получить его?

    Отключить сочетание клавиш Command-Backspace «Переместить в корзину»

    Давайте будем гением компьютера.