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]
