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
Rebar dependency recursion
There are currently too many topics in this group that display first. To make this topic appear first, remove this option from another topic.
There was an error processing your request. Please try again.
flag
  17 messages - Collapse all  -  Translate all to Translated (View all originals)
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
 
Tuncer Ayaz  
View profile  
 More options Nov 1 2012, 1:08 pm
From: Tuncer Ayaz <tuncer.a...@gmail.com>
Date: Thu, 1 Nov 2012 18:07:45 +0100
Local: Thurs, Nov 1 2012 1:07 pm
Subject: Re: [erlang-questions] Rebar dependency recursion

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


 
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.
Seth Falcon  
View profile  
 More options Nov 1 2012, 1:37 pm
From: Seth Falcon <s...@userprimary.net>
Date: Thu, 1 Nov 2012 10:37:08 -0700
Local: Thurs, Nov 1 2012 1:37 pm
Subject: Re: [erlang-questions] Rebar dependency recursion
On Nov 1, 2012, at 10:07 AM, Tuncer Ayaz wrote:

> On Thu, Nov 1, 2012 at 5:47 PM, Eric Merrit wrote:
>> 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).

I'm +1 on a move to -r over skip_deps.

Has there been discussion on the idea of commands defining recursive behavior themselves?

There are some commands where recursion is never correct (e.g. creating a template or generating a release). And commands where I think lack recursion needs to be the default like get-deps. The challenge is that there are a number of commands where both behaviors are reasonable depending on your use (compile, clean, and eunit in particular).

One idea for keeping some of the ease for initial build would be to provide two versions of some commands so that they can be composed:

   rebar get-deps rcompile eunit

    recursive: get-deps rcompile
    non-recursive: eunit

If we don't arrive at a compromise and have to pick either skip_deps or -r, then I strongly favor -r. In either case, you may not get what you wanted. With default being recursive you will sometimes get a completely broken thing (create template) whereas with default non-recursive, some of the right thing will have happened.

+ seth

_______________________________________________
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.
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:

_______________________________________________
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.
Fredrik Linder  
View profile  
 More options Nov 1 2012, 3:10 pm
From: Fredrik Linder <fredrikelin...@gmail.com>
Date: Thu, 1 Nov 2012 12:10:31 -0700
Local: Thurs, Nov 1 2012 3:10 pm
Subject: Re: [erlang-questions] Rebar dependency recursion
-r: +1

/Fredrik

On 1 nov 2012, at 12:00, Tim Watson <watson.timo...@gmail.com> wrote:

_______________________________________________
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.
Jared Morrow  
View profile  
 More options Nov 1 2012, 5:02 pm
From: Jared Morrow <ja...@basho.com>
Date: Thu, 1 Nov 2012 15:02:09 -0600
Local: Thurs, Nov 1 2012 5:02 pm
Subject: Re: [erlang-questions] Rebar dependency recursion

I'd argue that get-deps & compile are the most common functions, and if
this proposal is to make things more consistent, making those commands (and
others that should almost always have recursion) magically recurse without
the '-r' passed in would be bad.  So all the "-r +1's" people are saying
should count towards people who really want to write, "rebar -r compile"
everytime they compile.  Also, you still won't be able to mix recursive and
non recursive commands in one call.

-J

On Thu, Nov 1, 2012 at 1:10 PM, Fredrik Linder <fredrikelin...@gmail.com>wrote:

_______________________________________________
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.
Loïc Hoguin  
View profile  
 More options Nov 1 2012, 5:04 pm
From: Loïc Hoguin <es...@ninenines.eu>
Date: Thu, 01 Nov 2012 22:03:58 +0100
Local: Thurs, Nov 1 2012 5:03 pm
Subject: Re: [erlang-questions] Rebar dependency recursion
So we need two executables.

On 11/01/2012 10:02 PM, Jared Morrow wrote:

--
Loïc Hoguin
Erlang Cowboy
Nine Nines
http://ninenines.eu
_______________________________________________
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.
Jared Morrow  
View profile  
 More options Nov 1 2012, 5:06 pm
