You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@maven.apache.org by "Guillaume Nodet (Jira)" <ji...@apache.org> on 2021/01/22 08:06:00 UTC

[jira] [Commented] (MNG-6616) Create public API for Projects Artifacts Cache where one project can be invalidated

    [ https://issues.apache.org/jira/browse/MNG-6616?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17269974#comment-17269974 ] 

Guillaume Nodet commented on MNG-6616:
--------------------------------------

I believe [https://github.com/apache/maven/pull/402] which is the first PR toward fixing MNG-6616 and MNG-7027 does indeed fix the problems mentioned in MNG-5669, MNG-6311 and MNG-6530. And it seems, also MNG-7063.

The Cache API proposed by the very issue would be based on [https://github.com/mvndaemon/mvnd/tree/master/daemon/src/main/java/org/mvndaemon/mvnd/cache/factory] . The work has mostly been done inside mvnd, but I'd like to backport as much as possible inside maven.

> Create public API for Projects Artifacts Cache where one project can be invalidated
> -----------------------------------------------------------------------------------
>
>                 Key: MNG-6616
>                 URL: https://issues.apache.org/jira/browse/MNG-6616
>             Project: Maven
>          Issue Type: Wish
>          Components: Bootstrap &amp; Build
>    Affects Versions: 3.6.0
>            Reporter: Balazs Zsoldos
>            Priority: Major
>
> By introducing the Projects Artifact Cache, single builds became faster. However, there are tools that embed Maven and do not restart the complete JVM process between builds: M2E, mvnsh, etc.
> These tools cannot force the refresh of project artifacts currently based on a stable public API of Maven. It would be nice if there was a public stable API, where projects could be invalidated in the cache even one-by-one, so the recompilation of a project would be the fastest possible.
> In case of designing such an API, it should not be only about project artifacts cache, so if new caches introduced later by maven internally, the API should invalidate the project-specific records in all of them.
> I mean that the API interface should not be called ProjectArtifactCache, but more like ProjectCache, where the first current implementation would invalidate records in ProjectArtifactCache, but later if new caches are introduced, the same API call would manage those caches, too.
>  



--
This message was sent by Atlassian Jira
(v8.3.4#803005)