On Wed, Mar 10, 2010 at 1:53 PM, kelvin goodson <[email protected]> wrote: > There's a first output from my endeavours at [1] > > I haven't checked the output, but how does this generally fit the bill? > > Kelvin > > [1] http://people.apache.org/~kelvingoodson/digests/out.xml >
Nice. As a short term measure we can tell which code has changed easily without having to revert to looking up each file in the svn log. We need to filter it down a bit though. What we do need to do is be more precise about what we mean about SPI. Probably down to the level of classes we expect people to extend vs classes we expect people to call. A way of attacking this would be to take each of the extension types in turn; SCA specific ones -------------------------- binding implementation interface policy Tuscany runtime specific ones --------------------------------------------- databinding contribution host monitor extensibility endpointregistry etc. And look at which SPI like classes are used in each case. Then rather than just having a long list of SPI packages/classes which is difficult to understand at least we could identify those used when creating a particular extension type. So, for example, we could take a binding like binding.ws (it's relatively interesting) and look at it's dependencies. Obviously there are dependencies between the modules starting binding-ws-xxx however we are interested in the other, non-atom, Tuscany dependencies. We can ignore all the 3rd party and test dependencies. So the list I see for binding-ws (produced with mvn dependency:tree) is [INFO] org.apache.tuscany.sca:tuscany-binding-ws:jar:2.0-SNAPSHOT [INFO] +- org.apache.tuscany.sca:tuscany-contribution:jar:2.0-SNAPSHOT:compile [INFO] | +- org.apache.tuscany.sca:tuscany-assembly:jar:2.0-SNAPSHOT:compile [INFO] | | \- org.apache.tuscany.sca:tuscany-monitor:jar:2.0-SNAPSHOT:compile [INFO] | +- org.apache.tuscany.sca:tuscany-assembly-xsd:jar:2.0-SNAPSHOT:compil e [INFO] | +- org.apache.tuscany.sca:tuscany-extensibility:jar:2.0-SNAPSHOT:compi le [INFO] | +- org.apache.tuscany.sca:tuscany-common-xml:jar:2.0-SNAPSHOT:compile [INFO] | \- org.apache.tuscany.sca:tuscany-common-java:jar:2.0-SNAPSHOT:compile [INFO] | \- org.apache.tuscany.sca:tuscany-sca-api:jar:2.0-SNAPSHOT:compile [INFO] +- org.apache.tuscany.sca:tuscany-assembly-xml:jar:2.0-SNAPSHOT:compile [INFO] | +- org.apache.geronimo.specs:geronimo-stax-api_1.0_spec:jar:1.0.1:comp ile [INFO] | \- org.codehaus.woodstox:wstx-asl:jar:3.2.4:runtime [INFO] +- org.apache.tuscany.sca:tuscany-interface-wsdl:jar:2.0-SNAPSHOT:compile [INFO] | +- org.apache.tuscany.sca:tuscany-xsd:jar:2.0-SNAPSHOT:compile [INFO] | \- org.apache.ws.commons.schema:XmlSchema:jar:1.4.3:compile [INFO] +- wsdl4j:wsdl4j:jar:1.6.2:compile [INFO] +- org.apache.tuscany.sca:tuscany-builder:jar:2.0-SNAPSHOT:test [INFO] +- org.apache.tuscany.sca:tuscany-core:jar:2.0-SNAPSHOT:test [INFO] | +- org.apache.tuscany.sca:tuscany-core-spi:jar:2.0-SNAPSHOT:test [INFO] | +- org.apache.tuscany.sca:tuscany-interface-java:jar:2.0-SNAPSHOT:test [INFO] | +- cglib:cglib:jar:2.2:test [INFO] | \- asm:asm:jar:3.1:test [INFO] +- org.apache.tuscany.sca:tuscany-binding-sca-runtime:jar:2.0-SNAPSHOT:te st [INFO] | \- org.apache.tuscany.sca:tuscany-databinding:jar:2.0-SNAPSHOT:test [INFO] \- junit:junit:jar:4.8.1:test Extracting the real dependencies gives tuscany-contribution - processor and resolver base classes tuscany-assembly - assembly models tuscany-monitor - error reporting tuscany-assembly-xsd - model schema (don't know why it needs this here) tuscany-extensibility - locating extension points tuscany-common-xml - xml utilities tuscany-common-java - java utilities tuscany-sca-api - the SCA api (don't know why it needs this here, possibly for annotations) tuscany-assembly-xml - processor base classes tuscany-interface-wsdl - models WSDL interfaces tuscany-xsd - models schema If you look across the bindings it would be nice to think a pattern emerges. Ultimately we'll end up with a list again of course but well be able to add more detail about what each of the SPIs is for. Simon
