Hey Dan,

Thanks for starting this effort!  I raised
https://issues.apache.org/jira/browse/SMX4-1494 to keep track of our
progress.


Thanks again!

Gert


On Mon, Jul 1, 2013 at 7:45 PM, Daniel Kulp <[email protected]> wrote:
>
> I did a bit of cleanup in just the smx4-features  XML and Camel 2.10.x branch 
> and was able to shave off about 25MB from the assembly.  There is certainly 
> more to go.   We now have about 53MB of "duplicate" jars  (which is down from 
> over 100MB).   I've attached the list below.  A bunch of them we certainly 
> need to have the various versions (like ehcache due to incompatible changes 
> between 2.5.1 and 2.5.2).   Others are pulled in from jclouds or activemq or 
> similar and thus would e hard to resolve.   Some would require better support 
> from Karaf to really resolve (like the duplicate Spring jars) or an 
> enhancement to the plugin would be great (like exclude the CXF activemq stuff 
> as the activemq pom can supply a workable version).
>
> The bottom bunch are things that really should be looked at more in depth.  A 
> couple can be fixed by updating the versions in the smx-nmr features.xml 
> (which I don't have checked out on my computer right now).  Others are likely 
> fixable by flipping from the smx bundled versions of commons-* to the actual 
> commons-* versions.   Saxon is something that needs a bit more testing.   
> I've had some bad luck updating that in OSGi before.
>
> Anyway, here's a starting point for some work.  :-)    In anycase the tar.gz 
> is now down below 290M.   Still huge though.
>
> Dan
>
>
>
> 1424    ./com/hazelcast/hazelcast/1.9.4/hazelcast-1.9.4.jar
> 1660    ./com/hazelcast/hazelcast/2.0.2/hazelcast-2.0.2.jar
> 60      ./commons-codec/commons-codec/1.4/commons-codec-1.4.jar
> 228     ./commons-codec/commons-codec/1.6/commons-codec-1.6.jar
> 276     ./commons-lang/commons-lang/2.5/commons-lang-2.5.jar
> 280     ./commons-lang/commons-lang/2.6/commons-lang-2.6.jar
> 208     ./commons-net/commons-net/2.2/commons-net-2.2.jar
> 268     ./commons-net/commons-net/3.1/commons-net-3.1.jar
> 96      ./commons-pool/commons-pool/1.5.4/commons-pool-1.5.4.jar
> 112     ./commons-pool/commons-pool/1.6/commons-pool-1.6.jar
> 484     ./javax/mail/mail/1.4.4/mail-1.4.4.jar
> 500     ./javax/mail/mail/1.4.5/mail-1.4.5.jar
> 532     ./joda-time/joda-time/1.6.2/joda-time-1.6.2.jar
> 560     ./joda-time/joda-time/2.1/joda-time-2.1.jar
> 116     
> ./org/apache/activemq/activemq-console/5.4.2/activemq-console-5.4.2.jar
> 124     
> ./org/apache/activemq/activemq-console/5.7.0/activemq-console-5.7.0.jar
> 3244    ./org/apache/activemq/activemq-core/5.4.2/activemq-core-5.4.2.jar
> 3872    ./org/apache/activemq/activemq-core/5.7.0/activemq-core-5.7.0.jar
> 36      ./org/apache/activemq/activemq-pool/5.4.2/activemq-pool-5.4.2.jar
> 48      ./org/apache/activemq/activemq-pool/5.7.0/activemq-pool-5.7.0.jar
> 84      ./org/apache/activemq/activemq-ra/5.4.2/activemq-ra-5.4.2.jar
> 88      ./org/apache/activemq/activemq-ra/5.7.0/activemq-ra-5.7.0.jar
> 152     ./org/apache/activemq/kahadb/5.4.2/kahadb-5.4.2.jar
> 184     ./org/apache/activemq/kahadb/5.7.0/kahadb-5.7.0.jar
> 160     
> ./org/apache/aries/transaction/org.apache.aries.transaction.manager/0.2-incubating/org.apache.aries.transaction.manager-0.2-incubating.jar
> 172     
> ./org/apache/aries/transaction/org.apache.aries.transaction.manager/0.3/org.apache.aries.transaction.manager-0.3.jar
> 172     
> ./org/apache/aries/transaction/org.apache.aries.transaction.manager/0.3.1/org.apache.aries.transaction.manager-0.3.1.jar
> 488     
> ./org/apache/httpcomponents/httpclient-osgi/4.1.1/httpclient-osgi-4.1.1.jar
> 528     
> ./org/apache/httpcomponents/httpclient-osgi/4.1.3/httpclient-osgi-4.1.3.jar
> 796     
> ./org/apache/httpcomponents/httpclient-osgi/4.2.1/httpclient-osgi-4.2.1.jar
> 336     ./org/apache/httpcomponents/httpcore-osgi/4.1/httpcore-osgi-4.1.jar
> 376     
> ./org/apache/httpcomponents/httpcore-osgi/4.1.4/httpcore-osgi-4.1.4.jar
> 504     
> ./org/apache/httpcomponents/httpcore-osgi/4.2.1/httpcore-osgi-4.2.1.jar
> 284     
> ./org/apache/jackrabbit/jackrabbit-jcr-commons/2.2.12/jackrabbit-jcr-commons-2.2.12.jar
> 344     
> ./org/apache/jackrabbit/jackrabbit-jcr-commons/2.5.2/jackrabbit-jcr-commons-2.5.2.jar
> 632     ./org/apache/mina/mina-core/2.0.5/mina-core-2.0.5.jar
> 632     ./org/apache/mina/mina-core/2.0.7/mina-core-2.0.7.jar
> 444     
> ./org/apache/servicemix/bundles/org.apache.servicemix.bundles.antlr/2.7.7_5/org.apache.servicemix.bundles.antlr-2.7.7_5.jar
> 560     
> ./org/apache/servicemix/bundles/org.apache.servicemix.bundles.antlr/3.0.1_6/org.apache.servicemix.bundles.antlr-3.0.1_6.jar
> 112     
> ./org/apache/servicemix/bundles/org.apache.servicemix.bundles.antlr-runtime/3.0.1_2/org.apache.servicemix.bundles.antlr-runtime-3.0.1_2.jar
> 16      
> ./org/apache/servicemix/bundles/org.apache.servicemix.bundles.aopalliance/1.0_5/org.apache.servicemix.bundles.aopalliance-1.0_5.jar
> 20      
> ./org/apache/servicemix/bundles/org.apache.servicemix.bundles.aopalliance/1.0_6/org.apache.servicemix.bundles.aopalliance-1.0_6.jar
> 184     
> ./org/apache/servicemix/bundles/org.apache.servicemix.bundles.asm/2.2.3_5/org.apache.servicemix.bundles.asm-2.2.3_5.jar
> 232     
> ./org/apache/servicemix/bundles/org.apache.servicemix.bundles.asm/3.3.1_1/org.apache.servicemix.bundles.asm-3.3.1_1.jar
> 308     
> ./org/apache/servicemix/bundles/org.apache.servicemix.bundles.commons-httpclient/3.1_6/org.apache.servicemix.bundles.commons-httpclient-3.1_6.jar
> 312     
> ./org/apache/servicemix/bundles/org.apache.servicemix.bundles.commons-httpclient/3.1_7/org.apache.servicemix.bundles.commons-httpclient-3.1_7.jar
> 316     
> ./org/apache/servicemix/bundles/org.apache.servicemix.bundles.dom4j/1.6.1_2/org.apache.servicemix.bundles.dom4j-1.6.1_2.jar
> 320     
> ./org/apache/servicemix/bundles/org.apache.servicemix.bundles.dom4j/1.6.1_5/org.apache.servicemix.bundles.dom4j-1.6.1_5.jar
> 1272    
> ./org/apache/servicemix/bundles/org.apache.servicemix.bundles.ehcache/2.5.1_1/org.apache.servicemix.bundles.ehcache-2.5.1_1.jar
> 1284    
> ./org/apache/servicemix/bundles/org.apache.servicemix.bundles.ehcache/2.5.2_1/org.apache.servicemix.bundles.ehcache-2.5.2_1.jar
> 136     
> ./org/apache/servicemix/bundles/org.apache.servicemix.bundles.jasypt/1.6_1/org.apache.servicemix.bundles.jasypt-1.6_1.jar
> 128     
> ./org/apache/servicemix/bundles/org.apache.servicemix.bundles.jasypt/1.9.0_1/org.apache.servicemix.bundles.jasypt-1.9.0_1.jar
> 192     
> ./org/apache/servicemix/bundles/org.apache.servicemix.bundles.jsch/0.1.44_2/org.apache.servicemix.bundles.jsch-0.1.44_2.jar
> 232     
> ./org/apache/servicemix/bundles/org.apache.servicemix.bundles.jsch/0.1.48_1/org.apache.servicemix.bundles.jsch-0.1.48_1.jar
> 308     
> ./org/apache/servicemix/bundles/org.apache.servicemix.bundles.jsmpp/2.1.0_2/org.apache.servicemix.bundles.jsmpp-2.1.0_2.jar
> 312     
> ./org/apache/servicemix/bundles/org.apache.servicemix.bundles.jsmpp/2.1.0_4/org.apache.servicemix.bundles.jsmpp-2.1.0_4.jar
> 748     
> ./org/apache/servicemix/bundles/org.apache.servicemix.bundles.netty/3.2.3.Final_2/org.apache.servicemix.bundles.netty-3.2.3.Final_2.jar
> 764     
> ./org/apache/servicemix/bundles/org.apache.servicemix.bundles.netty/3.2.7.Final_1/org.apache.servicemix.bundles.netty-3.2.7.Final_1.jar
> 72      
> ./org/apache/servicemix/bundles/org.apache.servicemix.bundles.oro/2.0.8_3/org.apache.servicemix.bundles.oro-2.0.8_3.jar
> 76      
> ./org/apache/servicemix/bundles/org.apache.servicemix.bundles.oro/2.0.8_6/org.apache.servicemix.bundles.oro-2.0.8_6.jar
> 332     
> ./org/apache/servicemix/bundles/org.apache.servicemix.bundles.protobuf-java/2.3.0_3/org.apache.servicemix.bundles.protobuf-java-2.3.0_3.jar
> 452     
> ./org/apache/servicemix/bundles/org.apache.servicemix.bundles.protobuf-java/2.4.1_1/org.apache.servicemix.bundles.protobuf-java-2.4.1_1.jar
> 396     
> ./org/apache/servicemix/bundles/org.apache.servicemix.bundles.snmp4j/1.10.1_1/org.apache.servicemix.bundles.snmp4j-1.10.1_1.jar
> 284     
> ./org/apache/servicemix/bundles/org.apache.servicemix.bundles.snmp4j/1.8.1_4/org.apache.servicemix.bundles.snmp4j-1.8.1_4.jar
> 452     
> ./org/apache/servicemix/bundles/org.apache.servicemix.bundles.velocity/1.7_4/org.apache.servicemix.bundles.velocity-1.7_4.jar
> 448     
> ./org/apache/servicemix/bundles/org.apache.servicemix.bundles.velocity/1.7_5/org.apache.servicemix.bundles.velocity-1.7_5.jar
> 84      
> ./org/apache/servicemix/bundles/org.apache.servicemix.bundles.werken-xpath/0.9.4_5/org.apache.servicemix.bundles.werken-xpath-0.9.4_5.jar
> 2692    
> ./org/apache/servicemix/bundles/org.apache.servicemix.bundles.xmlbeans/2.5.0_2/org.apache.servicemix.bundles.xmlbeans-2.5.0_2.jar
> 2696    
> ./org/apache/servicemix/bundles/org.apache.servicemix.bundles.xmlbeans/2.6.0_2/org.apache.servicemix.bundles.xmlbeans-2.6.0_2.jar
> 128     
> ./org/apache/servicemix/bundles/org.apache.servicemix.bundles.xpp3/1.1.4c_5/org.apache.servicemix.bundles.xpp3-1.1.4c_5.jar
> 128     
> ./org/apache/servicemix/bundles/org.apache.servicemix.bundles.xpp3/1.1.4c_6/org.apache.servicemix.bundles.xpp3-1.1.4c_6.jar
> 416     
> ./org/apache/servicemix/bundles/org.apache.servicemix.bundles.xstream/1.3_3/org.apache.servicemix.bundles.xstream-1.3_3.jar
> 488     
> ./org/apache/servicemix/bundles/org.apache.servicemix.bundles.xstream/1.4.2_2/org.apache.servicemix.bundles.xstream-1.4.2_2.jar
> 36      
> ./org/apache/servicemix/specs/org.apache.servicemix.specs.scripting-api-1.0/1.9.0/org.apache.servicemix.specs.scripting-api-1.0-1.9.0.jar
> 36      
> ./org/apache/servicemix/specs/org.apache.servicemix.specs.scripting-api-1.0/2.2.0/org.apache.servicemix.specs.scripting-api-1.0-2.2.0.jar
> 48      
> ./org/apache/servicemix/specs/org.apache.servicemix.specs.stax-api-1.0/1.9.0/org.apache.servicemix.specs.stax-api-1.0-1.9.0.jar
> 48      
> ./org/apache/servicemix/specs/org.apache.servicemix.specs.stax-api-1.0/2.2.0/org.apache.servicemix.specs.stax-api-1.0-2.2.0.jar
> 324     ./org/apache/sshd/sshd-core/0.6.0/sshd-core-0.6.0.jar
> 368     ./org/apache/sshd/sshd-core/0.8.0/sshd-core-0.8.0.jar
> 108     ./org/fusesource/hawtdispatch/hawtdispatch/1.11/hawtdispatch-1.11.jar
> 108     ./org/fusesource/hawtdispatch/hawtdispatch/1.12/hawtdispatch-1.12.jar
> 104     
> ./org/fusesource/hawtdispatch/hawtdispatch-transport/1.11/hawtdispatch-transport-1.11.jar
> 124     
> ./org/fusesource/hawtdispatch/hawtdispatch-transport/1.12/hawtdispatch-transport-1.12.jar
> 112     ./org/fusesource/mqtt-client/mqtt-client/1.3/mqtt-client-1.3.jar
> 112     ./org/fusesource/mqtt-client/mqtt-client/1.4/mqtt-client-1.4.jar
> 320     
> ./org/springframework/spring-aop/2.5.6.SEC03/spring-aop-2.5.6.SEC03.jar
> 316     
> ./org/springframework/spring-aop/3.0.7.RELEASE/spring-aop-3.0.7.RELEASE.jar
> 480     
> ./org/springframework/spring-beans/2.5.6.SEC03/spring-beans-2.5.6.SEC03.jar
> 544     
> ./org/springframework/spring-beans/3.0.7.RELEASE/spring-beans-3.0.7.RELEASE.jar
> 468     
> ./org/springframework/spring-context/2.5.6.SEC03/spring-context-2.5.6.SEC03.jar
> 656     
> ./org/springframework/spring-context/3.0.7.RELEASE/spring-context-3.0.7.RELEASE.jar
> 96      
> ./org/springframework/spring-context-support/2.5.6.SEC03/spring-context-support-2.5.6.SEC03.jar
> 100     
> ./org/springframework/spring-context-support/3.0.7.RELEASE/spring-context-support-3.0.7.RELEASE.jar
> 280     
> ./org/springframework/spring-core/2.5.6.SEC03/spring-core-2.5.6.SEC03.jar
> 376     
> ./org/springframework/spring-core/3.0.7.RELEASE/spring-core-3.0.7.RELEASE.jar
> 192     
> ./org/springframework/spring-web/2.5.6.SEC03/spring-web-2.5.6.SEC03.jar
> 392     
> ./org/springframework/spring-web/3.0.7.RELEASE/spring-web-3.0.7.RELEASE.jar
> 396     
> ./org/springframework/spring-webmvc/2.5.6.SEC03/spring-webmvc-2.5.6.SEC03.jar
> 412     
> ./org/springframework/spring-webmvc/3.0.7.RELEASE/spring-webmvc-3.0.7.RELEASE.jar
>
> 156     
> ./org/apache/servicemix/bundles/org.apache.servicemix.bundles.wsdl4j/1.6.2_3/org.apache.servicemix.bundles.wsdl4j-1.6.2_3.jar
> 156     
> ./org/apache/servicemix/bundles/org.apache.servicemix.bundles.wsdl4j/1.6.2_6/org.apache.servicemix.bundles.wsdl4j-1.6.2_6.jar
> 1284    
> ./org/apache/servicemix/bundles/org.apache.servicemix.bundles.ant/1.7.0_4/org.apache.servicemix.bundles.ant-1.7.0_4.jar
> 1288    
> ./org/apache/servicemix/bundles/org.apache.servicemix.bundles.ant/1.7.0_6/org.apache.servicemix.bundles.ant-1.7.0_6.jar
> 248     
> ./org/apache/servicemix/bundles/org.apache.servicemix.bundles.commons-beanutils/1.8.3_1/org.apache.servicemix.bundles.commons-beanutils-1.8.3_1.jar
> 572     
> ./org/apache/servicemix/bundles/org.apache.servicemix.bundles.commons-collections/3.2.1_1/org.apache.servicemix.bundles.commons-collections-3.2.1_1.jar
> 360     
> ./org/apache/servicemix/bundles/org.apache.servicemix.bundles.commons-vfs/1.0_5/org.apache.servicemix.bundles.commons-vfs-1.0_5.jar
> 2688    
> ./org/apache/servicemix/bundles/org.apache.servicemix.bundles.saxon/9.3.0.11_2/org.apache.servicemix.bundles.saxon-9.3.0.11_2.jar
> 2808    
> ./org/apache/servicemix/bundles/org.apache.servicemix.bundles.saxon/9.4.0.1_2/org.apache.servicemix.bundles.saxon-9.4.0.1_2.jar
> 53704   total
>
>
>
> On Jun 27, 2013, at 4:57 PM, Gert Vanthienen <[email protected]> 
> wrote:
>
>> L.S.,
>>
>>
>> On the Apache ServiceMix 4.5.2 vote thread, Dan brought up the fact
>> that there now is a 100 MB upload limit to the dist repository.  Our
>> -full assembly is definitely larger than this and we even make things
>> a bit worse by adding multiple versions of some bundles into the
>> assembly.  This usually happens when multiple versions of the same
>> bundle are being used across projects.
>>
>> The obvious solution would be to check those versions across projects
>> and try to get them aligned as good as we can, but this will be a
>> never-ending task and very hard to keep up in the long run, so I was
>> wondering if there was anything else we could do to make this a bit
>> easier or more automated.
>>
>> For Apache ServiceMix 5.0.0, we could also consider the option of only
>> shipping a ZIP file.  I think it should be possible to create an
>> archive that works on both Windows and other operating systems.  If we
>> could, that would significantly reduce our footprint on Apache's
>> infrastructure, though it would still keep us way above the 100 MB
>> limit if we keep on shipping the -full assembly.
>>
>> Personally, I would prefer to keep that assembly around - the
>> ease/speed of installation of all the extra features outweighs the
>> cost of the extra disk space used on a server in my mind.  But that's
>> just my personal opinion and we can always consider the option of
>> dropping the -full assembly again if it proves too big of an issue for
>> infra@
>>
>>
>> Regards,
>>
>> Gert
>
> --
> Daniel Kulp
> [email protected] - http://dankulp.com/blog
> Talend Community Coder - http://coders.talend.com
>

Reply via email to