cstamas commented on issue #2455:
URL: https://github.com/apache/maven/issues/2455#issuecomment-2961886948

   > immutability is the key design pattern
   
   @Pankraz76 I agree, but in case of Maven we have a thing called "legacy", 
and also a huge backward trail of compatibility promise. Just like today Maven 
4 is capable to run Maven 3 plugins (plugins compiled against Maven 3 APIs), 
same stands for Maven 3 and plugins built against Maven 2 (from end of 2000s). 
Moreover, this class `MavenProject` is one of the most exposed, most used and 
most injected class in plugins. Due this, many of the "calls" existing out 
there for this class are not in Maven codebase at all, but in some plugins 
codebase out there. Hence, we need to be very cautious to not break anything.
   
   In essence, this is the whole reason for doing Maven 4, as Maven 3 is "fully 
exposed" with it's own internals to plugins, and it is nearly impossible to fix 
these issues (or would take insanely much time and effort) without breaking 
anything out there in the wild that is directly interfacing to _any of Maven 3 
class_.


-- 
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: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]

Reply via email to