cstamas commented on issue #186: URL: https://github.com/apache/maven-verifier/issues/186#issuecomment-3626596503
So, today we have maven-invoker and maven-verifier (let's focus on "run maven programmatically" aspect ONLY). These two things: * has totally different APIs, different approaches and "tailored" calls that must be updated once CLI gets new option (is time consuming to maintain) * one can only fork, while other can fork and "embed" * many overlapping concerns, and heavy handed solutions just to invoke/run maven programatically Hence, [maven-executor](https://github.com/apache/maven/tree/master/impl/maven-executor) was done that: * offers unified and simple API without need for changes when CLI changes https://github.com/apache/maven/tree/master/impl/maven-executor/src/main/java/org/apache/maven/api/cli * provides both executors "forked" and "embedded" https://github.com/apache/maven/tree/master/impl/maven-executor/src/main/java/org/apache/maven/cling/executor Maven Executor was made to support both, Maven 4+ and Maven 3.9 and is already used in Maven 4 ITs, where the (yet another confusing name class), the [Verifier](https://github.com/apache/maven/blob/master/its/core-it-support/maven-it-helper/src/main/java/org/apache/maven/it/Verifier.java) was rewritten fully, to use maven-executor. Basically maven-executor should be (nearly) a drop in replacement wherever "programmatic running of Maven happens" (with invoker case may require more, as invoker request basically "redoes" CLI). -- 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]
