Agree not sure why such "marketing buzz around this" as the idea is to share artifacts so they need to be installed or deployed. The only issue I can see with install vs verify is the compilation of everything all the time. because m-compiler-p detects a new artifact of a module in the reactor and so the m-compiler-p decides to recompile everything (because the jar is newer than build start time). I have some work locally but I still need to push the branch. On very large projects (e.g lot of modules) it makes a significant difference. with install you will see "Changes detected - recompiling the module!" whereas it's totally wrong (nothing has changed) Maven core is even worse as well because of modello re generation even if no changes. it's definitely something here to improve (a sort of api where plugins can tell there is some changes or not)
On Sat, 12 Nov 2022 at 08:33, Tamás Cservenák <ta...@cservenak.net> wrote: > > 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-unsubscr...@maven.apache.org For additional commands, e-mail: dev-h...@maven.apache.org