On 21/08/10 12:13 AM, John Murph wrote:
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.
A good point. It might be a touch too minimal. Perhaps we do this only
when we're running in an environment where we can provide transient
progress information, such when we're running from a terminal or from
the GUI or IDE plugin.
I think we should try logging only the main tasks (by default, -i and -d
might show every task) and see how it goes.
On Thu, Aug 19, 2010 at 6:41 PM, Adam Murdoch <[email protected]
<mailto:[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
--
Adam Murdoch
Gradle Developer
http://www.gradle.org
CTO, Gradle Inc. - Gradle Training, Support, Consulting
http://www.gradle.biz