Basil Crow created COMPRESS-669:
-----------------------------------
Summary: Allow usage of non-Pack200 features without Commons Lang 3
Key: COMPRESS-669
URL: https://issues.apache.org/jira/browse/COMPRESS-669
Project: Commons Compress
Issue Type: Bug
Affects Versions: 1.26.0
Reporter: Basil Crow
Commons Compress 1.26.0 has sprouted a dependency on Commons Lang 3, which is
problematic for the Jenkins project, which wishes to use Commons Compress in
Jenkins core without exposing Commons Lang 3 to all Jenkins plugins.
The Commons Lang 3 dependency is only used in Pack200 features, which we don't
care about, so in [https://github.com/jenkinsci/jenkins/pull/8997] we have
excluded the dependency. But this is merely a short-term solution, because this
places the burden on consumers to monitor future updates to ensure that Commons
Compress doesn't start relying on Commons Lang 3 for features other than
Pack200.
Some ideas for long-term solutions:
* Find a way to do without the runtime dependency on Commons Lang 3 and turn
the dependency back into a test-scoped dependency.
* Make the Commons Lang 3 dependency optional as in
[https://github.com/apache/commons-compress/pull/489] which was rejected
without any reasoning other than "We are moving away from using Maven optional
dependencies."
* [https://github.com/apache/commons-compress/pull/490] proposes to modularize
Commons Compress, which would solve this problem more generally.
--
This message was sent by Atlassian Jira
(v8.20.10#820010)