Hi Dan,
I think this really makes sense. Is there already an issue for this task?
I would combine the following modules:
cxf-api
cxf-common-schemas
cxf-common-utilities
cxf-rt-core:jar
That would at least make the set of dependencies cxf produces by itself
smaller.
The set above depends on:
[INFO] [dependency:list]
[INFO]
[INFO] The following files have been resolved:
[INFO] aopalliance:aopalliance:jar:1.0:compile
[INFO] com.sun.xml.bind:jaxb-impl:jar:2.1.7:compile
[INFO] com.sun.xml.fastinfoset:FastInfoset:jar:1.2.2:compile
[INFO] commons-lang:commons-lang:jar:2.4:compile
[INFO] commons-logging:commons-logging:jar:1.1.1:compile
[INFO] javax.xml.bind:jaxb-api:jar:2.1:compile
[INFO] javax.xml.stream:stax-api:jar:1.0-2:compile
[INFO] org.apache.cxf:cxf-api:jar:2.2-SNAPSHOT:compile
[INFO] org.apache.cxf:cxf-common-schemas:jar:2.2-SNAPSHOT:compile
[INFO] org.apache.cxf:cxf-common-utilities:jar:2.2-SNAPSHOT:compile
[INFO] org.apache.cxf:cxf-rt-core:jar:2.2-SNAPSHOT:compile
[INFO]
org.apache.geronimo.specs:geronimo-activation_1.1_spec:jar:1.0.2:compile
[INFO]
org.apache.geronimo.specs:geronimo-annotation_1.0_spec:jar:1.1.1:compile
[INFO]
org.apache.geronimo.specs:geronimo-javamail_1.4_spec:jar:1.5:compile
[INFO]
org.apache.geronimo.specs:geronimo-stax-api_1.0_spec:jar:1.0.1:compile
[INFO] org.apache.neethi:neethi:jar:2.0.4:compile
[INFO] org.apache.ws.commons.schema:XmlSchema:jar:1.4.2:compile
[INFO] org.codehaus.woodstox:wstx-asl:jar:3.2.6:compile
[INFO] org.springframework:spring-beans:jar:2.5.5:compile
[INFO] org.springframework:spring-context:jar:2.5.5:compile
[INFO] org.springframework:spring-core:jar:2.5.5:compile
[INFO] wsdl4j:wsdl4j:jar:1.6.2:compile
[INFO] xml-resolver:xml-resolver:jar:1.2:compile
Btw. I have found the dependency:analyze goal. This looks like it could
help us. For cxf-rt-core it reported that jaxb-impl is declared but not
used.
Interestingly it says the following about cxf-api:
[INFO] [dependency:analyze]
[WARNING] Used undeclared dependencies found:
[WARNING]
org.apache.geronimo.specs:geronimo-stax-api_1.0_spec:jar:1.0.1:compile
[WARNING] commons-lang:commons-lang:jar:2.4:compile
[WARNING] javax.xml.bind:jaxb-api:jar:2.1:compile
[WARNING] org.easymock:easymock:jar:2.4:test
[WARNING] wsdl4j:wsdl4j:jar:1.6.2:compile
[WARNING] Unused declared dependencies found:
[WARNING]
org.apache.geronimo.specs:geronimo-annotation_1.0_spec:jar:1.1.1:compile
[WARNING] com.sun.xml.bind:jaxb-xjc:jar:2.1.9:test
[WARNING] org.apache.cxf:cxf-common-schemas:jar:2.2-SNAPSHOT:compile
[WARNING] org.codehaus.woodstox:wstx-asl:jar:3.2.6:compile
[WARNING] com.sun.xml.bind:jaxb-impl:jar:2.1.9:test
[WARNING] org.apache.cxf:cxf-xjc-dv:jar:2.2-SNAPSHOT:test
and for cxf-common-utilities:
[INFO] [dependency:analyze]
[WARNING] Used undeclared dependencies found:
[WARNING] org.easymock:easymock:jar:2.4:test
[WARNING] cglib:cglib-nodep:jar:2.1_3:test
[WARNING] Unused declared dependencies found:
[WARNING] org.codehaus.woodstox:wstx-asl:jar:3.2.6:test
[WARNING]
org.apache.geronimo.specs:geronimo-activation_1.1_spec:jar:1.0.2:test
[WARNING] com.sun.xml.messaging.saaj:saaj-impl:jar:1.3.2:test
[WARNING] xml-resolver:xml-resolver:jar:1.2:compile
Greetings
Christian
Daniel Kulp schrieb:
Honestly, one of the things I keep thinking about for 3.0 is combining
common-utilities, api, and rt/core into a single "cxf-kernel" or something.
common-utilities and api seperation is pretty much useless. The utilities
are as much a part of the api as the stuff in the api module is. The reason
they were separated goes WAY WAY back to M1 days when the tools didn't depend
on core. That reason is now long gone and having them separate is almost
pointless.
But to this discussion, making the API module depend on less things really
won't solve the problem at all. You cannot really do anything without
depending on cxf-rt-core. Thus, if you move a dependency from API to core,
it doesn't change the fact that it would get pulled in for any cxf
application.
Dan
--
Christian Schneider
---
http://www.liquid-reality.de