[erlang-questions] Recommended approach for dependency management during development

Garrett Smith <>
Fri Dec 7 15:48:03 CET 2012


On Fri, Dec 7, 2012 at 8:32 AM, Vineet Naik <> wrote:
> Hi Garrett,
>
> On Fri, Dec 7, 2012 at 7:40 PM, Garrett Smith <> wrote:
>>
>> [...]
>>
>>
>> At build time, rebar will download and build dependencies in a local
>> "deps" dir.
>
>
> Does it require that the dependencies be rebar compatible as well. Right
> now I am having exmpp which doesn't use rebar and I guess doesn't have
> the directory structure suitable for it.

Briefly looking at this, you'll have a problem following my advice
with rebar for this case -- that project has a complex build.

I spotted this thread:

https://support.process-one.net/browse/EXMPP-51

which points to this project:

https://github.com/archaelus/exmpp

I tried building that using "rebar compile" but hit some errors.

If that works for you, just list that fork for your rebar dependency.
Otherwise, you could troubleshoot the problem or, just build the
project yourself using whatever works from a Makefile -- and put it
into a local "deps" dir. Other required apps will land there from
rebar builds and you'll have a single dir for ERL_LIBS.

As for building a release, it sounds like rebar has come of age. But
exmpp may not be friendly. Could be a good area to help contribute to
with patches.

> With exmpp installed in default erlang search path, it's not an issue for
> me at least during development but frankly I would be more happy with a
> sandboxed environment similar to Python's virtualenv. Glad that rebar
> downloads and builds dependencies local to the project. Will try if it works
> for non-rebar-compatible libs too.
>
> Thanks for your reply, it helped a lot :-)

You're welcome!

Garrett



More information about the erlang-questions mailing list