Do you mean two calls to the executable or literally two executables?<div><br></div><div>I would strongly -1 the latter. Â </div><div><br></div><div>-J<br><br><div class="gmail_quote">On Thu, Nov 1, 2012 at 3:03 PM, Loïc Hoguin <span dir="ltr"><<a href="mailto:essen@ninenines.eu" target="_blank">essen@ninenines.eu</a>></span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">So we need two executables.<div class="im"><br>
<br>
On 11/01/2012 10:02 PM, Jared Morrow wrote:<br>
</div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div class="im">
I'd argue that get-deps & compile are the most common functions, and if<br>
this proposal is to make things more consistent, making those commands<br>
(and others that should almost always have recursion) magically recurse<br>
without the '-r' passed in would be bad. Â So all the "-r +1's" people<br>
are saying should count towards people who really want to write, "rebar<br>
-r compile" everytime they compile. Â Also, you still won't be able to<br>
mix recursive and non recursive commands in one call.<br>
<br>
-J<br>
<br>
On Thu, Nov 1, 2012 at 1:10 PM, Fredrik Linder <<a href="mailto:fredrikelinder@gmail.com" target="_blank">fredrikelinder@gmail.com</a><br></div><div class="im">
<mailto:<a href="mailto:fredrikelinder@gmail.com" target="_blank">fredrikelinder@gmail.<u></u>com</a>>> wrote:<br>
<br>
  Â  -r: +1<br>
<br>
  Â  /Fredrik<br>
<br>
  Â  On 1 nov 2012, at 12:00, Tim Watson <<a href="mailto:watson.timothy@gmail.com" target="_blank">watson.timothy@gmail.com</a><br></div><div class="im">
  Â  <mailto:<a href="mailto:watson.timothy@gmail.com" target="_blank">watson.timothy@gmail.<u></u>com</a>>> wrote:<br>
