Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

Here's an example of a gshell script to install the roller plugin into the framework assembly and extract a server that only supports roller (and does not include the admin console or any deployment capabilities)

TODO: use something like this: snippet:url=geronimo/plugins/roller/trunk/roller-jetty-commands

TODO: get gshell to accept line continuations as in the following (these DO NOT WORK IN REAL LIFE):

Code Block
# assembles a server containing roller-jetty from the geronimo-framework server.
# run using ./bin/gsh < roller-jetty-commands
deploy/list-plugins -u system -w manager -r file:/Users/david/.m2/repository/\
 org.apache.geronimo.plugins/roller-jetty/0.0.2-SNAPSHOT/car\
 org.apache.geronimo.plugins/roller-themes/0.0.2-SNAPSHOT/car

deploy/assemble -g org.apache.geronimo.assemblies -a geronimo-roller-jetty -v 1.0-SNAPSHOT\
 org.apache.geronimo.assemblies/geronimo-boilerplate-minimal/2.1-SNAPSHOT/jar \
 org.apache.geronimo.plugins/roller-jetty/0.0.2-SNAPSHOT/car\
 org.apache.geronimo.plugins/roller-themes/0.0.2-SNAPSHOT/car

...

The easiest way to assemble a server is to use maven and the car-maven-plugin. The dependencies from your pom will be installed in your server, and if they are plugins they will be installed as modules with all dependencies and stuff unpacked and metadata installed into the correct files. Here's a simple example assembling a server that supports Roller and includes the basic admin console.

Wiki Markup
{snippet:url=geronimo/plugins/roller/trunk/geronimo-jetty-roller/pom.xml|lang=xml}
Code Block
xmlxml

<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>

    <parent>
        <groupId>org.apache.geronimo.plugins</groupId>
        <artifactId>roller-parent</artifactId>
        <version>0.0.2-SNAPSHOT</version>
    </parent>

    <groupId>org.apache.geronimo.assemblies</groupId>
    <artifactId>geronimo-jetty-roller</artifactId>
    <name>Geronimo Assemblies :: Roller + Jetty6</name>
    <packaging>application-assembly</packaging>

    <description>
        A Geronimo server assembly for Roller using the Jetty web-container.
    </description>

    <dependencies>
        <dependency>
            <groupId>org.apache.geronimo.assemblies</groupId>
            <artifactId>geronimo-boilerplate-minimal</artifactId>
            <version>${geronimoVersion}</version>
            <type>jar</type>
        </dependency>

        <dependency>
            <groupId>org.apache.geronimo.plugins</groupId>
            <artifactId>roller-jetty</artifactId>
            <version>${version}</version>
            <type>car</type>
        </dependency>
        <dependency>
            <groupId>org.apache.geronimo.plugins</groupId>
            <artifactId>roller-themes</artifactId>
            <version>${version}</version>
            <type>car</type>
        </dependency>
        <dependency>
            <groupId>org.apache.geronimo.plugins</groupId>
            <artifactId>console-jetty</artifactId>
            <version>${geronimoVersion}</version>
            <type>car</type>
        </dependency>
    </dependencies>

    <build>

        <plugins>

            <plugin>
                <groupId>org.apache.geronimo.buildsupport</groupId>
                <artifactId>car-maven-plugin</artifactId>
                <executions>
                    <execution>
                        <id>install</id>
                        <phase>compile</phase>
                        <goals>
                            <goal>install-modules</goal>
                        </goals>
                    </execution>
                    <execution>
                        <id>archive</id>
                        <phase>package</phase>
                        <goals>
                            <goal>archive</goal>
                        </goals>
                    </execution>
                </executions>
                <configuration>
                    <servers>
                        <serverInstance>
                            <name>default</name>
                            <configFile>var/config/config.xml</configFile>
                            <configSubstitutionsFile>var/config/config-substitutions.properties</configSubstitutionsFile>
                            <configSubstitutionsPrefix>org.apache.geronimo.config.substitution.</configSubstitutionsPrefix>
                            <artifactAliasesFile>var/config/artifact_aliases.properties</artifactAliasesFile>
                        </serverInstance>
                        <serverInstance>
                            <name>client</name>
                            <attributeManagerFrom>default</attributeManagerFrom>
                            <artifactAliasesFile>var/config/client_artifact_aliases.properties</artifactAliasesFile>
                        </serverInstance>
                        <serverInstance>
                            <name>offline</name>
                            <configFile>var/config/offline-deployer-config.xml</configFile>
                            <configSubstitutionsFile>var/config/config-substitutions.properties</configSubstitutionsFile>
                            <configSubstitutionsPrefix>org.apache.geronimo.config.substitution.</configSubstitutionsPrefix>
                            <artifactAliasesFile>var/config/artifact_aliases.properties</artifactAliasesFile>
                        </serverInstance>
                        <serverInstance>
                            <name>jsr88</name>
                            <configFile>var/config/jsr88-configurer-config.xml</configFile>
                            <configSubstitutionsFile>var/config/config-substitutions.properties</configSubstitutionsFile>
                            <configSubstitutionsPrefix>org.apache.geronimo.config.substitution.</configSubstitutionsPrefix>
                            <artifactAliasesFile>var/config/artifact_aliases.properties</artifactAliasesFile>
                        </serverInstance>
                    </servers>
                </configuration>
            </plugin>
        </plugins>
    </build>

</project>