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





--

Christian Schneider
---
http://www.liquid-reality.de

Reply via email to