You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@maven.apache.org by GitBox <gi...@apache.org> on 2023/01/08 19:44:19 UTC

[GitHub] [maven-mvnd] gnodet commented on issue #392: Define versioning policy?

gnodet commented on issue #392:
URL: https://github.com/apache/maven-mvnd/issues/392#issuecomment-1374912233

   
   > I don't want to have mvnd automatically downloaded by wrapper: I want mvnd client/server architecture to be able to run with any Maven version (with eventually some compatibility limits)
   
   Most of the performance improvements come from the ability to customise the maven and this requires tight integration for now.  At beginning, mvnd had to rewrite a bunch of maven classes.  The number slowly goes down, but it will be difficult to have `mvnd` be independent on maven until we have such things. The most important point remaining is the  [DaemonMavenCli](https://github.com/apache/maven-mvnd/blob/master/daemon/src/main/java/org/apache/maven/cli/DaemonMavenCli.java) which is a pain to maintain.
   
   What could be done, is to have different versions of [`mvnd-daemon`](https://github.com/apache/maven-mvnd/tree/master/daemon) module for each specific version of maven and use the correct one depending on the maven version used. 
   For example, we have [these](https://github.com/apache/maven-mvnd/commit/92cbc7d6cf8af1822fa1912a3f4f737dd698685e) [changes](https://github.com/apache/maven-mvnd/commit/417ed7ec8b71b32837c4f7a907ee540a3adea5f3) to go from 3.x to 4.x.  Not sure how far we can go in this direction, but this would be a first step at supporting multiple versions of maven.
   From a distribution point of view, I'm not sure if we can actually avoid embedding maven in the mvnd distribution.
   Another point would be how to select the maven version to run ? Would we need something like what the maven-wrapper does ? i.e. specify the maven version for a given project ?
   
   I was planning at releasing a `mvnd` 0.9.x to support maven 3.8.7.
   
   At the end, I'm not sure if it's easier to maintain multiple branches of mvnd focused on different version of maven, or to try to support them all in a single branch...  At this point, I'm leaning toward the first solution because it's much less time consuming I think.


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: issues-unsubscribe@maven.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org