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