desruisseaux commented on PR #12745:
URL: https://github.com/apache/maven/pull/12745#issuecomment-5287294349

   I question the idea that only API dependencies should be transitive and not 
the dependencies with the `compile` scope. Even if a project does not expose a 
dependency in its API, if that project needs that dependency for its working, 
then the dependency must be on the classpath.
   
   Or maybe you mean `compiler` as "transitive for Surefire but not transitive 
for the compiler"? Do we need to add this complexity when Java module already 
handle that for us? I would rather suggest to keep Maven as it stands today, 
where `compiler` scope means "put the dependency on the module-path", then 
`module-info` tells whether that dependency shall be visible for users of that 
project or hidden as an implementation details.
   
   In other words, keep a separation of tasks: Maven controls what to put on 
the module-path, and `module-info` controls which ones of these dependencies 
are API. The two are complementary.


-- 
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