On 04/11/2011, at 6:58 PM, Hans Dockter wrote: > I would like to see a reduced console output in Gradle. Thanke to our dynamic > output we don't need to abuse the actual logging anymore to be a progress bar. > > Why not do the following by default: Show only the root tasks per project > that were executed. For example > > Singe Project Build: > gradle build > :build > > gradle clean test > :clean: > :test
Do we log these after the root task is complete? Or when we start work on the task's dependencies? I think we'd also want to log the names of those tasks that produce logging output, whether they are root tasks or not. > > Multiproject Project Build in foo(foo depends on bar): > > gradle build > :bar:jar > :foo:build > > gradle buildDependent > :bar:build > :foo:build > > This would avoid in particular the clutter of using buildSrc. Of course if > you have no console than enables dynamic output we should switch back to our > current way of logging. > > One challenge I see with implementing this is the order in which thing are > displayed in a multiproject build. Right now we have: > > ... > :bar:jar > ... > :foo:build > ... > :bar:build > > But to only show the following in that order would be confusing: > > foo:build > bar:build > > As the dependencies between foo and bar are the opposite. One option would be to log the entry points to a project (those tasks that produce the publications referred to by a project dependency) in addition to the root task. This way, we'd log: bar:jar foo:build bar:build Another option would be to rework the default task ordering, so that we try to complete as much work for a given project as we can before moving on. Then, you'd naturally get: bar:build foo:build -- Adam Murdoch Gradle Co-founder http://www.gradle.org VP of Engineering, Gradleware Inc. - Gradle Training, Support, Consulting http://www.gradleware.com
