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
