Account Options

  1. Sign in
The old Google Groups will be going away soon, but your browser is incompatible with the new version.
Google Groups Home
« Groups Home
Message from discussion Rebar dependency recursion
The group you are posting to is a Usenet group. Messages posted to this group will make your email address visible to anyone on the Internet.
Your reply message has not been sent.
Your post was successful
 
From:
To:
Cc:
Followup To:
Add Cc | Add Followup-to | Edit Subject
Subject:
Validation:
For verification purposes please type the characters you see in the picture below or the numbers you hear by clicking the accessibility icon. Listen and type the numbers you hear
 
Tim Watson  
View profile  
 More options Nov 1 2012, 3:00 pm
From: Tim Watson <watson.timo...@gmail.com>
Date: Thu, 1 Nov 2012 19:00:24 +0000
Local: Thurs, Nov 1 2012 3:00 pm
Subject: Re: [erlang-questions] Rebar dependency recursion
This is all fine, but it's mighty annoying to have run rebar repeatedly because you want to get-deps first then do something else.

Modules already have a way to indicate that they want recursion - preprocess/2.  Can this be extended so that modules can say 'I want recursion' or [predirs] or ok/nothing? Then you'd get a nice interplay where rebar_deps says [predirs] and rebar_compile says 'yes please' to the recursion into those predirs but rebar_templater says 'no thanks' to them and you can chain commands cleanly without invoking rebar multiple times.

In that scheme, -r means 'override the guys who said no to recrusion'

Sent from my iPhone.

On 1 Nov 2012, at 17:07, Tuncer Ayaz <tuncer.a...@gmail.com> wrote:

> On Thu, Nov 1, 2012 at 5:47 PM, Eric Merrit wrote:
>> Guys,

>> I have been talking with Tuncer and seeing the various bits on going
>> on about handling dependency recursion in rebar. That is `skip_deps`
>> vs `-r`. When you mix into that things like config inheritance it
>> becomes a mess. I thought I would see if I can get some consensus on
>> the matter. Just as a short FYI, here are some issues on this topic.

>> * https://github.com/basho/rebar/issues/303
>> * https://github.com/basho/rebar/issues/275
>> * https://github.com/basho/rebar/pull/293 - (this has been merged)

>> I think the default case in rebar is that you *do not want it to
>> recurse*. Only in the case of a `get-deps` followed by a `compile`
>> do you want to do things recursively. This is almost always true in
>> my case, other`s experiences may vary.

>> That being the case I think the default behavior should be the
>> non-recursive option and you explicitly tell rebar to recurse with
>> the `-r`. As a variation it will probably be worthwhile to support a
>> list of applications to talk about app specific recursion. In this
>> model `-r`/`--recursive` would do recursion as it normally does
>> while `--recursive=app1,app2,app3` would only recurse into app1,
>> app2 and app3 respectively. There is a branch implementing basic
>> -r/--recursive linked in rebar/issues/303 (dss-fix-skip-deps).

>> This seems to be the most simplest solution to the problem and
>> doesn't really introduce new semantics though it does inverse
>> semantics. The downside to this is that its backwards incompatible.
>> However, we are coming up on a new major version so it's a good
>> opportunity to do backwards incompatible changes. I don't see a
>> solid way for rebar to automatically decide which tasks to carry out
>> recursively and which not considering you can have many variations
>> of commands to run in a single rebar invocation.

>> In any case, it would be nice to settle the issue, with either
>> `skip_deps` is the way going forward or we will be moving to the
>> `-r`. Obviously, I would like to see the `-r` option, but settling
>> the issue on way or the other is best.

> All solutions considered so far, I think introducing an explicit
> -r/--recursive as found in dizzy's dss-fix-skip-deps branch is a good
> solution.

> If someone can come up with a solid way to make rebar aware of what
> commands are going to be run and use that as a way to dynamically
> enable/disable recursion, I'd be very interested to read that. I hope
> there is a better solution which keeps the ease of use for the initial
> 'get-deps compile' step while not forcing us to use skip_deps and/or
> apps=/skip_apps= afterwards. Config inheritance is a related problem
> and discussed in the above ticket #275.
> _______________________________________________
> erlang-questions mailing list
> erlang-questi...@erlang.org
> http://erlang.org/mailman/listinfo/erlang-questions

_______________________________________________
erlang-questions mailing list
erlang-questi...@erlang.org
http://erlang.org/mailman/listinfo/erlang-questions

 
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.