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]

Reply via email to