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)

Reply via email to