Here it is described:
https://maven.apache.org/resolver-archives/resolver-LATEST/local-repository.html#use-cases

Also, sorry for typo Guillaume ;)

T

On Thu, Nov 17, 2022 at 9:15 AM Tamás Cservenák <ta...@cservenak.net> wrote:

> ...aaand this is where "workspace" feature of split repo comes in play...
> oh Guillable, you already said it :D
>
> T
>
> On Thu, Nov 17, 2022 at 9:01 AM Guillaume Nodet <gno...@apache.org> wrote:
>
>> That's specifically an area I've tried to improve over the past months.
>> Most plugins should avoid touching any output file if the content has not
>> changed.  Things have improved a bit, and with a bit of tuning, none of
>> the
>> jars is actually touched during a rebuild.
>> Also, the build cache extension will definitely help with those use cases.
>>
>> Anyway, one downside to the install is that if you're working on a custom
>> branch, or even have checkout a tag, you kinda put in your local repo
>> artifacts that you have no real control on.
>> With the upcoming resolver new features, the separation of locally built
>> artifacts and artifacts from remote repositories will help cleaning that
>> stuff.
>>
>> Le jeu. 17 nov. 2022, 07:21, Olivier Lamy <ol...@apache.org> a écrit :
>>
>> > 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
>> >
>> >
>>
>

Reply via email to