Tommaso Teofili created SLING-3893:
--------------------------------------
Summary: Unify version of Apache HttpClient used
Key: SLING-3893
URL: https://issues.apache.org/jira/browse/SLING-3893
Project: Sling
Issue Type: Task
Components: General
Reporter: Tommaso Teofili
While working with Sling Replication and Sling testing tools I realized they
depend on different versions of the Apache HttpClient, then looking at the
whole Sling trunk it seems there're more 'users' of HttpClient, some use
version 3.1, some 4.1.x, some 4.3.x.
Here's the script output:
{code}
tommaso:trunk teofili$ grep -R httpclient -A 2 . | grep pom.xml
./bundles/commons/testing/pom.xml:
<groupId>commons-httpclient</groupId>
./bundles/commons/testing/pom.xml:
<artifactId>commons-httpclient</artifactId>
./bundles/commons/testing/pom.xml- <version>3.1</version>
./bundles/commons/testing/pom.xml- <scope>compile</scope>
./bundles/commons/testing/pom.xml: Same problem as JCR-683:
commons-httpclient depends on commons-logging. Since
./bundles/commons/testing/pom.xml- this webapp uses log4j
(see the slf4j-log4j12 dependency below), we need to
./bundles/commons/testing/pom.xml- override this dependency
with jcl-over-sflf4j, found below
./bundles/extensions/discovery/impl/pom.xml:
<groupId>commons-httpclient</groupId>
./bundles/extensions/discovery/impl/pom.xml:
<artifactId>commons-httpclient</artifactId>
./bundles/extensions/discovery/impl/pom.xml-
<version>3.1</version>
./bundles/extensions/discovery/impl/pom.xml-
<scope>provided</scope>
./bundles/extensions/models/integration-tests/pom.xml: <!-- sling
testing tools bundles requires httpclient -->
./bundles/extensions/models/integration-tests/pom.xml- <dependency>
./bundles/extensions/models/integration-tests/pom.xml-
<groupId>org.apache.httpcomponents</groupId>
./bundles/extensions/models/integration-tests/pom.xml:
<artifactId>httpclient-osgi</artifactId>
./bundles/extensions/models/integration-tests/pom.xml-
<version>4.1.2</version>
./bundles/extensions/models/integration-tests/pom.xml-
<scope>provided</scope>
./bundles/resourceaccesssecurity/it/pom.xml: <!-- sling testing tools
bundles requires httpclient -->
./bundles/resourceaccesssecurity/it/pom.xml- <dependency>
./bundles/resourceaccesssecurity/it/pom.xml-
<groupId>org.apache.httpcomponents</groupId>
./bundles/resourceaccesssecurity/it/pom.xml:
<artifactId>httpclient-osgi</artifactId>
./bundles/resourceaccesssecurity/it/pom.xml- <version>4.1.2</version>
./bundles/resourceaccesssecurity/it/pom.xml- <scope>provided</scope>
./contrib/crankstart/launcher/pom.xml:
<artifactId>httpclient</artifactId>
./contrib/crankstart/launcher/pom.xml- <version>4.1</version>
./contrib/crankstart/launcher/pom.xml- <scope>test</scope>
./contrib/extensions/cassandra/pom.xml:
<Embed-Dependency>hector-core,jaxp-ri,FastInfoset,cassandra-thrift,commons-pool,libthrift,httpclient,httpcore</Embed-Dependency>
./contrib/extensions/cassandra/pom.xml- </instructions>
./contrib/extensions/cassandra/pom.xml- </configuration>
./contrib/extensions/cassandra/pom.xml:
<artifactId>httpclient</artifactId>
./contrib/extensions/cassandra/pom.xml- <version>4.2</version>
./contrib/extensions/cassandra/pom.xml-</dependency>
./contrib/extensions/replication/core/pom.xml:
<artifactId>httpclient-osgi</artifactId>
./contrib/extensions/replication/core/pom.xml- <version>4.3.4</version>
./contrib/extensions/replication/core/pom.xml- </dependency>
./contrib/extensions/replication/it/pom.xml:
<sling.additional.bundle.2>httpclient-osgi</sling.additional.bundle.2>
./contrib/extensions/replication/it/pom.xml-
<sling.additional.bundle.3>org.apache.sling.hc.core</sling.additional.bundle.3>
./contrib/extensions/replication/it/pom.xml-
<sling.additional.bundle.4>org.apache.jackrabbit.vault</sling.additional.bundle.4>
./contrib/extensions/replication/it/pom.xml:
<artifactId>httpclient-osgi</artifactId>
./contrib/extensions/replication/it/pom.xml- <version>4.3.2</version>
./contrib/extensions/replication/it/pom.xml- </dependency>
./testing/samples/integration-tests/pom.xml:
<sling.additional.bundle.7>httpclient-osgi</sling.additional.bundle.7>
./testing/samples/integration-tests/pom.xml-
<sling.additional.bundle.8>httpcore-osgi</sling.additional.bundle.8>
./testing/samples/integration-tests/pom.xml-
<sling.additional.bundle.9>org.apache.sling.junit.performance</sling.additional.bundle.9>
./testing/samples/integration-tests/pom.xml: <!-- sling testing tools
bundles requires httpclient -->
./testing/samples/integration-tests/pom.xml- <dependency>
./testing/samples/integration-tests/pom.xml-
<groupId>org.apache.httpcomponents</groupId>
./testing/samples/integration-tests/pom.xml:
<artifactId>httpclient-osgi</artifactId>
./testing/samples/integration-tests/pom.xml- <version>4.1.2</version>
./testing/samples/integration-tests/pom.xml- <scope>provided</scope>
./testing/tools/pom.xml: <artifactId>httpclient</artifactId>
./testing/tools/pom.xml- <version>4.1</version>
./testing/tools/pom.xml- </dependency>
./tooling/maven/maven-sling-plugin/pom.xml:
<groupId>commons-httpclient</groupId>
./tooling/maven/maven-sling-plugin/pom.xml:
<artifactId>commons-httpclient</artifactId>
./tooling/maven/maven-sling-plugin/pom.xml- <version>3.1</version>
./tooling/maven/maven-sling-plugin/pom.xml- <scope>compile</scope>
{code}
I think it'd be good if we can unify the version of HttpClient used all along
Sling (to the latest) by defining it in the Sling parent (without specifying
the versions in the bundles that needs it).
--
This message was sent by Atlassian JIRA
(v6.2#6252)