2017-01-20 5 views
0

Я написал очень простое приложение OTP A. Настройки по умолчанию для этого приложения устанавливаются в файле .app благодаря erlang.mk.Правильный способ перезаписать настройки/окружение зависимости приложения otp

Теперь я использую свое приложение как зависимость в своем новом приложении B. Для этого приложения требуются разные настройки для A, чем значения по умолчанию.

Каков правильный способ для моего приложения B переписать среду его зависимости, приложение A?

Несколько мыслей:

  • С А В соответствии с требованиями, А запускается первым, поэтому применение: set_env/3 не будет резать.
  • Если возможно, я хотел бы избежать беспорядка с параметрами запуска, такими как -config или передача среды непосредственно в команде запуска.

ответ

1

А как насчет разделения А на А1 и А2.

  • A1 является «configurationless» вариант А,
  • A2 зависит от A1 и предоставляет ему необходимые условия для выполнения тех же услуг, как А.

Тогда B будет делать то же самое с A1, напрямую или через третье приложение A3.

+0

Вы хотите изменить мое первое приложение в библиотеку? – ITChap

+0

Если это возможно, да. – Pascal

+0

он будет работать в моем конкретном случае, так как я написал приложение A сам. Я надеялся на что-то более общее, что я мог бы также использовать с зависимостями сторонних разработчиков. Так или иначе, так как это работает в моем случае, если никто не появится с чем-то более общим, я приму ваш ответ. – ITChap