Basic Usage

Setup Plugin Repository

<project>
    ...
    <pluginRepositories>
        <pluginRepository>
            <id>apache-snapshots</id>
            <name>Apache Snapshots Repository</name>
            <url>http://people.apache.org/repo/m2-snapshot-repository</url>
            <layout>default</layout>
            <snapshots>
                <enabled>true</enabled>
                <updatePolicy>daily</updatePolicy>
                <checksumPolicy>ignore</checksumPolicy>
            </snapshots>
            <releases>
                <enabled>false</enabled>
            </releases>
        </pluginRepository>
        ...
    </pluginRepositories>
    ...
</project>

Define Dependency as Extention

Install as extention to allow 'car' packaging to be used.

<project>
    ...
    <packaging>car</packaging>
    ...
    <build>
        ...
        <plugins>
            ...
            <plugin>
                <groupId>org.apache.geronimo.plugins</groupId>
                <artifactId>car-maven-plugin</artifactId>
                <extensions>true</extensions>
            </plugin>
        </plugins>
        ...
    </build>
    ...
</project>

CAR with Class-Path and Main-Class manifest entries

NOTE: The list of classpath elements is non-transitive.

<project>
    ...
    <packaging>car</packaging>
    ...
    <build>
        ...
        <plugins>
            ...
            <plugin>
                <groupId>org.apache.geronimo.plugins</groupId>
                <artifactId>car-maven-plugin</artifactId>
                <configuration>
                    <archive>
                        <manifestEntries>
                            <Endorsed-Dirs>lib/endorsed</Endorsed-Dirs>
                            <Extension-Dirs>lib/ext</Extension-Dirs>
                        </manifestEntries>
                        <manifest>
                            <mainClass>org.apache.geronimo.system.main.Daemon</mainClass>
                        </manifest>
                    </archive>
                    <classpath>
                        <classpathElement>
                            <groupId>mx4j</groupId>
                            <artifactId>mx4j</artifactId>
                        </classpathElement>
                        <classpathElement>
                            <groupId>mx4j</groupId>
                            <artifactId>mx4j-remote</artifactId>
                        </classpathElement>
                        <classpathElement>
                            <groupId>commons-cli</groupId>
                            <artifactId>commons-cli</artifactId>
                        </classpathElement>
                        <classpathElement>
                            <groupId>commons-logging</groupId>
                            <artifactId>commons-logging</artifactId>
                        </classpathElement>
                        <classpathElement>
                            <groupId>cglib</groupId>
                            <artifactId>cglib-nodep</artifactId>
                        </classpathElement>
                        <classpathElement>
                            <groupId>log4j</groupId>
                            <artifactId>log4j</artifactId>
                        </classpathElement>
                        <classpathElement>
                            <groupId>jline</groupId>
                            <artifactId>jline</artifactId>
                        </classpathElement>
                        <classpathElement>
                            <groupId>xpp3</groupId>
                            <artifactId>xpp3</artifactId>
                        </classpathElement>
                        <classpathElement>
                            <groupId>xstream</groupId>
                            <artifactId>xstream</artifactId>
                        </classpathElement>
                        <classpathElement>
                            <groupId>backport-util-concurrent</groupId>
                            <artifactId>backport-util-concurrent</artifactId>
                        </classpathElement>
                        <classpathElement>
                            <groupId>xerces</groupId>
                            <artifactId>xercesImpl</artifactId>
                            <classpathPrefix>../lib/endorsed</classpathPrefix>
                        </classpathElement>
                        <classpathElement>
                            <groupId>xerces</groupId>
                            <artifactId>xmlParserAPIs</artifactId>
                            <classpathPrefix>../lib/endorsed</classpathPrefix>
                        </classpathElement>
                    </classpath>
                    <classpathPrefix>../lib</classpathPrefix>
                </configuration>
            </plugin>
            ...
        </plugins>
        ...
    </build>
    ...
<project>

Install artifacts into a Geronimo repository

Install arbitrary artifacts into a Geronimo repository.

<plugin>
    <groupId>org.apache.geronimo.plugins</groupId>
    <artifactId>car-maven-plugin</artifactId>
    <executions>
        <execution>
            <id>install-repository</id>
            <phase>compile</phase>
            <goals>
                <goal>install-artifacts</goal>
            </goals>
            <configuration>
                <repositoryDirectory>${project.build.outputDirectory}/repository</repositoryDirectory>
                
                <artifacts>
                    <artifactItem>
                        <groupId>org.apache.geronimo.modules</groupId>
                        <artifactId>ge-activemq-rar</artifactId>
                        <type>rar</type>
                    </artifactItem>
                </artifacts>
            </configuration>
        </execution>
    </executions>
</plugin>