geronimo-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Aaron Mulder" <ammul...@alumni.princeton.edu>
Subject Re: Dummies guide to writing plugins
Date Fri, 16 Jun 2006 13:35:37 GMT
On 6/16/06, Davanum Srinivas <davanum@gmail.com> wrote:
> Aaron,
>
> Is there some material on how to write a new plugin? and host a site?
> Perferably something that uses the new binary dist?

There's not much to write a plugin.  Any module running in Geronimo
can be exported as a plugin.  Just go to the Create/Install screen in
the console, select the module to export, and hit "Export Plugin".
The following screen lets you fill out all the plugin metadata fields
(it has some fairly crude defaults).  There's some description of the
fields on the page, but more in the schema (plugins-1.1.xsd, which
unfortunately doesn't seem to be in the schema/ directory but we'll
post it to the web site once the release is cut).  When you save that
the metadata is written into the repository (under your module dir at
META-INF/geronimo-plugin.xml, though you don't need to do anything
with it manually).  Then you click through the next screen and it'll
give you a "Save As" dialog for the plugin file and you can do what
you will with it.

The main thing to keep in mind for authoring plugins is to declare all
your dependencies properly in the environment element of the plan for
the original module (dependencies with no version are OK but
dependencies with no group are not; prerequisites with no group are OK
though), and don't try to use the SharedLib component.

As far as setting up a plugin repository, it's a Maven 2 repo.  It
needs to have the plugin files laid out by their module ID with
maven-metadata.xml files for each artifact (that's all standard Maven
2).  The only additional requirement is a geronimo-plugins.xml file in
the root of the repo, which basically has the consolidated metadata
for all the plugins hosted at the site (also defined by
plugins-1.1.xsd, but in this case using the geronimo-plugin-list root
element).

Thanks,
    Aaron

Mime
View raw message