Having the ability to emit separate reports for the different dependency 
   contexts (compile-time, etc.) is a very good thing, regardless of whether 
   or not it would have helped in this particular use case.

   It would also be cool to have a way to show any dependency at all but 
   label them in some manner, as 'ls' on UNIX does with the '--classify' 
   switch (aside: it doesn't need to be a character pre/postfixed to 
   the dependency name; it could take the form of a column).

    Conceptually, we've got a forest of DAGs and we'd like to be able to:

       o  Start reporting in location x  (default: 'compile')
       o  Proceed {up|down} the DAG      (default: down)
       o  Recursion depth                (default: -1 or "full")
       o  Filters (eg: only show dependencies of type p, d, and q)
       o  View options (attribute columns to actually show on output)



                        -Jon
  


* Luke Daley ([email protected]) [111102 02:22]:
> 
> On 01/11/2011, at 8:54 PM, Adam Murdoch wrote:
> 
> > On 02/11/2011, at 4:30 AM, Luke Daley wrote:
> > 
> >> 
> >> On 28/10/2011, at 2:53 AM, Adam Murdoch wrote:
> >> 
> >>> On 20/10/2011, at 8:51 PM, Luke Daley wrote:
> >>> 
> >>>> Following on from previous email?
> >>>> 
> >>>> Why doesn't `gradle dependencies` act like, say, `gradle clean` and 
> >>>> invoke the task on all sub projects as well?
> >>> 
> >>> It used to, and by doing this on any real project, you end up with pages 
> >>> of output, with the actual information you're after buried deep in there. 
> >>> Having it report on just the current project was a cheap solution, but 
> >>> not a particularly good one.
> >>> 
> >>> I think we want some better way to express what you're interested in, so 
> >>> we can show more focused information. Two important use cases, I think:
> >>> * show me the (compile) classpath of project x, and why each jar is (or 
> >>> is not) in there
> >>> * show me the (compile-time) project dependency graph for every project 
> >>> reachable from project x
> >>> 
> >>> I'd be tempted to split this into 2 separate tasks.
> >> 
> >> Sounds good. 
> >> 
> >> This still wouldn't have solved my problem though. The Grails project 
> >> distributes an ivy cache of all it's dependencies as part of its 
> >> distribution. They do this by copying the relevant configurations from 
> >> each project use the Copy task etc. There was a dependency showing up in 
> >> there that they could not figure out where it was coming from, so they 
> >> needed to see the dependencies for all projects. It's a bit of a corner 
> >> case, and I think the current behaviour is probably the right thing to do. 
> >> But, we probably do need a more obvious way to run the dependencies task 
> >> for a group of tasks at once. I can't think of a good way to do this 
> >> though.
> > 
> > You can use the project reports plugin for this kind of thing.
> > 
> > The idea (and maybe a not-very-good-one) is that 'task', 'dependencies', 
> > 'projects' and 'help' are all part of the 'ui' of the command-line client, 
> > and are intended to be used interactively. The project reports plugin is 
> > for doing any kind of automation over the top of these reports.
> > 
> > It's looking like instead we should be pushing the implicit tasks to behave 
> > more like regular tasks, so that they live in project.tasks rather than 
> > project.implicitTasks and their special behaviour is also available to 
> > regular tasks (eg. you can declare that 'tasks' in the root project implies 
> > 'tasks' in each of the subprojects, so don't both running them).
> 
> 
> Right. Somewhat difficult to see the right way forward here.
> 
> I think we can postpone doing anything until after 1.0 though. If that's the 
> case, do we add a post 1.0 story? Or do we forget about it and what until 
> something else brings this to the surface? So the question is really how we 
> manage things that we know about but are deferring.
> 
> -- 
> Luke Daley
> Principal Engineer, Gradleware 
> http://gradleware.com
> 

---------------------------------------------------------------------
To unsubscribe from this list, please visit:

    http://xircles.codehaus.org/manage_email


Reply via email to