Hans Dockter wrote:
I have just committed a fix for Gradle-220 (Provide control to the user if and how project dependencies should be rebuild).

With -a or --no-rebuild you can now disable that project dependencies are build at all. Of course this works only if the project dependencies have been build before and are accessible in the ./gradle/internal-repository cache.

With gradle -Ajavadoc -Atest you can specify additional tasks that should be run when building project dependencies. For 0.7 we plan to make our command line smarter and more expressive. Jon Cox and Steve Appling have made very interesting proposals. So this syntax is likely to change with 0.7. It is pretty basic anyhow and does not allow for fine-grained control. But it solves the most urgent pain.

I have run into one rather fundamental issue. Task dependencies are not ordered. They are not a LinkedHashSet or a List.

With Gradle-220 I have the following use case: Let's say you want that project-dependencies are build with a clean:

Project A (has a compile dependency on Project B)
gradle -Aclean compile

The problem is that clean is not necessarily executed as the first task when building B. Which of course leads to a failing build. For other tasks (e.g. javadoc) this is not an issue, as it has no side-effects.

I'm wondering what to do here. This also relates to:

http://jira.codehaus.org/browse/GRADLE-427 dependsOn doesn't respect dependency order

One approach would be to have an ordered set for dependsOn tasks and they are executed in this order (of course only as long as they are not part of other dependsOn relations).

Thoughts?

- Hans

GREAT!!! - the '-a' option really helps with a multi-module system. I have updated our fork to include this change and tried it out. It seems to work great.

I think that having an ordered set of dependencies will solve GRADLE-427 and
that is how I would like (and expect) multiple dependencies to work (this is
similar to how ant works).

Is the intent for -A to always add the dependency to the start of the list? That is what you would like for "-A clean", but I'm not sure if that is always the case.

--
Steve Appling
Automated Logic Research Team


---------------------------------------------------------------------
To unsubscribe from this list, please visit:

   http://xircles.codehaus.org/manage_email


Reply via email to