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)

Reply via email to