+1 to this argunentation. We should reduce the dependency surface as much as possible.
Am 4. November 2024 09:27:24 MEZ schrieb Emmanuel Bourg <ebo...@apache.org>: >Le 02/11/2024 à 13:19, Gilles Sadowski a écrit : > >> My question was and still is: Can modularization help? > >Modularization is very much needed for Commons Compress, I think we should at >least split the compression part from the archive part, and then further split >by file format (commons-compression-* and commons-archive-*). > >This would greatly improve the situation with the optional dependencies. Let's >say I want to extract xz files, I would simply declare a dependency on >commons-compression-xz in my pom.xml, which would pull the org.tukaani:xz >dependency transitively, instead of having to declare two dependencies on >commons-compress and org.tukaani:xz. > >Unfortunately modularization will hardly help with the dependencies on >commons-codec, commons-lang and commons-io, because as of commons-compress >1.26 they are used almost everywhere in the code. Only commons-codec is >restricted to a couple of formats (LZ4 and Snappy), but commons-io is now part >of the core *public* API [1], which is really bad because we can no longer >remove the dependency without breaking the binary compatibility (and I think >we should do it as soon as possible before this new public method gets widely >used). > >Emmanuel Bourg > >[1] >https://github.com/apache/commons-compress/blob/863be804/src/main/java/org/apache/commons/compress/archivers/ArchiveInputStream.java#L224 > > >--------------------------------------------------------------------- >To unsubscribe, e-mail: dev-unsubscr...@commons.apache.org >For additional commands, e-mail: dev-h...@commons.apache.org >