We need "clean". It removes "target" dirs within the modules.
> In jenkins we should not need to clean We absolutely need "clean". It removes "target" dirs in each module, and hence this is the only way to remove the previous build. > because the repository is always reset for each build. When you start with an empty local repo, Maven downloads all dependencies from a remote repo. I've never seen it actually happen, except for dependencies introduced by a given commit. So my assumption that the local repo is reused (and it is actually not affected by "clean" anyways). > Do we need to install so that artifacts built early on are used by other > modules built later? In a multi-module project there's a concept of "reactor" that would resolve modules built in the same run without going to the repo. So unlike "clean", "install" may actually be superfluous. It could be that "package" is the minimum phase required in a multi-module build, and my preference for "install" is traced back to the old days of Maven being half-broken :) Andrus > On Nov 9, 2014, at 12:44 PM, Aristedes Maniatis <a...@maniatis.org> wrote: > > On 8/11/2014 11:04pm, Andrus Adamchik wrote: >> I noticed our build config was using "mvn -e test". This is not enough to >> guarantee a stable build across various types of changes, and is a reason >> *all* builds were failing lately, not just some and occsaionally. E.g. the >> example below runs tests that are no longer in Git! > > That was probably me who put the "mvn test" in there. I've left maven far > behind for all my other work (gradle makes a million times more sense to me), > so I'm curiousas to the difference. In jenkins we should not need to clean > because the repository is always reset for each build. But I'm guessing that > 'install' is very different to 'test'. Do we need to install so that > artifacts built early on are used by other modules built later? > > -- > --------------------------> > Aristedes Maniatis > GPG fingerprint CBFB 84B4 738D 4E87 5E5C 5EFA EF6A 7D2E 3E49 102A >