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)

Reply via email to