On Feb 12, 2009, at 2:46 AM, Jochen Theodorou wrote:
Hans Dockter schrieb:
Adam and I were talking yesterday about how to improve the
skipping. We have discussed the idea that it would be nice to skip
complete subsections of the DAG. One idea was to somehow find
implicit rules on which to decide what makes up such a subsection.
For example:
clean<-resources<-compile<-testResources<-test
install dependsOn compile, test
In such a situation we could figure out, that testResources is only
needed by the test task, and in the case the test task is skipped
we could skip testResources as well.
so that is what you can do already...
But to just define 'install dependsOn test', with the knowledge
that compile is also executed when test is executed, would define
any subsections to skip. But in this case I see dependsOn compile,
test and dependsOn test as equivalent. I think this should not lead
to different behavior.
if you divide the tasks in those that are helpers and those that are
intended to be called, then you could say, that for example test and
compile are callable tasks, while testResource is not. If you now
have 'install dependsOn test' and test is skipped, then following
the DAG, we can skip any not callable task.so the next task we
actually execute would be compile and all it depends on. Of course
the question if that can be realized easily very much depends on how
the DAG is build, if it is build and how a task is executed
Introducing the notion of public and private tasks would be a way to
find related groups. It is an interesting idea. On the other hand
there might be also a set of callable tasks that form a group you
might want to skip, where this approach would not work.
An alternative would be to introduce the concept of task groups.
Each task can belong to 0..n task groups and we allow to skip
specific tasks or task groups.
not sure, but that sounds a bit complicated to me
The question is if it will work to find skip groups implicitly. I'm a
bit skeptical about this. The alternative is to leave it to the user
to decide which tasks belong to particular groups.
- Hans
--
Hans Dockter
Gradle Project lead
http://www.gradle.org
---------------------------------------------------------------------
To unsubscribe from this list, please visit:
http://xircles.codehaus.org/manage_email