From: Jared Morrow <ja...@basho.com>
Date: Thu, 1 Nov 2012 15:06:40 -0600
Local: Thurs, Nov 1 2012 5:06 pm
Subject: Re: [erlang-questions] Rebar dependency recursion

Do you mean two calls to the executable or literally two executables?

I would strongly -1 the latter.

-J

_______________________________________________
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.
Tuncer Ayaz  
View profile  
 More options Nov 1 2012, 5:33 pm
From: Tuncer Ayaz <tuncer.a...@gmail.com>
Date: Thu, 1 Nov 2012 22:32:13 +0100
Local: Thurs, Nov 1 2012 5:32 pm
Subject: Re: [erlang-questions] Rebar dependency recursion

On Thu, Nov 1, 2012 at 10:02 PM, Jared Morrow <ja...@basho.com> wrote:
> I'd argue that get-deps & compile are the most common functions, and if this
> proposal is to make things more consistent, making those commands (and
> others that should almost always have recursion) magically recurse without
> the '-r' passed in would be bad.  So all the "-r +1's" people are saying
> should count towards people who really want to write, "rebar -r compile"
> everytime they compile.  Also, you still won't be able to mix recursive and
> non recursive commands in one call.

The idea is that you only want to recursively compile on get-deps,
update-deps, or if you have sub_dirs and want to compile all
apps.

_______________________________________________
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.
Tuncer Ayaz  
View profile  
 More options Nov 1 2012, 5:51 pm
From: Tuncer Ayaz <tuncer.a...@gmail.com>
Date: Thu, 1 Nov 2012 22:50:15 +0100
Local: Thurs, Nov 1 2012 5:50 pm
Subject: Re: [erlang-questions] Rebar dependency recursion

On Thu, Nov 1, 2012 at 8:00 PM, Tim Watson wrote:
> 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.

The idea with dss-fix-skip-deps in its current form is that you only
initially would do 'rebar -r g-d com'.

> 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'

So your idea is that commands should explicitly announce if they want
to be used recursively and otherwise ignore non-base_dir applications
with -r meaning "force all commands to process deps/sub_dirs", right?
How would you handle the case that compile is happy to process
sub_dirs/deps but you want to compile just base_dir?
_______________________________________________
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.
Tim Watson  
View profile  
 More options Nov 1 2012, 9:48 pm
From: Tim Watson <watson.timo...@gmail.com>
Date: Fri, 2 Nov 2012 01:48:32 +0000
Local: Thurs, Nov 1 2012 9:48 pm
Subject: Re: [erlang-questions] Rebar dependency recursion

I'd argue that that's a case of consistency over practicality. Now what was it Oscar Wilde was saying... ;)

Sent from my iPhone.

On 1 Nov 2012, at 21:02, Jared Morrow <ja...@basho.com> wrote:

_______________________________________________
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.
Tim Watson  
View profile  
 More options Nov 1 2012, 9:55 pm
From: Tim Watson <watson.timo...@gmail.com>
Date: Fri, 2 Nov 2012 01:55:23 +0000
Local: Thurs, Nov 1 2012 9:55 pm
Subject: Re: [erlang-questions] Rebar dependency recursion

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

> So your idea is that commands should explicitly announce if they want
> to be used recursively and otherwise ignore non-base_dir applications
> with -r meaning "force all commands to process deps/sub_dirs", right?
> How would you handle the case that compile is happy to process
> sub_dirs/deps but you want to compile just base_dir?

I think we need to go back to 'it just works' in that instance. Compile wants to recurse because headers in sub dirs might have changed and dependency checking and compiling based on need/dependency is 'the right thing to do' always.

My thought was that some actions have to take place recursively on order to be correctly applied, and it's no good letting people override them. For something like test runs, doc building, xref, and so on, it can and should be optional. But compile/resolve shouldn't be. Adding that API to core would mean that internal and plugin modules get a means to enforce the right behaviour.
_______________________________________________
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.
Tuncer Ayaz  
View profile  
 More options Nov 4 2012, 6:57 pm
