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

Vineet Naik <>
Fri Dec 7 16:48:58 CET 2012


Just found out that rebar supports "raw" repositories[1] which will only be
fetched but ignored during compilation. So after running `get-deps`, I
had to manually compile deps/exmpp and now I `rebar compile` works fine.

Looks like my problem is solved!

Thanks

[1] https://github.com/rebar/rebar/blob/master/rebar.config.sample#L160-L175


On Fri, Dec 7, 2012 at 8:18 PM, Garrett Smith <> wrote:

> 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
>



-- 
Vineet Naik
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://erlang.org/pipermail/erlang-questions/attachments/20121207/cb051aa3/attachment.html>


More information about the erlang-questions mailing list