On Nov 23, 2009, at 11:00 , Toni Menzel wrote: > On Mon, Nov 23, 2009 at 10:42 AM, Felix Meschberger <fmesc...@gmail.com>wrote: >> Point is that this is roughly the order of phases: >> >> process resources >> compile >> unit tests >> package >> integration-test >> install >> deploy >> >> So, the integration-test phase always comes _after_ the packaging but >> before (locally) installing. So if an integration test fails, the local >> install (and remote deployment) don't take place. >> >> See also >> >> http://maven.apache.org/guides/introduction/introduction-to-the-lifecycle.html >> >> Quite nice ;-) > > Sure, i am aware of that but.. was more pointing to the fact of not > trusting mvn package builds (rather than mvn install) when having a multi > project build. > However, was not aware that you (in SCR) use a self made provisioning > system. Have you had trouble of fetching artifacts from local repo (instead > of target) before ?
So an integration test for a component A assumes that any other components involved in the test are still taken from the (local) repository? That of course means that if you make a change to another component B at the same time and the new component A depends on that change in component B that the integration test will fail and A will (because of the failing test) not be published. So as long as an integration test basically only tests the integration of the component to which it belongs, you can use this life cycle. If you require your integration tests to use the "latest versions" of more than just the component to which it belongs, how would you do that? Is that a use case for creating a separate project with no real component, just integration tests, or is there another way to solve this? Greetings, Marcel