ppkarwasz commented on PR #490:
URL: https://github.com/apache/commons-compress/pull/490#issuecomment-1976210334

   > The basic problem is that a project can have the old commons-compress deep 
in the transitive dependency tree.
   > 
   > One then updates some other library to a new version that now has 
common-compress-core deep in its transitive dependency tree.
   
   @elharo, I see your point.
   
   I might modify the PR, so that most of the code remains in 
`commons-compress` and only the Brotli specific package is moved to 
`commons-compress-brotli` (and the package is renamed).
   
   However I am not sure if the pro/con balance of such a solution would be 
positive:
   
   - it gets rid of one optional dependency (for me it is a +1),
   - this will still break users code that directly use the Brotli input stream 
(-1). This code can very well be in a transitive dependency the user knows 
nothing about (another -1).
   
   So it appears that the only way to make breaking changes in Java is to break 
everything by repackaging all the code. It is a pity, because it means that any 
attempt to make smaller artifacts practically has the opposite effect for users 
and requires Jakarta-like code changes.


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