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

Reply via email to