You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@maven.apache.org by Mirko Friedenhagen <mf...@gmx.de> on 2022/12/09 18:14:07 UTC

Re: mvn install vs mvn verify

Hi,

late to the party here:
- We develop using merge requests and the default command we run there is `mvn verify` in CI.
- `install` should not be needed as the reactor should be sufficient in it.
- When a module does need an `install` it behaves strangely.
- I see that bigger multi-module projects *could* somehow benefit from `install` but for me the best proof is to execute just `mvn verify`.

Regards
Mirko


> Am 11.11.2022 um 23:32 schrieb Tamás Cservenák <ta...@cservenak.net>:
> 
> Howdy,
> 
> in relation to this PR (the reasoning behind it):
> https://github.com/apache/maven-mvnd/pull/734
> 
> I never really understood people unconditionally forcing verify instead of
> install.
> 
> For me, personally, the "final output" of the build was always what it
> installs.
> 
> While we do call internally the target directory as "buildOutput", it is
> more like "build temp", full of intermediate files, class files, temp
> files, state files, and who knows what. To find the final output in target
> you need to dig in, sift through files and/or directories (possibly needing
> knowledge even how some plugin is configured, or worse, working).
> 
> In the local repository, it's all on coordinates: just check the POM GAV
> you built, no need for any other knowledge (of plugin, of config or
> whatever). Clear as it can be.
> 
> And ultimately, a Maven project's ultimate dream goal is to be deployed,
> and what is installed, pretty much (most often) will be the same as will be
> deployed. Again, win-win.
> 
> Finally, to me this feels like it is being pushed by people who "stick" to
> their local repository a bit too much :) For them, there is a "split local
> repository" feature, where installed and cached stuff is clearly separated
> (and hence, easy to nuke).
> 
> Or in other words, I stick to the mantra "what is not in a (local or
> remote) repo, does not exist (for Maven)". And most often you do want to
> reuse (depend on) the project being built, hence "sharing" (installing for
> local dev or deploy for remote dev) is wanted.
> 
> I see verify being better for trivial cases, like you work on a simple
> (single or multi module) project, with a trivial (known to behave) set of
> plugins. But in a moment when you work on two or more interconnected
> projects, or non trivial projects, or just using some "nasty" plugin that
> for some reason tries to resolve things and is unaware of the project, etc,
> mvn verify quickly becomes a problem.
> 
> WDYT?
> 
> Thanks
> T


---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@maven.apache.org
For additional commands, e-mail: dev-help@maven.apache.org