Guillaume Nodet created MNG-7027:
------------------------------------
Summary: Invalidate project cache upon changes
Key: MNG-7027
URL: https://issues.apache.org/jira/browse/MNG-7027
Project: Maven
Issue Type: Improvement
Reporter: Guillaume Nodet
To keep some kind of long-living cache (mvnd does this and I suppose m2e is
doing it too), the project cache needs to be invalidated (or disabled in the
case of m2e).
It would be nice if the cached entries could be invalidated upon changes. This
could be done only for snapshots maybe (as non snapshots are kind supposed to
be immutable and that would save quite some processing).
In order to be non disruptive, I propose the introduction of a new component
that would monitor files and that could be used by the {{ProjectBuilder}} to
manage the {{ModelCache}} and also the {{MavenPluginManager}} to manage the
{{PluginRealmCache}}.
For the background: {{mvnd}} needs to redefine the {{ProjectBuilder}} and the
{{PluginRealmCache}} component to work around those problems, but the
{{DefaultProjectBuilder}} in particular is not really extensible and the
{{org.apache.maven.project}} package has a lot of package private classes that
makes defining a replacement class outside of the package quite impossible.
This intermediate component would offer a pluggable way to solve both
{{ProjectBuilder}} and {{MavenPluginManager}} problems.
--
This message was sent by Atlassian Jira
(v8.3.4#803005)