From: Tuncer Ayaz <tuncer.a...@gmail.com>
Date: Mon, 5 Nov 2012 00:56:51 +0100
Local: Sun, Nov 4 2012 6:56 pm
Subject: Re: [erlang-questions] Rebar dependency recursion

This could work. I'll let you all know once the prototype is ready
for testing.
_______________________________________________
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.
Tim Watson  
View profile  
 More options Nov 5 2012, 6:13 am
From: Tim Watson <watson.timo...@gmail.com>
Date: Mon, 5 Nov 2012 11:13:48 +0000
Local: Mon, Nov 5 2012 6:13 am
Subject: Re: [erlang-questions] Rebar dependency recursion

Dude...

On 4 Nov 2012, at 23:56, Tuncer Ayaz wrote:

> On Fri, Nov 2, 2012 at 2:55 AM, Tim Watson wrote:
>> [snip]
> This could work. I'll let you all know once the prototype is ready
> for testing.

You rock! :)

Once you give the say so, I'll test all my plugins + projects against your branch.

Cheers,
Tim

  signature.asc
< 1K Download

_______________________________________________
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.
Tuncer Ayaz  
View profile  
 More options Nov 5 2012, 6:25 pm
From: Tuncer Ayaz <tuncer.a...@gmail.com>
Date: Tue, 6 Nov 2012 00:24:16 +0100
Local: Mon, Nov 5 2012 6:24 pm
Subject: Re: [erlang-questions] Rebar dependency recursion

On Mon, Nov 5, 2012 at 12:13 PM, Tim Watson wrote:
> Dude...

> On 4 Nov 2012, at 23:56, Tuncer Ayaz wrote:
>> On Fri, Nov 2, 2012 at 2:55 AM, Tim Watson wrote:
>>> [snip]
>> This could work. I'll let you all know once the prototype is ready
>> for testing.

> You rock! :)

> Once you give the say so, I'll test all my plugins + projects
> against your branch.

Here's a quick prototype you can test:
https://github.com/tuncer/rebar/compare/recursion
It's not ready for merging and some of the internals are subject to
change.

We also have to discuss config inheritance and whether it should
be made explicit or removed.
_______________________________________________
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.
Tim Watson  
View profile  
 More options Nov 6 2012, 5:31 am
From: Tim Watson <watson.timo...@gmail.com>
Date: Tue, 6 Nov 2012 10:31:32 +0000
Local: Tues, Nov 6 2012 5:31 am
Subject: Re: [erlang-questions] Rebar dependency recursion

On 5 Nov 2012, at 23:24, Tuncer Ayaz wrote:

Great, I'll have a look at that after work today. I'm not married to the config inheritance either way, though the ability to override the config in sub_dirs using plugins is important to me.

  signature.asc
< 1K Download

_______________________________________________
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.
Tim Watson  
View profile  
 More options Nov 13 2012, 2:45 am
From: Tim Watson <watson.timo...@gmail.com>
Date: Tue, 13 Nov 2012 07:45:09 +0000
Local: Tues, Nov 13 2012 2:45 am
Subject: Re: [erlang-questions] Rebar dependency recursion
Works nicely for me. I didn't find bugs in any projects I tested again and wrote a minimal plugin to test of the two behaviours an they seemed to work as expected. Nice one!

Sent from my iPhone.

On 5 Nov 2012, at 23:24, Tuncer Ayaz <tuncer.a...@gmail.com> wrote:

_______________________________________________
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.
Tuncer Ayaz  
View profile  
 More options Nov 13 2012, 7:56 am
From: Tuncer Ayaz <tuncer.a...@gmail.com>
Date: Tue, 13 Nov 2012 13:55:59 +0100
Local: Tues, Nov 13 2012 7:55 am
Subject: Re: [erlang-questions] Rebar dependency recursion

On Tue, Nov 13, 2012 at 8:45 AM, Tim Watson wrote:
> Works nicely for me. I didn't find bugs in any projects I tested
> again and wrote a minimal plugin to test of the two behaviours an
> they seemed to work as expected. Nice one!

Great, thanks for testing!

_______________________________________________
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.
End of messages
« Back to Discussions « Newer topic     Older topic »