Hi

We have three projects:
- maven-verifier
- maven-invoker
- maven-invoker-plugin

They are similar ... current situation

maven-verifier
 - can execute Maven in forked and embedded mode
 - have assertions to verify executing result
 - simply Maven configuration by api
 - use own implementation for Maven executing

maven-invoker
 - can execute Maven only in fork mode
 - only status code of executed Maven is reported
 - many method for configure almost all Maven cli options by api

maven-invoker-plugin
 - discover Maven projects to execute
 - possibility to execute verification by groovy or bsh scripts
 - possibility to execute Maven project in parallel
 - use maven-invoker for executing Maven

So we see that some of the code is duplicated by maven-verifier and
maven-invoker.

Proposition:
 - implements embedded mode in maven-invoker - maven-invoker-plugin can
consume it for speed up test executing
 - use maven-invoker in maven-verifier - we can remove duplicated code by
projects

Short term plan:
 - release maven-invoker 3.2.0 - there are many improvements [1]
 - finish and release maven-invoker-plugin 3.3.0 [2]

Long term plan:
 - add embedded mode for maven-invoker
 - possibility to use embedded mode in maven-invoker-plugin
 - refactor maven-invoker .... for many dedicated cli options ... it can
break compatibility
 - use maven-invoker in maven-verifier - after 1.8 can be used in verifier
... Maven Core its
 - refactor maven-verifier, add more verification method, remove dependency
to JUnit4 - can break compatibility

Any other propositions, idea how those projects should be connected?
Any other requirements, use case ...

[1] https://issues.apache.org/jira/projects/MSHARED/versions/12349685
[2] https://issues.apache.org/jira/projects/MINVOKER/versions/12349728

-- 
Sławomir Jaranowski

Reply via email to