On Jul 24, 2009, at 2:02 AM, Adam Murdoch wrote:



Steve Appling wrote:
As mentioned in a previous thread, I would like to pull the test task out of the normal dependency chain for building an artifact. I think I have at least the
start of a plan for this and would like some feedback.

There are several use cases of different build/test combinations that we have
desired in a multi-project system:
1) Incrementally build a single project and all of its dependent projects
  a) Test just that project.
  b) Test all dependent projects as well.

Just to clarify. If I have project dependencies projectA -> projectB -> projectC, then 1b) for projectB is to run the tests for projectB and projectC.

If so, what would you use this for?

I'd say for a reliable partial build. I guess I see your point. Without 4.) from below it does not give me enough confidence to check into VCS. But there is a use case. Say you are debugging a webapp which has dependencies on other projects. You want a fast, reliable partial build after you made changes somewhere.


2) Incrementally build a single project using cached dependencies and test just that project.
3) Make a clean build of all projects
  a) Test just a single project
  b) Test all projects

I would add another couple of use cases which I would love to have:

4) build a single project, all the projects it depends on, and all the projects which depend on it. Run the tests for the project and for all the projects which depend on it.
a) incrementally
b) clean
c) using cached project dependencies

When I work on a large project, most of the time the changes are limited to a single project, or a small number of projects. I'd like to be able to build and test all projects which might be impacted by my changes.

5) As 4), but for projects which have changes in their source, relative to whatever I have checked out of VCS.

This allows me to easily run 4) for all projects which I have changed.

It would be excellent to have 4 and 5. 4) shouldn't be that hard to implement, for 5) we would need a VCS abstraction.

- Hans

--
Hans Dockter
Gradle Project Manager
http://www.gradle.org


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

   http://xircles.codehaus.org/manage_email


Reply via email to