And if you use "mvn dependency:tree": [dependency:tree] org.apache.cxf:cxf-api:jar:2.2-SNAPSHOT +- junit:junit:jar:4.4:test +- org.easymock:easymockclassextension:jar:2.4:test | +- org.easymock:easymock:jar:2.4:test | \- cglib:cglib-nodep:jar:2.1_3:test +- org.apache.geronimo.specs:geronimo-activation_1.1_spec:jar:1.0.2:compile +- org.apache.cxf:cxf-common-utilities:jar:2.2-SNAPSHOT:compile | +- org.springframework:spring-core:jar:2.5.5:compile | +- org.springframework:spring-beans:jar:2.5.5:compile | +- org.springframework:spring-context:jar:2.5.5:compile | | \- aopalliance:aopalliance:jar:1.0:compile | +- javax.xml.bind:jaxb-api:jar:2.1:compile | +- org.apache.geronimo.specs:geronimo-stax-api_1.0_spec:jar:1.0.1:compile | +- wsdl4j:wsdl4j:jar:1.6.2:compile | +- xml-resolver:xml-resolver:jar:1.2:compile | \- commons-lang:commons-lang:jar:2.4:compile +- org.apache.ws.commons.schema:XmlSchema:jar:1.4.2:compile +- com.sun.xml.bind:jaxb-xjc:jar:2.1.9:test +- com.sun.xml.bind:jaxb-impl:jar:2.1.9:test +- org.apache.geronimo.specs:geronimo-annotation_1.0_spec:jar:1.1.1:compile +- org.apache.geronimo.specs:geronimo-j2ee-connector_1.5_spec:jar:2.0.0:provided +- org.codehaus.woodstox:wstx-asl:jar:3.2.6:compile +- org.apache.neethi:neethi:jar:2.0.4:compile | \- commons-logging:commons-logging:jar:1.1.1:compile +- org.apache.cxf:cxf-common-schemas:jar:2.2-SNAPSHOT:compile \- org.apache.cxf:cxf-xjc-dv:jar:2.2-SNAPSHOT:test
And then pull out the "test" and "provided" scoped deps: org.apache.cxf:cxf-api:jar:2.2-SNAPSHOT +- org.apache.geronimo.specs:geronimo-activation_1.1_spec:jar:1.0.2:compile +- org.apache.cxf:cxf-common-utilities:jar:2.2-SNAPSHOT:compile | +- org.springframework:spring-core:jar:2.5.5:compile | +- org.springframework:spring-beans:jar:2.5.5:compile | +- org.springframework:spring-context:jar:2.5.5:compile | | \- aopalliance:aopalliance:jar:1.0:compile | +- javax.xml.bind:jaxb-api:jar:2.1:compile | +- org.apache.geronimo.specs:geronimo-stax-api_1.0_spec:jar:1.0.1:compile | +- wsdl4j:wsdl4j:jar:1.6.2:compile | +- xml-resolver:xml-resolver:jar:1.2:compile | \- commons-lang:commons-lang:jar:2.4:compile +- org.apache.ws.commons.schema:XmlSchema:jar:1.4.2:compile +- org.apache.geronimo.specs:geronimo-annotation_1.0_spec:jar:1.1.1:compile +- org.codehaus.woodstox:wstx-asl:jar:3.2.6:compile +- org.apache.neethi:neethi:jar:2.0.4:compile | \- commons-logging:commons-logging:jar:1.1.1:compile +- org.apache.cxf:cxf-common-schemas:jar:2.2-SNAPSHOT:compile Honesly, I'm not sure if anything there is actually removable. MAYBE mark Neethi as provided, but it would still be pulled in later. xml-resolve could potentially be pulled if we add code to detect it's not there and then not support catalogs in that case. Dan On Monday 01 December 2008 3:03:08 pm Christian Schneider wrote: > Hi Benson, > > I think a good example is cxf-api. It depends on: > - neethi > - cxf-common utilities > - cxf-common-schemas > - geronimo-activation > - geronimo-j2ee-connector_1.5_spec > - XmlSchema > - wstx-asl > - geronimo-annotation_1.0_spec > > When you include transitive dependencies it is even worse: > > - wsdl4j > - commons-lang > - geronimo-stax-api_1.0_spec > - spring-context > - jaxb-api > - xml-resolver > - spring-beans > - aopaliance > - spring-core > - commons-logging > > No one can tell me that an api package needs all this. ;-) > Most transitive dependencies come from cxf-common-utilities. So I think > a good starting point would be to try to remove the dependency to > commons-utilities. > > To keep track of dependencies we could do some metrics. For example we > could track the number of direct and transitive dependencies for each > module over time. Then we could set the goal for us all to try to lower > the dependency numbers over time. > > Greetings > > Christian > > Benson Margulies schrieb: > > Christian, > > > > This perhaps ought to move to dev, but ... > > > > What exactly do you have in mind when you say, 'clean out'? > > > > It might be one of several things. > > > > 1) Divorce CXF entirely from some of its dependencies. > > 2) Document much more carefully what you actually have to have to > > operate in various popular scenarios. > > 3) tweak the Maven dependencies so that a vanilla user doing a vanilla > > build downloads a less stuff? > > > > --benson > > > >> -- > >> > >> Christian Schneider > >> --- > >> http://www.liquid-reality.de -- Daniel Kulp [EMAIL PROTECTED] http://dankulp.com/blog
