Hi

Guess it depends the project.
Today, there are very few projects without custom plugin binding and all
tend to lead to package phase so package seems the natural one enabling to
bundle the deliverable with tests validation phase.

IT are a legacy phase where package was needed before tests so verify
sounds useless as of today for most projects - but our own projects abuse
of it so dont drop it yet ;).

Now a lot of plugins need install cause they resolve in m2 sometimes
without the resolver stack so guess install - as clean for a similar reason
- are the best defaults today.

Le ven. 11 nov. 2022 à 23:33, Tamás Cservenák <ta...@cservenak.net> a
écrit :

> 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
>

Reply via email to