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)