On Wed, Sep 29, 2010 at 6:25 PM, Raymond Feng <enjoyj...@gmail.com> wrote: > Hi, > What's the difference between "feature" and "extension"? > Thanks, > Raymond
In the bundle plugin config you mean? In reality in the code nothing at the moment. I had looked on features as being a somewhat arbitrary but functional collection of jars from the modules directory. Extensions though have a special meaning in SCA and Tuscany in that they relate to binding.?, implementation.?, policy.? etc and "extend" the base SCA function that the Assembly spec defines. So I kept them separate. >From a tuscany point of view an extension will typically be made up of a model, a runtime and any associated dependencies. As you see from the listing they currently end up generating the same sort of output and all end up under features at the moment. The meta data that's generated is consistent on purpose of course as demonstrated by the examples I included. The idea being that you can specify base + extension using the same approach for both (whatever the approach happens to be). There is an issue though. The extension meta-data repeats all the dependencies that base provides. This actually doesn't make a difference because the duplicates don't have a material impact on the classpath (other than we might generate a classpath that is too long). Aesthetically, and possibly for classpath length reasons, though it's not that pleasing and so it could be useful to know when we're dealing with extensions to filter our base dependencies from their meta data. Another thing this reminds me to ask... You'll note that I don't generate config.ini for extensions as I don't know of a way of loading more than one into Exquinox (other than possibly a manual merge). Any ideas? Simon -- Apache Tuscany committer: tuscany.apache.org Co-author of a book about Tuscany and SCA: tuscanyinaction.com