Hi raymond On Mon, Oct 18, 2010 at 5:39 PM, Raymond Feng <[email protected]> wrote: > Hi, > I saw a bunch of changes in the pom.xml for modules to replace the > "fine-grained" dependency to "tuscany-core-runtime". I don't think it's a > good idea for two reasons: > 1. Features are used to describe a collection of modules. At this point, > "modules" and "features" are under two trees. With this change, we cannot > build the "modules" alone any more as it depends on "features".
When I made the aggregated description I wanted a simple way to describe what collection of modules an extension needed to depend on. The Tuscany core SPI has always been somewhat difficult to tie down and subsequently the dependencies we placed in our existing poms were somewhat random and hard to describe consistently in this respect. Anyhow I made the core pom (simply as a way to describe the collection of core modules) and needed somewhere to put it so I put it in the features directory. This was probably a mistake as, having had the chance to think about this for a couple of weeks now I realize that the features and these new runtime poms are different. I believe now that the features are intended to describe fully configured subsets of the Tuscany runtime that could be releases. These runtime collections are not that. They are incremental descriptions that build on one another. In particular the core runtime is the compile dependency that extensions use. The base runtime builds on this and provides the base runtime functions that the extensions need for testing (it actually has more than this in and the precise content hasn't settled down yet but you get the idea). so 1 could easily be solved by moving the *-runtime poms into /modules which would get my +1. > 2. There are more modules/jars in the tuscany-core-runtime pom than an > extension requires, for example, databinding-json doesn't require core, > host-http, binding-ws, etc. You mean "that an extension doesn't require"? If so I imagine that's the case. And this goes some way to demonstrating the problem we have in Tuscany of not knowing precisely what's required at a simplistic level. I would say the core-runtime should have at least what is required to implement any extension type. If we've missed things out then we need to add them. If we've added too many things then we should consider thinning it out assuming nothing breaks. The objective being to end up with the list of modules that really are the core compile dependencies for creating Tuscany extensions. I'm not proposing that we have a core-binding-runtime, core-databinding-runtime, etc. Of course we could but that seems to add an extra layer of complexity just at the moment so I think we should come back and review that later. > At least, I want to see a solution for 1. > Thanks, > Raymond > ________________________________________________________________ > Raymond Feng > [email protected] > Apache Tuscany PMC member and committer: tuscany.apache.org > Co-author of Tuscany SCA In Action book: www.tuscanyinaction.com > Personal Web Site: www.enjoyjava.com > ________________________________________________________________ > On Oct 18, 2010, at 3:49 AM, [email protected] wrote:
