On Sep 5, 2006, at 5:26 PM, Chris Wall wrote:
snip...

2.) Along the lines of #1, where should extension scdls be placed?
> And how should the main webapp scdl reference these extension
> scdls.  I've been hacking webapp.system.scdl with <include.../>
> references.  Obviously this isn't friendly and invasive to
> Tuscany's core.  Could Tuscany append scdls located in a specific
> location (WEB-INF/tuscany/extensions/scdl) or query the classpath or?

I was envisioning extension scdls would be packaged in the
extension's jar (making it a composite jar) and that jar would be
placed in WEB-INF/tuscany/extension by the plugin. There would be an
extender in the webapp-host system scdl that would scan that webapp
resource (like the DirectoryScanExtender but using
ServletContext.getResourcePaths() instead of File.listFiles()). The
extension "directory" could also contain bare XML files (with any
code being located through <dependency> elements in the XML).


I like. As far as assembly goes, could we feed the plugin a list of XML
files?

The plugin works off a list of maven dependencies; these default to being jars but can actually have any type including XML:

  .. <plugin>
       <configuration>
         <extensions>
           <dependency>
             <!-- com.example/ext1-1.0.jar -->
             <groupId>com.example</groupId>
             <artifactId>ext1</artifactId>
             <version>1.0</version>
             <type>composite</type>
           </dependency>
           <dependency>
             <!-- com.example/ext2-1.0.xml -->
             <groupId>com.example</groupId>
             <artifactId>ext2</artifactId>
             <version>1.0</version>
             <type>xml</type>
           </dependency>

And, of course, an extension (as a jar or as xml) can include other composites or can contain a component implemented by another composite. Either of these techniques could be used to include multiple extensions.

--
Jeremy

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to