Каталог макетов для сервисов Erlang?

В наших приложениях Java мы обычно используем соглашения maven (docs, src/java, test и т.д.). Для Perl мы следуем аналогичным соглашениям только с использованием "lib" верхнего уровня, который легко добавить в Perl @INC.

Я собираюсь создать сервис, написанный в Erlang, какой хороший исходный макет для приложений Erlang?

Ответы

Ответ 1

Рекомендуемая стандартная структура каталогов Erlang может быть найдена здесь.

Кроме того, вам может понадобиться еще несколько каталогов в зависимости от вашего проекта, общие из них (кредит Vance Shipley):

    lib:        OS driver libraries
    bin:        OS executables
    c_src:      C language source files (e.g. for drivers)
    java_src:   Java language source files
    examples:   Example code
    mibs:       SNMP MIBs

Другие проекты, такие как Mochiweb, имеют свои собственные структуры, у Mochiweb даже есть script, чтобы создать все для вас. Другие проекты, такие как Erlware, накладываются на стандартную структуру.

Ответ 2

Другим критическим каталогом является личный каталог. Здесь вы можете хранить файлы, которые можно легко найти из ваших приложений.

code:priv_dir(Name) -> string() | {error, bad_name}

где Name - это имя вашего приложения.

Ответ 3

Erlware меняет это: через пару дней структуры Erlware будут точно такими же, как у Erlang OTP. На самом деле структура пакетов приложений уже относится к OTP и, как указано выше. Что изменится, так это то, что установленная структура каталогов Erlware будет точно соответствовать существующей установке Erlang/OTP (конечно, не обязательно устанавливать Erlware). Теперь Erlware можно использовать для простого добавления пакетов в существующую установку.

Cheers, Мартин