Erlang: adicione bibliotecas ao aplicativo
Eu uso erlIDE (baseado no Eclipse) para trabalhar em projetos Erlang. Até hoje tudo estava bem, mas hoje eu tenho que usar uma biblioteca externa (couchbeam) no meu aplicativo. Eu descobri, o que é o inferno, btw.)
O problema é simples - não posso incluir a biblioteca externa no caminho do compilador. Usei o vergalhão para obter as dependências do couchbeam e ele também baixou ibrowse, mochiweb e ejso
Como posso incluir essas bibliotecas no caminho do compilador sem modificar ERL_LIBS para trabalhar no projeto em erlID
Não quero modificar o ERL_LIBS, porque posso alterar o caminho dos projetos, iniciar um novo (depois modifico o ERL_LIBS novamente) e assim por diant
Tentei as opções do compilador no erlIDE:
{pa, {pa, 'site_stater/deps/couchbeam/'}}
o
{pa, {pa, '../deps/couchbeam/'}}
where 'site_stater' - é o nome do projeto
Eu me pergunto como os programadores profissionais de erlang organizam o fluxo de trabalho de seus projetos (onde escrevem progs erlang, como depurá-lo, lidam com bibliotecas externas e assim por diante
Muito obrigado pela sua atenção.
ATUALIZAscrevi uma função simples para carregar bibliotecas, mas acho que ainda é uma maneira errada de lidar com esse problem
load_libraries() ->
ProjectRoot = filename:join([filename:absname("./"), "site_stater"]),
{ok, DepsList} = file:list_dir(ProjectRoot ++ "/deps/"),
lists:foreach(fun (Folder) ->
RealFolder = ProjectRoot ++ "/deps/" ++ Folder,
case filelib:is_dir(RealFolder) of
true ->
code:add_patha(filename:join([RealFolder, "/ebin"]));
false -> ok
end
end,
DepsList),
ok.