David Jencks wrote:
>  Fredrik Jonson wrote:
> >
> > I'm looking for a simple example geronimo plugin project.
> 
>  Building all of geronimo itself is the best way to see a lot of plugin  
>  projects.  Most of them are "service" plugins but there are a lot of
>  javaee applications in there too.

That seems a bit daunting. I'll try it... some day... ;)

On the bright side I have finally managed to build and deploy a simple plugin!
The reason I failed last week was due to a combination of PEBCAK and maybe a bit
of complexity and lack of documentation in the car-maven-plugin. What I did was:

1. Tried to package a plugin with a broken plan.xml. I tried to copy the 
activemq-broker
   plugin from current trunk (2.2-SNAPSHOT) and that project configuration is a 
bit
   strange, lots of parent modules and their transitive dependencies made it 
hard to
   overview what parameters, configurations and files (history?) that actually 
is required,
   and what is just specific to that module.

2. PEBCAK. I tried to install the plugin using the "deploy" command instead of
   "install-plugin". Completely my own fault.

Two major gothas for me was:

1. Not declaring the geronimoVersion property in the pom.
2. Not declaring "<extensions>true</extensions>" on the plugin configuration.

If anyone else is interested, my very minimal geronimo-plugin example project
is included below. The dependency org.example/provider is simply a jar module
that contains the ExampleGBean implementation.

|-- pom.xml
`-- src
    `-- main
        `-- plan
            `-- plan.xml

--- pom.xml ---

<?xml version="1.0"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"; 
  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";
  xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 
http://maven.apache.org/maven-v4_0_0.xsd";>
  <modelVersion>4.0.0</modelVersion>
  <groupId>org.example</groupId>
  <artifactId>plugin</artifactId>
  <version>1.0-SNAPSHOT</version>
  <packaging>car</packaging>
  <properties>
    <geronimoVersion>2.1.4</geronimoVersion>
  </properties>
  <dependencies>
    <dependency>
      <groupId>org.example</groupId>
      <artifactId>provider</artifactId>
      <version>${version}</version>
    </dependency>
  </dependencies>
  <build>
    <plugins>
      <plugin>
        <groupId>org.apache.geronimo.buildsupport</groupId>
        <artifactId>car-maven-plugin</artifactId>
        <version>2.1.4</version>
        <extensions>true</extensions>
        <configuration>
          <useMavenDependencies>
            <value>true</value>
            <includeVersion>true</includeVersion>
          </useMavenDependencies>
          <category>JMS</category>
        </configuration>
      </plugin>
    </plugins>
  </build>
</project>

--- src/main/plan/plan.xml ---

<?xml version="1.0" encoding="UTF-8"?>
<module xmlns="http://geronimo.apache.org/xml/ns/deployment-1.2";>
  <gbean name="ExampleGBean" class="org.example.gbean.ExampleGBean">
  </gbean>
</module>

-- 
Fredrik Jonson

Reply via email to