Why re-invent make and make it worse? No, really. Typically, you'll want to use code generation, and multiple languages, and perhaps custom build steps, unit tests, functional tests, ... All of which works great in Make with some smart wildcards and implicit rules. No offense to the rebar lovers, but you can pry GNU make out of my cold, dead hands; not before :-)<div>
<br></div><div>Our Erlang build uses a Python-based unit test driver, builds a few C-based tools, and generates Erlang, Python and PHP marshalling glue for our network protocol. Oh, and also acceptance tests our bash-based deployment scripts.</div>
<div>Rebar didn't deal with that when I tried.</div><div><br></div><div>Sincerely,</div><div><br></div><div>jw</div><div><br clear="all"><br>--<br>Americans might object: there is no way we would sacrifice our living standards for the benefit of people in the rest of the world. Nevertheless, whether we get there willingly or not, we shall soon have lower consumption rates, because our present rates are unsustainable. <br>
<br>
<br><br><div class="gmail_quote">On Tue, Jul 5, 2011 at 6:04 PM, Kenny Stone <span dir="ltr"><<a href="mailto:kennethstone@gmail.com">kennethstone@gmail.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;">
I love erlang's syntax <3<div><br></div><div>rebar can be a big magical and scary...<div><div></div><div class="h5"><br><br><div class="gmail_quote">On Tue, Jul 5, 2011 at 7:52 PM, Mike Oxford <span dir="ltr"><<a href="mailto:moxford@gmail.com" target="_blank">moxford@gmail.com</a>></span> wrote:<br>


<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">erl running inside of a backgrounded emacs in the original directory<br>
seems to have been the culprit.<br>
Killed it off, nuked the directory, used the merged backup with the<br>
rebuilt-nodes and things are good again.<br>
<br>
If two things are going to kill Erlang's uptake it's not going to be<br>
the syntax, the performance, the functional-way-of-thinking... it'll<br>
be the terrible error messages and the arcane build/packaging, both of<br>
which make Erlang feel like a house of cards you can't even look at<br>
wrong and, thus, give no confidence in actually running it in<br>
production.  (Not to mention just plain annoying devs to the point<br>
they walk away from it, which is what kills more languages over time<br>
than anything else.)<br>
<br>
Party on...<br>
<br>
-mox<br>
<div><div></div><div><br>
<br>
On Tue, Jul 5, 2011 at 5:09 PM, Mike Oxford <<a href="mailto:moxford@gmail.com" target="_blank">moxford@gmail.com</a>> wrote:<br>
> Application tree was working...has been for weeks.<br>
><br>
> Ran rebar and it crashed, shit all over my nodes (again.)  No problem,<br>
> been there done that, fix it up...<br>
><br>
> Now when I run it (after rebar's generate) it gives me the "undef<br>
> start/2" error.<br>
><br>
> Spend hours trying to figure out everything from how my lib_dirs got<br>
> changed, env, everything, full cleans, everything.<br>
><br>
> Pull a backup ... it works.<br>
> Hand merge all new changes... works, runs fine.<br>
> Nuke the directory and copy the backup into the directory....undef start/2.<br>
> Copy the entire tree to another directory ... runs fine.<br>
><br>
> What/where/WTF has been corrupted that running it from a specific<br>
> directory would cause issues?<br>
><br>
> /opt/name/proj <-- undef start/2, used to work<br>
> /opt/name/wtf/proj <-- works<br>
><br>
> My lib_dirs have not changed, binary cp -r between the two directories<br>
> so they're identical.<br>
><br>
> Rebar may have caused it, but now that it's in this completely f'd up<br>
> state I need to figure out how to get it OUT of this state, since<br>
> rebar's just a packaging system in front of erlexec.<br>
><br>
> So ... two identical directory structures, one works and one does not.<br>
><br>
> Again, it's been working for weeks .. this is not a fundamental issue<br>
> but more "state."<br>
><br>
> I have -not- rebooted.  I want to understand this fully before I push<br>
> in into production.<br>
><br>
> Anyone know of a good place to start digging?<br>
><br>
> TIA.<br>
><br>
> -mox<br>
><br>
_______________________________________________<br>
erlang-questions mailing list<br>
<a href="mailto:erlang-questions@erlang.org" target="_blank">erlang-questions@erlang.org</a><br>
<a href="http://erlang.org/mailman/listinfo/erlang-questions" target="_blank">http://erlang.org/mailman/listinfo/erlang-questions</a><br>
</div></div></blockquote></div><br></div></div></div>
<br>_______________________________________________<br>
erlang-questions mailing list<br>
<a href="mailto:erlang-questions@erlang.org">erlang-questions@erlang.org</a><br>
<a href="http://erlang.org/mailman/listinfo/erlang-questions" target="_blank">http://erlang.org/mailman/listinfo/erlang-questions</a><br>
<br></blockquote></div><br></div>