Questions about Depot
Stephen McConnell
mcconnell at dpml.net
Mon Feb 27 20:59:00 EST 2006
> -----Original Message-----
> From: dev-dpml-bounces at lists.ibiblio.org
> [mailto:dev-dpml-bounces at lists.ibiblio.org] On Behalf Of David Leangen
> Sent: Tuesday, 28 February 2006 12:20 AM
> To: DPML Dev
> Subject: Questions about Depot
>
>
> Hi, Steve,
>
> I've been looking at Depot tutorial. It seems very nice.
>
> Do the concepts of templates and plugins still exist? It
> would be nice to be able to provide extensions, when necessary.
For info about template selection:
http://www.dpml.net/depot/tools/templates/index.html
Concerning plugins ...
There are several examples of build-time plugin usage in the codebase. For
example the following Depot <plugin> task loads a custom plugin that does
the work of component definition creation (which is totally unknown to
Depot):
<depot:plugin uri="link:plugin:dpml/metro/dpml-metro-tools"
urn="metro"/>
Once the plugin is loaded you can directly reference it using the 'urn'
argument as the 'xmlns' value.
For example the <component> element is identified as a task defining in the
link:plugin:dpml/metro/dpml-metro-tools plugin by virtue of the 'xmlns'
value
(the xmlns="metro" resolves to the "link:plugin:dpml/metro/dpml-metro-tools"
urn and 'component' is resolved relative to the plugins antlib definition.
<component xmlns="metro" type="net.dpml.http.Server"
lifestyle="singleton">
This provides a fully extendable environment however it also presumes that
build-time plugins are declared as Transit plugins (a restriction that I
hope
to remove before release.
> And what about multiple projects and/or index files? Is this
> possible, or does everything now need to be in one library.xml file?
The library.xml is located by searching from the current directory up the
directory hierarchy until a library.xml file is located. This allows the
possibility for lots of different library definitions, and the possibility
for a library to override a higher-level library (for example the external
module package in DPML has its own library which exists at a deeper level
from the main DPML library.
Cheers, Steve.
More information about the dev-dpml
mailing list