<br>
  Â  Â > This is all fine, but it's mighty annoying to have run rebar<br>
  Â  repeatedly because you want to get-deps first then do something else.<br>
  Â  Â ><br>
  Â  Â > Modules already have a way to indicate that they want recursion -<br>
  Â  preprocess/2. Â Can this be extended so that modules can say 'I want<br>
  Â  recursion' or [predirs] or ok/nothing? Then you'd get a nice<br>
  Â  interplay where rebar_deps says [predirs] and rebar_compile says<br>
  Â  'yes please' to the recursion into those predirs but rebar_templater<br>
  Â  says 'no thanks' to them and you can chain commands cleanly without<br>
  Â  invoking rebar multiple times.<br>
  Â  Â ><br>
  Â  Â > In that scheme, -r means 'override the guys who said no to recrusion'<br>
  Â  Â ><br>
  Â  Â > Sent from my iPhone.<br>
  Â  Â ><br>
  Â  Â > On 1 Nov 2012, at 17:07, Tuncer Ayaz <<a href="mailto:tuncer.ayaz@gmail.com" target="_blank">tuncer.ayaz@gmail.com</a><br></div><div><div class="h5">
  Â  <mailto:<a href="mailto:tuncer.ayaz@gmail.com" target="_blank">tuncer.ayaz@gmail.com</a>><u></u>> wrote:<br>
  Â  Â ><br>
  Â  Â >> On Thu, Nov 1, 2012 at 5:47 PM, Eric Merrit wrote:<br>
  Â  Â >>> Guys,<br>
  Â  Â >>><br>
  Â  Â >>> I have been talking with Tuncer and seeing the various bits on<br>
  Â  going<br>
  Â  Â >>> on about handling dependency recursion in rebar. That is<br>
  Â  `skip_deps`<br>
  Â  Â >>> vs `-r`. When you mix into that things like config inheritance it<br>
  Â  Â >>> becomes a mess. I thought I would see if I can get some<br>
  Â  consensus on<br>
  Â  Â >>> the matter. Just as a short FYI, here are some issues on this<br>
  Â  topic.<br>
  Â  Â >>><br>
  Â  Â >>> * <a href="https://github.com/basho/rebar/issues/303" target="_blank">https://github.com/basho/<u></u>rebar/issues/303</a><br>
  Â  Â >>> * <a href="https://github.com/basho/rebar/issues/275" target="_blank">https://github.com/basho/<u></u>rebar/issues/275</a><br>
  Â  Â >>> * <a href="https://github.com/basho/rebar/pull/293" target="_blank">https://github.com/basho/<u></u>rebar/pull/293</a> - (this has been merged)<br>
  Â  Â >>><br>
  Â  Â >>> I think the default case in rebar is that you *do not want it to<br>
  Â  Â >>> recurse*. Only in the case of a `get-deps` followed by a `compile`<br>
  Â  Â >>> do you want to do things recursively. This is almost always true in<br>
  Â  Â >>> my case, other`s experiences may vary.<br>
  Â  Â >>><br>
  Â  Â >>> That being the case I think the default behavior should be the<br>
  Â  Â >>> non-recursive option and you explicitly tell rebar to recurse with<br>
  Â  Â >>> the `-r`. As a variation it will probably be worthwhile to<br>
  Â  support a<br>
  Â  Â >>> list of applications to talk about app specific recursion. In this<br>
  Â  Â >>> model `-r`/`--recursive` would do recursion as it normally does<br>
  Â  Â >>> while `--recursive=app1,app2,app3` would only recurse into app1,<br>
  Â  Â >>> app2 and app3 respectively. There is a branch implementing basic<br>
  Â  Â >>> -r/--recursive linked in rebar/issues/303 (dss-fix-skip-deps).<br>
  Â  Â >>><br>
  Â  Â >>> This seems to be the most simplest solution to the problem and<br>
  Â  Â >>> doesn't really introduce new semantics though it does inverse<br>
  Â  Â >>> semantics. The downside to this is that its backwards incompatible.<br>
  Â  Â >>> However, we are coming up on a new major version so it's a good<br>
  Â  Â >>> opportunity to do backwards incompatible changes. I don't see a<br>
  Â  Â >>> solid way for rebar to automatically decide which tasks to<br>
  Â  carry out<br>
  Â  Â >>> recursively and which not considering you can have many variations<br>
  Â  Â >>> of commands to run in a single rebar invocation.<br>
  Â  Â >>><br>
  Â  Â >>> In any case, it would be nice to settle the issue, with either<br>
  Â  Â >>> `skip_deps` is the way going forward or we will be moving to the<br>
  Â  Â >>> `-r`. Obviously, I would like to see the `-r` option, but settling<br>
  Â  Â >>> the issue on way or the other is best.<br>
  Â  Â >><br>
  Â  Â >> All solutions considered so far, I think introducing an explicit<br>
  Â  Â >> -r/--recursive as found in dizzy's dss-fix-skip-deps branch is a<br>
  Â  good<br>
  Â  Â >> solution.<br>
  Â  Â >><br>
  Â  Â >> If someone can come up with a solid way to make rebar aware of what<br>
  Â  Â >> commands are going to be run and use that as a way to dynamically<br>
  Â  Â >> enable/disable recursion, I'd be very interested to read that. I<br>
  Â  hope<br>
  Â  Â >> there is a better solution which keeps the ease of use for the<br>
  Â  initial<br>
  Â  Â >> 'get-deps compile' step while not forcing us to use skip_deps and/or<br>
  Â  Â >> apps=/skip_apps= afterwards. Config inheritance is a related problem<br>
  Â  Â >> and discussed in the above ticket #275.<br>
  Â  Â >> ______________________________<u></u>_________________<br>
  Â  Â >> erlang-questions mailing list<br></div></div>
  Â  Â >> <a href="mailto:erlang-questions@erlang.org" target="_blank">erlang-questions@erlang.org</a> <mailto:<a href="mailto:erlang-questions@erlang.org" target="_blank">erlang-questions@<u></u>erlang.org</a>><div class="im">
<br>
  Â  Â >> <a href="http://erlang.org/mailman/listinfo/erlang-questions" target="_blank">http://erlang.org/mailman/<u></u>listinfo/erlang-questions</a><br>
  Â  Â > ______________________________<u></u>_________________<br>
  Â  Â > erlang-questions mailing list<br></div>
  Â  Â > <a href="mailto:erlang-questions@erlang.org" target="_blank">erlang-questions@erlang.org</a> <mailto:<a href="mailto:erlang-questions@erlang.org" target="_blank">erlang-questions@<u></u>erlang.org</a>><div class="im">
<br>
  Â  Â > <a href="http://erlang.org/mailman/listinfo/erlang-questions" target="_blank">http://erlang.org/mailman/<u></u>listinfo/erlang-questions</a><br>
  Â  ______________________________<u></u>_________________<br>
  Â  erlang-questions mailing list<br></div>
  Â  <a href="mailto:erlang-questions@erlang.org" target="_blank">erlang-questions@erlang.org</a> <mailto:<a href="mailto:erlang-questions@erlang.org" target="_blank">erlang-questions@<u></u>erlang.org</a>><div class="im">
<br>
  Â  <a href="http://erlang.org/mailman/listinfo/erlang-questions" target="_blank">http://erlang.org/mailman/<u></u>listinfo/erlang-questions</a><br>
<br>
<br>
<br>
<br>
______________________________<u></u>_________________<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/<u></u>listinfo/erlang-questions</a><br>
<br>
</div></blockquote><span class="HOEnZb"><font color="#888888">
<br>
<br>
-- <br>
Loďc Hoguin<br>
Erlang Cowboy<br>
Nine Nines<br>
<a href="http://ninenines.eu" target="_blank">http://ninenines.eu</a><br>
</font></span></blockquote></div><br></div>