If I understand correctly, the new task groups are intended to seperate "public" and "private" tasks. Why not use this information to only log "public" tasks (unless some switch is specified)? I generally want to know that something was UP-TO-DATE, but I don't care so much about private tasks being logged.
Upon reading your post again, I realized that this is (3). So, I like (3). I also like the idea of coalescing up-to-date tasks, except I'm not sure if that will provide timely feedback to the user about what is going on. On Thu, Aug 19, 2010 at 6:41 PM, Adam Murdoch <[email protected]> wrote: > On 19/08/10 10:17 PM, Steve Appling wrote: > >> I may be remembering this wrong, but I thought that in previous versions >> if nothing had changed under buildSrc, buildSrc would not be built at all. >> In 0.9 rc-1, buildSrc seems to be built every time. The up to date checks >> seem to be working, so all the buildSrc tasks, show as UP-TO-DATE, but this >> seems like different behavior from what I remembered before. Was this >> intentional? >> > > It was, to fix: http://jira.codehaus.org/browse/GRADLE-881. The fix was to > remove the special-case checking for buildSrc, and let the incremental build > take care of rebuilding it if necessary. > > > I feel like this is more noise in my build that I would like to avoid. >> > > It does, and in that sense, it's a regression. However, regular projects > suffered from a similar noise problem before this change. Now that buildSrc > and the other projects are treated the same way, anything we do to reduce > noise will work for every type of project. Some things we could do: > > 1. Don't log up-to-date tasks. > > 2. If all the tasks that are executed for a given project are up-to-date, > just log a summary for the project rather than each individual task, perhaps > something like: > > buildSrc UP-TO-DATE > :core UP-TO-DATE > :impl:compileJava > :impl:processResources > ... > > 3. Similar to the above, but log a summary for the main tasks (where 'main > task' == the definition used for gradle -t), so you get something like: > > buildSrc:build UP-TO-DATE > :core:jar UP-TO-DATE > :impl:compileJava > :impl:processResources > .... > > We could possibly combine main tasks when they are up-to-date. For example, > given build depends on assemble depends on jar, we could replace this: > > :core:jar UP-TO-DATE > :core:assemble UP-TO-DATE > :core:build UP-TO-DATE > > with this: > > :core:build UP-TO-DATE > > > -- > Adam Murdoch > Gradle Developer > http://www.gradle.org > CTO, Gradle Inc. - Gradle Training, Support, Consulting > http://www.gradle.biz > > > > --------------------------------------------------------------------- > To unsubscribe from this list, please visit: > > http://xircles.codehaus.org/manage_email > > > -- John Murph Automated Logic Research Team
