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

Reply via email to