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

   > the point is more that we can't drop useful information cause it is not 
used
   
   This is not a general rule. The encapsulation principle in object oriented 
programming recommends the opposite: do not expose implementation details 
unless you have to (["in case of doubt, leave it 
out"](https://henko.net/blog/leave-it-out/)). I'm in favour of this approach. 
We have the opportunity to remove `<build>` in multi-module projects because 
they are a new feature. Keeping `<build>` now is an unnecessary risk, as it 
does not provide the information required by the use cases in the previous 
comment anyway — it is much safer to leave `<build>` out and add more 
information later as we get better understanding of what piece of information 
is really needed.
   
   > Yes but to complete your PR idea you must remove them from <dependencies> 
too cause the consumer pom doesn't need them
   
   This is not the topic of this pull request. This pull request removes all 
dependencies in the parent consumer POM, and the JAR plugin [as 
proposed](https://github.com/apache/maven-jar-plugin/pull/508) reinjects only 
the dependencies that are declared in `module-info.class` of each module. 
Addressing above comment would be the topic of a separated issue in 
`maven-jar-plugin`.
   
   > Well my point was that removing build is an issue
   
   See above: _keeping_ the build is an issue, because it ties us forever for 
nothing (the dependencies information are not in `<build>`). If an information 
appears to be really missing, it is much safer to revisit the situation when we 
have the use case.


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