Erlang: строгая проверка версий в файлах релизов? - PullRequest
3 голосов
/ 14 сентября 2009

После прочтения 10.2 файла ресурсов релиза у меня складывается впечатление, что каждый выпуск приложения очень сильно привязан к конкретному выпуску Erlang OTP. Это правда?

Можно ли записать информацию о версии в файле .rel следующим образом?

   {release,
     {"ch_rel", "A"},
     {erts, "5.3"},
     [{kernel, ">=2.9"},
      {stdlib, ">=1.12"},
      {sasl, ">=1.10"},
      {ch_app, "1"}]
    }.

Ответы [ 3 ]

3 голосов
/ 15 сентября 2009

Я думаю, что вы можете быть немного смущены терминологией. В эрланге выпуск -

  • Среда исполнения Erlang
  • плюс ваши приложения, которые вы написали
  • плюс конфигурация

А предназначен для развертывания автономной среды erlang и приложений для определенной цели.

В то время как Приложение представляет собой набор связанного кода и библиотек для определенной функции. Для большинства людей им не нужен файл .rel. Файл .app и загрузочные сценарии достаточно для приложения, которое вы будете развертывать в уже настроенной среде erlang.

Судя по твоему вопросу, звучит так, словно ты использовал файл .rel таким образом, для которого он не был предназначен.

Если я ошибаюсь, не стесняйтесь меня игнорировать: -)

3 голосов
/ 14 сентября 2009

К сожалению, вы правы - с помощью обработчика выпуска OTP проверка версии является точной, вы не можете указать диапазоны или «хотя бы эту версию». Новое приложение reltool в OTP (R13B +) разработано для того, чтобы помочь вам, добавив всю информацию о версии для вас.

0 голосов
/ 15 сентября 2009

Вам следует рассмотреть возможность выпуска вашего программного обеспечения через erlware , что позволит легко управлять сборками для разных версий среды выполнения

...