[erlang-questions] Erlang package managers?

Dmitry Kolesnikov dmkolesnikov@REDACTED
Wed May 29 17:12:04 CEST 2013


Hello Olav,

Well this is hard to find the solution that fits all possible work flows.
The one thing which is solvable in nice manner is the ability to maintain different set of dependencies for different environments.

I do have a dedicated file to maintain environment specific dependencies (e.g. dev.config, prod.config, etc). The file contains deps declaration same as "deps" section from rebar.config. The I am using rebar.config.script to inject those dependencies depends on env variable. The file is simple see below. The same techniques can be used to swap branches, tags etc. 

-- CLIP --
DEPS = fun(File, Config) ->
   case file:consult(File) of
      {ok, DEPS} ->
         {deps, List} = lists:keyfind(deps, 1, Config),
         lists:keystore(deps, 1, Config, {deps, List ++ DEPS});
      _ ->
         Config
   end
end,
Fdeps = fun(Config) -> DEPS("deps.config", Config) end,

lists:foldl(
   fun(X, Acc) -> X(Acc) end,
   CONFIG,
   [Fdeps]
).
-- CLIP --

- Dmitry

On May 29, 2013, at 1:45 PM, Olav Frengstad <olav@REDACTED> wrote:

> @Andre: Didn't find that when searching, a rename is required from my part
> 
> @Dmitry:
> I would call that the beauty of git, having a ./deps.sh doing the same thing would be same amount of lines.
> 
> My issues with Rebar are minor things related to git, but this forces me every now and then to do manual work which interrupts my workflow.
> 
> 1) updating git remotes does not work
> 2) tags that has been forcefully updated does not work
> 3) If Rebar was interrupted while fetching deps it will refuse restart the fetch because of a missing .app file
> 4) the little trick of calling get-deps before update-deps
> 
> Ideally I want a build env where i can pick different refs for a dependency based on the environment, i.e. dev can use a different branch than  dev/stage/prod/test. Rebar does not give me an easy way of doing this.
> 
> All of the problems above could off course all be scripted around, but I found using other tools removed the complexity of my previous development cycle (at the cost of a Makefile and epm + relx)
> 
> All in all I think Rebar is a good tool for simplifying the Erlang development cycle, but I have found it difficult to find good workflow.
> 
> Olav
> 
> 
> 
> 2013/5/29 André Graf <andre.graf@REDACTED>
> Hello Olav
> 
> I am confused now, are you talking of 'epm' by Jacob Vorreuter
> (https://github.com/JacobVorreuter/epm) or is your 'EPM' something
> different?
> 
> Cheers,
> Andre
> 
> On 29 May 2013 11:11, Olav Frengstad <olav@REDACTED> wrote:
> > I'v previously been using Rebar to handle source dependencies, but recently
> > started working on an alternative solution called EPM [1] which fixes some
> > of the issues I had with Rebar's dependency management.
> >
> > [1] https://github.com/lafka/epm
> >
> >
> > 2013/5/29 Dominic Williams <mail@REDACTED>
> >>
> >> Le 28 mai 2013 à 23:42, Michael Truog a écrit :
> >>
> >> > QuickCheck is commercial, so you won't find a package for free, unless
> >> > you try to get the Haskell version (Haskell is the free version, but Erlang
> >> > is the commercial version).
> >>
> >> QuickCheck mini, which contains all the basic features, is free and can be
> >> downloaded from QuviQ's web site.
> >>
> >> Regards,
> >> Dominic Williams
> >> http://dominicwilliams.net
> >>
> >> _______________________________________________
> >> erlang-questions mailing list
> >> erlang-questions@REDACTED
> >> http://erlang.org/mailman/listinfo/erlang-questions
> >
> >
> >
> >
> > --
> > Med Vennlig Hilsen
> > Olav Frengstad
> >
> > Systemutvikler // FWT
> > +47 920 42 090
> >
> > _______________________________________________
> > erlang-questions mailing list
> > erlang-questions@REDACTED
> > http://erlang.org/mailman/listinfo/erlang-questions
> >
> 
> 
> 
> -- 
> Med Vennlig Hilsen
> Olav Frengstad
> 
> Systemutvikler // FWT
> +47 920 42 090
> _______________________________________________
> erlang-questions mailing list
> erlang-questions@REDACTED
> http://erlang.org/mailman/listinfo/erlang-questions

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://erlang.org/pipermail/erlang-questions/attachments/20130529/c2c25044/attachment.htm>


More information about the erlang-questions mailing list