gnodet commented on pull request #552:
URL: https://github.com/apache/maven/pull/552#issuecomment-930335667


   > IMHO, the `RepositorySystem` and `MavenRepositorySystem` are (meant) to be 
the same thing (but one is v2/3 other is v3+). When I attempted to drop 
maven-compat, these are high level changes I went with:
   > 
   > 1. moved the implementation of `RepositorySystem` to maven-core next to 
`MavenRepositorySystem` (started reworking it w/o compat bits)
   > 2. refactored `MavenRepositorySystem` into interface and added Impl of it 
(a lot of static methods 😢 AFAIR).
   > 3. tried to have _as much shared code_ between the two as possible, so 
basically I had not two but 6 or more "shared" components around these two (but 
as "private detail", w/o exposed ifaces and really just to share logic)
   > 4. lost that work on some of my laptops I wrote off (or reinstalled).... 
but can lend a hand a bit later on this
   
   I went to a slightly different direction.  However, I'm hitting a problem. 
Some integration tests fail with `NoClassDefFoundError` for 
`RepositorySystemSession`.  The reason is that the plugin realm for 
`org.apache.maven.plugins:maven-plugin-plugin:maven-plugin:3.6.0` contains 
`maven-compat-3.0.jar`.  The classes from that jar are usually hidden by the 
version coming from the maven distribution, however, since I removed it, they 
seem to surface and cause the exception.  However, I'm not sure why the 
`RepositorySystemSession` isn't available.  Is it maybe not considered part of 
the API and hence hidden ?  Maybe that was working because the bean was 
previously loaded from the `maven-compat` jar coming from the same realm...


-- 
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: issues-unsubscr...@maven.apache.org

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


Reply via email to