awkward project dir structure and proper release handling

Motiejus Jakštys desired.mta at gmail.com
Sat Feb 11 12:38:25 EST 2012


Hello list,

We have two types of applications: the ones that we develop continuously
which depend on each other, and their dependencies like couchbeam,
proper, etc.

Now we have this retarded file structure:
/app1/rebar.config
/app2/rebar.config
/app3/rebar.config
/deps/proper/rebar.config
/deps/couchbeam/rebar.config

app1/rebar.config:

{lib_dirs, ["../"]}.
{deps_dir, ["../deps"]}.
{deps, [
    app2, app3,
    {lager, ".*", {git, "git://github.com/basho/lager.git"}},
    {couchbeam, ".*", {git, "https://github.com/benoitc/couchbeam.git",
        {branch, "master"}}}
]}.

So all external dependencies lie in /deps/<dep>/rebar.config
and all our apps in /<app>/rebar.config

Our goals:
1) we want to make a release and run it on nodes specifying the
release configs
2) be able to compile and start applications one by one.

This is quite awkward. How would you suggest the directory structure to
handle these goals?

Team



More information about the rebar mailing list