Hi,

I'm looking for some ideas on
https://github.com/gradle/gradle/blob/master/design-docs/ide-integration.md#ide-hides-implementation-tasks&;
2nd part of
https://github.com/gradle/gradle/blob/master/design-docs/ide-integration.md#feature---tooling-api-parity-with-command-line-for-task-visualisation-and-executiondescribing
how to tell important task from implementation pieces.

I agree that if a task has non empty group attribute then it is a signal
that it should be important enough. I don't understand the other part 'any
task that is declared as a public task of a build element'. If build
element == BuildableElement then the only class implementing it is
GradleProject and I guess we don't want to change behavior of
GradleProject.getTask() to return subset of current results. Or what else
is build element in this context?

Now the question is how to make this available in Tooling API. We can add
GradleTask#getGroup().
I like using task's group attribute because it is more powerful than say
using description attribute or filtering based on some naming convention
(for example ignoring tasks starting with '-'). It allows to filter some
tasks (w/o group) and group the rest into tree-like view. The problem is
that this is an addition to an existing interface. It is expected that this
is OK for ToolingAPI users but it can be hard to support this for an older
Gradle providers. I think it can be relatively easy to support this for
Gradle 1.8+ only. Would it be sufficient?

-Radim

Reply via email to