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)