Start line:  
End line:  

Snippet Preview

Snippet HTML Code

Stack Overflow Questions
<?xml version="1.0" encoding="UTF-8"?>
<plugin>
  <name>Rails3 Maven Mojo</name>
  <description>shared dependencies and plugins for the mojos</description>
  <groupId>de.saumya.mojo</groupId>
  <artifactId>rails3-maven-plugin</artifactId>
  <version>1.0.0</version>
  <goalPrefix>rails3</goalPrefix>
  <isolatedRealm>false</isolatedRealm>
  <inheritedByDefault>true</inheritedByDefault>
  <mojos>
    <mojo>
      <goal>pom</goal>
      <description></description>
      <requiresDirectInvocation>false</requiresDirectInvocation>
      <requiresProject>false</requiresProject>
      <requiresReports>false</requiresReports>
      <aggregator>false</aggregator>
      <requiresOnline>false</requiresOnline>
      <inheritedByDefault>true</inheritedByDefault>
      <implementation>de.saumya.mojo.rails3.PomMojo</implementation>
      <language>java</language>
      <instantiationStrategy>per-lookup</instantiationStrategy>
      <executionStrategy>once-per-session</executionStrategy>
      <parameters>
        <parameter>
          <name>args</name>
          <type>java.lang.String</type>
          <required>false</required>
          <editable>true</editable>
          <description>common arguments
&lt;br/&gt;
Command line -Dargs=...</description>
        </parameter>
        <parameter>
          <name>binDirectory</name>
          <type>java.io.File</type>
          <required>false</required>
          <editable>true</editable>
          <description>directory of JRuby bin path to use when forking JRuby.
&lt;br/&gt;
Command line -Dgem.binDirectory=...</description>
        </parameter>
        <parameter>
          <name>classRealm</name>
          <type>org.codehaus.classworlds.ClassRealm</type>
          <required>false</required>
          <editable>false</editable>
          <description>classrealm for internal use.</description>
        </parameter>
        <parameter>
          <name>env</name>
          <type>java.lang.String</type>
          <required>false</required>
          <editable>true</editable>
          <description>either development or test or production or whatever else is possible
with your config</description>
        </parameter>
        <parameter>
          <name>force</name>
          <type>boolean</type>
          <required>false</required>
          <editable>true</editable>
          <description></description>
        </parameter>
        <parameter>
          <name>gemHome</name>
          <type>java.io.File</type>
          <required>false</required>
          <editable>true</editable>
          <description>directory of gem home to use when forking JRuby. default will be ignored
when gemUseSystem is true.
&lt;br/&gt;
Command line -Dgem.home=...</description>
        </parameter>
        <parameter>
          <name>gemPath</name>
          <type>java.io.File</type>
          <required>false</required>
          <editable>true</editable>
          <description>directory of JRuby path to use when forking JRuby. default will be ignored
when gemUseSystem is true.
&lt;br/&gt;
Command line -Dgem.path=...</description>
        </parameter>
        <parameter>
          <name>gemUseSystem</name>
          <type>boolean</type>
          <required>false</required>
          <editable>true</editable>
          <description>use system gems instead of setting up GemPath/GemHome inside the build directory and ignores any set
gemHome and gemPath. you need to have both GEM_HOME and GEM_PATH environment variable set to make it work.
&lt;br/&gt;
Command line -Dgem.useSystem=...</description>
        </parameter>
        <parameter>
          <name>gemfile</name>
          <type>java.io.File</type>
          <required>false</required>
          <editable>true</editable>
          <description></description>
        </parameter>
        <parameter>
          <name>includeGemsInResources</name>
          <type>boolean</type>
          <required>false</required>
          <editable>true</editable>
          <description>flag whether to include all gems to resources, i.e. to classpath or not.
the difference to the &lt;code&gt;includeRubygemsInResources&lt;/code&gt; is that it 
does not depend on rubygems during runtime since the required_path of the 
gems gets added to resources. note that it expect the required_path of the 
gem to be &lt;b&gt;lib&lt;/b&gt; which is the default BUT that is not true for all gems.
in this sense this feature is incomplete and might not work for you !!!

this feature can be helpful in situations where the classloader does not work
for rubygems due to rubygems uses file system globs to find the gems and this
only works if the classloader reveals the jar url of its jars (i.e. URLClassLoader).
for example OSGi classloader can not work with rubygems !! 
&lt;br/&gt;
Command line -Dgem.includeGemsInResources=...</description>
        </parameter>
        <parameter>
          <name>includeLibDirectoryInResources</name>
          <type>boolean</type>
          <required>false</required>
          <editable>true</editable>
          <description>/**
flag whether to include file under the lib directory
&lt;br/&gt;
Command line -Dgem.includeRubygemsInResources=...</description>
        </parameter>
        <parameter>
          <name>includeOpenSSL</name>
          <type>boolean</type>
          <required>false</required>
          <editable>true</editable>
          <description>flag whether to include open-ssl gem or not
&lt;br/&gt;
Command line -Dgem.includeOpenSSL=...</description>
        </parameter>
        <parameter>
          <name>includeRubygemsInResources</name>
          <type>boolean</type>
          <required>false</required>
          <editable>true</editable>
          <description>flag whether to include all gems to resources, i.e. to classpath or not
&lt;br/&gt;
Command line -Dgem.includeRubygemsInResources=...</description>
        </parameter>
        <parameter>
          <name>includeRubygemsInTestResources</name>
          <type>boolean</type>
          <required>false</required>
          <editable>true</editable>
          <description>flag whether to include all gems to test-resources, i.e. to test-classpath or not
&lt;br/&gt;
Command line -Dgem.includeRubygemsInTestResources=...</description>
        </parameter>
        <parameter>
          <name>installRDoc</name>
          <type>boolean</type>
          <required>false</required>
          <editable>true</editable>
          <description>flag whether to install rdocs of the used gems or not
&lt;br/&gt;
Command line -Dgem.installRDoc=...</description>
        </parameter>
        <parameter>
          <name>installRI</name>
          <type>boolean</type>
          <required>false</required>
          <editable>true</editable>
          <description>flag whether to install ri of the used gems or not
&lt;br/&gt;
Command line -Dgem.installRDoc=...</description>
        </parameter>
        <parameter>
          <name>jrubyFork</name>
          <type>boolean</type>
          <required>false</required>
          <editable>true</editable>
          <description>fork the JRuby execution.
&lt;br/&gt;
Command line -Djruby.fork=...</description>
        </parameter>
        <parameter>
          <name>jrubyJvmArgs</name>
          <type>java.lang.String</type>
          <required>false</required>
          <editable>true</editable>
          <description>jvm arguments for the java command executing jruby
&lt;br/&gt;
Command line -Djruby.jvmargs=...</description>
        </parameter>
        <parameter>
          <name>jrubySwitches</name>
          <type>java.lang.String</type>
          <required>false</required>
          <editable>true</editable>
          <description>switches for the jruby command, like &apos;--1.9&apos;
&lt;br/&gt;
Command line -Djruby.switches=...</description>
        </parameter>
        <parameter>
          <name>jrubyVerbose</name>
          <type>boolean</type>
          <required>false</required>
          <editable>true</editable>
          <description>verbose jruby related output
&lt;br/&gt;
Command line -Djruby.verbose=...</description>
        </parameter>
        <parameter>
          <name>jrubyVersion</name>
          <type>java.lang.String</type>
          <required>false</required>
          <editable>true</editable>
          <description>if the pom.xml has no runtime dependency to a jruby-complete.jar then
this version is used to resolve the jruby-complete dependency from the
local/remote maven repository. it overwrites the jruby version from
the dependencies if any. i.e. you can easily switch jruby version from the commandline !
&lt;br/&gt;
default: 1.7.12
&lt;br/&gt;
Command line -Djruby.version=...</description>
        </parameter>
        <parameter>
          <name>launchDirectory</name>
          <type>java.io.File</type>
          <required>false</required>
          <editable>true</editable>
          <description>the launch directory for the JRuby execution.
&lt;br/&gt;
Command line -Djruby.launchDirectory=...</description>
        </parameter>
        <parameter>
          <name>libDirectory</name>
          <type>java.io.File</type>
          <required>false</required>
          <editable>true</editable>
          <description>directory with ruby sources - added to ruby loadpath only
&lt;br/&gt;
Command line -Djruby.lib=...</description>
        </parameter>
        <parameter>
          <name>localRepository</name>
          <type>org.apache.maven.artifact.repository.ArtifactRepository</type>
          <required>true</required>
          <editable>false</editable>
          <description>local repository for internal use.</description>
        </parameter>
        <parameter>
          <name>plugin</name>
          <type>org.apache.maven.plugin.descriptor.PluginDescriptor</type>
          <required>false</required>
          <editable>true</editable>
          <description></description>
        </parameter>
        <parameter>
          <name>pom</name>
          <type>java.io.File</type>
          <required>false</required>
          <editable>true</editable>
          <description></description>
        </parameter>
        <parameter>
          <name>project</name>
          <type>org.apache.maven.project.MavenProject</type>
          <required>true</required>
          <editable>true</editable>
          <description>reference to maven project for internal use.</description>
        </parameter>
        <parameter>
          <name>railsDir</name>
          <type>java.io.File</type>
          <required>false</required>
          <editable>true</editable>
          <description></description>
        </parameter>
        <parameter>
          <name>repoSession</name>
          <type>java.lang.Object</type>
          <required>false</required>
          <editable>false</editable>
          <description></description>
        </parameter>
        <parameter>
          <name>rubySourceDirectory</name>
          <type>java.io.File</type>
          <required>false</required>
          <editable>true</editable>
          <description>directory with ruby sources - added to java classpath and ruby loadpath
&lt;br/&gt;
Command line -Djruby.sourceDirectory=...</description>
        </parameter>
        <parameter>
          <name>supportNative</name>
          <type>boolean</type>
          <required>false</required>
          <editable>true</editable>
          <description>flag to indicate to setup jruby&apos;s native support for C-extensions
&lt;br/&gt;
Command line -Dgem.supportNative=...</description>
        </parameter>
      </parameters>
      <configuration>
        <args implementation="java.lang.String">${args}</args>
        <binDirectory implementation="java.io.File">${gem.binDirectory}</binDirectory>
        <classRealm implementation="org.codehaus.classworlds.ClassRealm">${dummyExpression}</classRealm>
        <env implementation="java.lang.String">${rails.env}</env>
        <force implementation="boolean" default-value="false">${pom.force}</force>
        <gemHome implementation="java.io.File" default-value="${project.build.directory}/rubygems">${gem.home}</gemHome>
        <gemPath implementation="java.io.File" default-value="${project.build.directory}/rubygems">${gem.path}</gemPath>
        <gemUseSystem implementation="boolean" default-value="false">${gem.useSystem}</gemUseSystem>
        <gemfile implementation="java.io.File" default-value="${basedir}/Gemfile">${pom.gemfile}</gemfile>
        <includeGemsInResources implementation="boolean" default-value="false">${gem.includeGemsInResources}</includeGemsInResources>
        <includeLibDirectoryInResources implementation="boolean" default-value="false">${gem.includeRubygemsInResources}</includeLibDirectoryInResources>
        <includeOpenSSL implementation="boolean" default-value="true">${gem.includeOpenSSL}</includeOpenSSL>
        <includeRubygemsInResources implementation="boolean" default-value="false">${gem.includeRubygemsInResources}</includeRubygemsInResources>
        <includeRubygemsInTestResources implementation="boolean" default-value="true">${gem.includeRubygemsInTestResources}</includeRubygemsInTestResources>
        <installRDoc implementation="boolean" default-value="false">${gem.installRDoc}</installRDoc>
        <installRI implementation="boolean" default-value="false">${gem.installRI}</installRI>
        <jrubyFork implementation="boolean" default-value="true">${jruby.fork}</jrubyFork>
        <jrubyJvmArgs implementation="java.lang.String">${jruby.jvmargs}</jrubyJvmArgs>
        <jrubySwitches implementation="java.lang.String">${jruby.switches}</jrubySwitches>
        <jrubyVerbose implementation="boolean" default-value="false">${jruby.verbose}</jrubyVerbose>
        <jrubyVersion implementation="java.lang.String">${jruby.version}</jrubyVersion>
        <launchDirectory implementation="java.io.File" default-value="${project.basedir}">${jruby.launchDirectory}</launchDirectory>
        <libDirectory implementation="java.io.File" default-value="lib">${jruby.lib}</libDirectory>
        <localRepository implementation="org.apache.maven.artifact.repository.ArtifactRepository" default-value="${localRepository}"/>
        <plugin implementation="org.apache.maven.plugin.descriptor.PluginDescriptor">${plugin}</plugin>
        <pom implementation="java.io.File" default-value="pom.xml">${pom}</pom>
        <project implementation="org.apache.maven.project.MavenProject">${project}</project>
        <railsDir implementation="java.io.File" default-value="${project.basedir}/src/main/rails">${rails.dir}</railsDir>
        <repoSession implementation="java.lang.Object" default-value="${repositorySystemSession}"/>
        <rubySourceDirectory implementation="java.io.File" default-value="src/main/ruby">${jruby.sourceDirectory}</rubySourceDirectory>
        <supportNative implementation="boolean" default-value="false">${gem.supportNative}</supportNative>
      </configuration>
      <requirements>
        <requirement>
          <role>de.saumya.mojo.ruby.gems.GemManager</role>
          <field-name>manager</field-name>
        </requirement>
        <requirement>
          <role>de.saumya.mojo.ruby.rails.RailsManager</role>
          <field-name>railsManager</field-name>
        </requirement>
        <requirement>
          <role>org.apache.maven.repository.RepositorySystem</role>
          <field-name>repositorySystem</field-name>
        </requirement>
        <requirement>
          <role>org.codehaus.plexus.archiver.UnArchiver</role>
          <role-hint>zip</role-hint>
          <field-name>unzip</field-name>
        </requirement>
      </requirements>
    </mojo>
    <mojo>
      <goal>new</goal>
      <description>goal to run rails command with the given arguments. either to generate a
fresh rails application or to run the rails script from within a rails
application.</description>
      <requiresDirectInvocation>false</requiresDirectInvocation>
      <requiresProject>false</requiresProject>
      <requiresReports>false</requiresReports>
      <aggregator>false</aggregator>
      <requiresOnline>false</requiresOnline>
      <inheritedByDefault>true</inheritedByDefault>
      <implementation>de.saumya.mojo.rails3.NewMojo</implementation>
      <language>java</language>
      <instantiationStrategy>per-lookup</instantiationStrategy>
      <executionStrategy>once-per-session</executionStrategy>
      <parameters>
        <parameter>
          <name>appPath</name>
          <type>java.io.File</type>
          <required>false</required>
          <editable>true</editable>
          <description>the path to the application to be generated
&lt;br/&gt;
Command line -Dapp_path=...</description>
        </parameter>
        <parameter>
          <name>args</name>
          <type>java.lang.String</type>
          <required>false</required>
          <editable>true</editable>
          <description>common arguments
&lt;br/&gt;
Command line -Dargs=...</description>
        </parameter>
        <parameter>
          <name>artifactVersion</name>
          <type>java.lang.String</type>
          <required>false</required>
          <editable>true</editable>
          <description>the version of the new pom
&lt;br/&gt;
Command line -Dversion=...</description>
        </parameter>
        <parameter>
          <name>binDirectory</name>
          <type>java.io.File</type>
          <required>false</required>
          <editable>true</editable>
          <description>directory of JRuby bin path to use when forking JRuby.
&lt;br/&gt;
Command line -Dgem.binDirectory=...</description>
        </parameter>
        <parameter>
          <name>classRealm</name>
          <type>org.codehaus.classworlds.ClassRealm</type>
          <required>false</required>
          <editable>false</editable>
          <description>classrealm for internal use.</description>
        </parameter>
        <parameter>
          <name>database</name>
          <type>java.lang.String</type>
          <required>false</required>
          <editable>true</editable>
          <description>the database to use
&lt;br/&gt;
Command line -Ddatabase=...</description>
        </parameter>
        <parameter>
          <name>env</name>
          <type>java.lang.String</type>
          <required>false</required>
          <editable>true</editable>
          <description>either development or test or production or whatever else is possible
with your config</description>
        </parameter>
        <parameter>
          <name>gemHome</name>
          <type>java.io.File</type>
          <required>false</required>
          <editable>true</editable>
          <description>directory of gem home to use when forking JRuby. default will be ignored
when gemUseSystem is true.
&lt;br/&gt;
Command line -Dgem.home=...</description>
        </parameter>
        <parameter>
          <name>gemPath</name>
          <type>java.io.File</type>
          <required>false</required>
          <editable>true</editable>
          <description>directory of JRuby path to use when forking JRuby. default will be ignored
when gemUseSystem is true.
&lt;br/&gt;
Command line -Dgem.path=...</description>
        </parameter>
        <parameter>
          <name>gemUseSystem</name>
          <type>boolean</type>
          <required>false</required>
          <editable>true</editable>
          <description>use system gems instead of setting up GemPath/GemHome inside the build directory and ignores any set
gemHome and gemPath. you need to have both GEM_HOME and GEM_PATH environment variable set to make it work.
&lt;br/&gt;
Command line -Dgem.useSystem=...</description>
        </parameter>
        <parameter>
          <name>groupId</name>
          <type>java.lang.String</type>
          <required>false</required>
          <editable>true</editable>
          <description>the groupId of the new pom
&lt;br/&gt;
Command line -DgroupId=...</description>
        </parameter>
        <parameter>
          <name>gwtMenu</name>
          <type>boolean</type>
          <required>false</required>
          <editable>true</editable>
          <description>setup GWT with menu support
&lt;br/&gt;
Command line -Dgwt.menu=true</description>
        </parameter>
        <parameter>
          <name>gwtPackage</name>
          <type>java.lang.String</type>
          <required>false</required>
          <editable>true</editable>
          <description>when the gwt package is given then the rails gets GWT as view component
&lt;br/&gt;
Command line -Dgwt.package=...</description>
        </parameter>
        <parameter>
          <name>gwtSession</name>
          <type>boolean</type>
          <required>false</required>
          <editable>true</editable>
          <description>setup GWT with session support
&lt;br/&gt;
Command line -Dgwt.session=true</description>
        </parameter>
        <parameter>
          <name>includeGemsInResources</name>
          <type>boolean</type>
          <required>false</required>
          <editable>true</editable>
          <description>flag whether to include all gems to resources, i.e. to classpath or not.
the difference to the &lt;code&gt;includeRubygemsInResources&lt;/code&gt; is that it 
does not depend on rubygems during runtime since the required_path of the 
gems gets added to resources. note that it expect the required_path of the 
gem to be &lt;b&gt;lib&lt;/b&gt; which is the default BUT that is not true for all gems.
in this sense this feature is incomplete and might not work for you !!!

this feature can be helpful in situations where the classloader does not work
for rubygems due to rubygems uses file system globs to find the gems and this
only works if the classloader reveals the jar url of its jars (i.e. URLClassLoader).
for example OSGi classloader can not work with rubygems !! 
&lt;br/&gt;
Command line -Dgem.includeGemsInResources=...</description>
        </parameter>
        <parameter>
          <name>includeLibDirectoryInResources</name>
          <type>boolean</type>
          <required>false</required>
          <editable>true</editable>
          <description>/**
flag whether to include file under the lib directory
&lt;br/&gt;
Command line -Dgem.includeRubygemsInResources=...</description>
        </parameter>
        <parameter>
          <name>includeOpenSSL</name>
          <type>boolean</type>
          <required>false</required>
          <editable>true</editable>
          <description>flag whether to include open-ssl gem or not
&lt;br/&gt;
Command line -Dgem.includeOpenSSL=...</description>
        </parameter>
        <parameter>
          <name>includeRubygemsInResources</name>
          <type>boolean</type>
          <required>false</required>
          <editable>true</editable>
          <description>flag whether to include all gems to resources, i.e. to classpath or not
&lt;br/&gt;
Command line -Dgem.includeRubygemsInResources=...</description>
        </parameter>
        <parameter>
          <name>includeRubygemsInTestResources</name>
          <type>boolean</type>
          <required>false</required>
          <editable>true</editable>
          <description>flag whether to include all gems to test-resources, i.e. to test-classpath or not
&lt;br/&gt;
Command line -Dgem.includeRubygemsInTestResources=...</description>
        </parameter>
        <parameter>
          <name>installRDoc</name>
          <type>boolean</type>
          <required>false</required>
          <editable>true</editable>
          <description>flag whether to install rdocs of the used gems or not
&lt;br/&gt;
Command line -Dgem.installRDoc=...</description>
        </parameter>
        <parameter>
          <name>installRI</name>
          <type>boolean</type>
          <required>false</required>
          <editable>true</editable>
          <description>flag whether to install ri of the used gems or not
&lt;br/&gt;
Command line -Dgem.installRDoc=...</description>
        </parameter>
        <parameter>
          <name>jrubyFork</name>
          <type>boolean</type>
          <required>false</required>
          <editable>true</editable>
          <description>fork the JRuby execution.
&lt;br/&gt;
Command line -Djruby.fork=...</description>
        </parameter>
        <parameter>
          <name>jrubyJvmArgs</name>
          <type>java.lang.String</type>
          <required>false</required>
          <editable>true</editable>
          <description>jvm arguments for the java command executing jruby
&lt;br/&gt;
Command line -Djruby.jvmargs=...</description>
        </parameter>
        <parameter>
          <name>jrubySwitches</name>
          <type>java.lang.String</type>
          <required>false</required>
          <editable>true</editable>
          <description>switches for the jruby command, like &apos;--1.9&apos;
&lt;br/&gt;
Command line -Djruby.switches=...</description>
        </parameter>
        <parameter>
          <name>jrubyVerbose</name>
          <type>boolean</type>
          <required>false</required>
          <editable>true</editable>
          <description>verbose jruby related output
&lt;br/&gt;
Command line -Djruby.verbose=...</description>
        </parameter>
        <parameter>
          <name>jrubyVersion</name>
          <type>java.lang.String</type>
          <required>false</required>
          <editable>true</editable>
          <description>if the pom.xml has no runtime dependency to a jruby-complete.jar then
this version is used to resolve the jruby-complete dependency from the
local/remote maven repository. it overwrites the jruby version from
the dependencies if any. i.e. you can easily switch jruby version from the commandline !
&lt;br/&gt;
default: 1.7.12
&lt;br/&gt;
Command line -Djruby.version=...</description>
        </parameter>
        <parameter>
          <name>launchDirectory</name>
          <type>java.io.File</type>
          <required>false</required>
          <editable>true</editable>
          <description>the launch directory for the JRuby execution.
&lt;br/&gt;
Command line -Djruby.launchDirectory=...</description>
        </parameter>
        <parameter>
          <name>libDirectory</name>
          <type>java.io.File</type>
          <required>false</required>
          <editable>true</editable>
          <description>directory with ruby sources - added to ruby loadpath only
&lt;br/&gt;
Command line -Djruby.lib=...</description>
        </parameter>
        <parameter>
          <name>localRepository</name>
          <type>org.apache.maven.artifact.repository.ArtifactRepository</type>
          <required>true</required>
          <editable>false</editable>
          <description>local repository for internal use.</description>
        </parameter>
        <parameter>
          <name>plugin</name>
          <type>org.apache.maven.plugin.descriptor.PluginDescriptor</type>
          <required>false</required>
          <editable>true</editable>
          <description></description>
        </parameter>
        <parameter>
          <name>project</name>
          <type>org.apache.maven.project.MavenProject</type>
          <required>true</required>
          <editable>true</editable>
          <description>reference to maven project for internal use.</description>
        </parameter>
        <parameter>
          <name>railsArgs</name>
          <type>java.lang.String</type>
          <required>false</required>
          <editable>true</editable>
          <description>arguments for the rails command
&lt;br/&gt;
Command line -Drails.args=...</description>
        </parameter>
        <parameter>
          <name>railsDir</name>
          <type>java.io.File</type>
          <required>false</required>
          <editable>true</editable>
          <description></description>
        </parameter>
        <parameter>
          <name>railsORM</name>
          <type>java.lang.String</type>
          <required>false</required>
          <editable>true</editable>
          <description>select the ORM to use
&lt;br/&gt;
Command line -Dorm=activerecord or -Dorm=datamapper</description>
        </parameter>
        <parameter>
          <name>railsVersion</name>
          <type>java.lang.String</type>
          <required>false</required>
          <editable>true</editable>
          <description>the rails version to use
&lt;br/&gt;
Command line -Drails.version=...</description>
        </parameter>
        <parameter>
          <name>repoSession</name>
          <type>java.lang.Object</type>
          <required>false</required>
          <editable>false</editable>
          <description></description>
        </parameter>
        <parameter>
          <name>rubySourceDirectory</name>
          <type>java.io.File</type>
          <required>false</required>
          <editable>true</editable>
          <description>directory with ruby sources - added to java classpath and ruby loadpath
&lt;br/&gt;
Command line -Djruby.sourceDirectory=...</description>
        </parameter>
        <parameter>
          <name>supportNative</name>
          <type>boolean</type>
          <required>false</required>
          <editable>true</editable>
          <description>flag to indicate to setup jruby&apos;s native support for C-extensions
&lt;br/&gt;
Command line -Dgem.supportNative=...</description>
        </parameter>
        <parameter>
          <name>template</name>
          <type>java.lang.String</type>
          <required>false</required>
          <editable>true</editable>
          <description>rails template to apply after create the application
&lt;br/&gt;
Command line -Dtemplate=...</description>
        </parameter>
      </parameters>
      <configuration>
        <appPath implementation="java.io.File" default-value="${app_path}"/>
        <args implementation="java.lang.String">${args}</args>
        <artifactVersion implementation="java.lang.String" default-value="1.0-SNAPSHOT">${version}</artifactVersion>
        <binDirectory implementation="java.io.File">${gem.binDirectory}</binDirectory>
        <classRealm implementation="org.codehaus.classworlds.ClassRealm">${dummyExpression}</classRealm>
        <database implementation="java.lang.String" default-value="sqlite3">${database}</database>
        <env implementation="java.lang.String">${rails.env}</env>
        <gemHome implementation="java.io.File" default-value="${project.build.directory}/rubygems">${gem.home}</gemHome>
        <gemPath implementation="java.io.File" default-value="${project.build.directory}/rubygems">${gem.path}</gemPath>
        <gemUseSystem implementation="boolean" default-value="false">${gem.useSystem}</gemUseSystem>
        <groupId implementation="java.lang.String" default-value="rails">${groupId}</groupId>
        <gwtMenu implementation="boolean" default-value="false">${gwt.menu}</gwtMenu>
        <gwtPackage implementation="java.lang.String">${gwt.package}</gwtPackage>
        <gwtSession implementation="boolean" default-value="false">${gwt.session}</gwtSession>
        <includeGemsInResources implementation="boolean" default-value="false">${gem.includeGemsInResources}</includeGemsInResources>
        <includeLibDirectoryInResources implementation="boolean" default-value="false">${gem.includeRubygemsInResources}</includeLibDirectoryInResources>
        <includeOpenSSL implementation="boolean" default-value="true">${gem.includeOpenSSL}</includeOpenSSL>
        <includeRubygemsInResources implementation="boolean" default-value="false">${gem.includeRubygemsInResources}</includeRubygemsInResources>
        <includeRubygemsInTestResources implementation="boolean" default-value="true">${gem.includeRubygemsInTestResources}</includeRubygemsInTestResources>
        <installRDoc implementation="boolean" default-value="false">${gem.installRDoc}</installRDoc>
        <installRI implementation="boolean" default-value="false">${gem.installRI}</installRI>
        <jrubyFork implementation="boolean" default-value="true">${jruby.fork}</jrubyFork>
        <jrubyJvmArgs implementation="java.lang.String">${jruby.jvmargs}</jrubyJvmArgs>
        <jrubySwitches implementation="java.lang.String">${jruby.switches}</jrubySwitches>
        <jrubyVerbose implementation="boolean" default-value="false">${jruby.verbose}</jrubyVerbose>
        <jrubyVersion implementation="java.lang.String">${jruby.version}</jrubyVersion>
        <launchDirectory implementation="java.io.File" default-value="${project.basedir}">${jruby.launchDirectory}</launchDirectory>
        <libDirectory implementation="java.io.File" default-value="lib">${jruby.lib}</libDirectory>
        <localRepository implementation="org.apache.maven.artifact.repository.ArtifactRepository" default-value="${localRepository}"/>
        <plugin implementation="org.apache.maven.plugin.descriptor.PluginDescriptor">${plugin}</plugin>
        <project implementation="org.apache.maven.project.MavenProject">${project}</project>
        <railsArgs implementation="java.lang.String" default-value="${rails.args}"/>
        <railsDir implementation="java.io.File" default-value="${project.basedir}/src/main/rails">${rails.dir}</railsDir>
        <railsORM implementation="java.lang.String" default-value="activerecord">${orm}</railsORM>
        <railsVersion implementation="java.lang.String">${rails.version}</railsVersion>
        <repoSession implementation="java.lang.Object" default-value="${repositorySystemSession}"/>
        <rubySourceDirectory implementation="java.io.File" default-value="src/main/ruby">${jruby.sourceDirectory}</rubySourceDirectory>
        <supportNative implementation="boolean" default-value="false">${gem.supportNative}</supportNative>
        <template implementation="java.lang.String">${template}</template>
      </configuration>
      <requirements>
        <requirement>
          <role>de.saumya.mojo.ruby.gems.GemManager</role>
          <field-name>manager</field-name>
        </requirement>
        <requirement>
          <role>de.saumya.mojo.ruby.rails.RailsManager</role>
          <field-name>railsManager</field-name>
        </requirement>
        <requirement>
          <role>org.apache.maven.repository.RepositorySystem</role>
          <field-name>repositorySystem</field-name>
        </requirement>
        <requirement>
          <role>org.codehaus.plexus.archiver.UnArchiver</role>
          <role-hint>zip</role-hint>
          <field-name>unzip</field-name>
        </requirement>
      </requirements>
    </mojo>
    <mojo>
      <goal>server</goal>
      <description>goal to run the rails server.</description>
      <requiresDependencyResolution>runtime</requiresDependencyResolution>
      <requiresDirectInvocation>false</requiresDirectInvocation>
      <requiresProject>false</requiresProject>
      <requiresReports>false</requiresReports>
      <aggregator>false</aggregator>
      <requiresOnline>false</requiresOnline>
      <inheritedByDefault>true</inheritedByDefault>
      <implementation>de.saumya.mojo.rails3.ServerMojo</implementation>
      <language>java</language>
      <instantiationStrategy>per-lookup</instantiationStrategy>
      <executionStrategy>once-per-session</executionStrategy>
      <parameters>
        <parameter>
          <name>args</name>
          <type>java.lang.String</type>
          <required>false</required>
          <editable>true</editable>
          <description>common arguments
&lt;br/&gt;
Command line -Dargs=...</description>
        </parameter>
        <parameter>
          <name>binDirectory</name>
          <type>java.io.File</type>
          <required>false</required>
          <editable>true</editable>
          <description>directory of JRuby bin path to use when forking JRuby.
&lt;br/&gt;
Command line -Dgem.binDirectory=...</description>
        </parameter>
        <parameter>
          <name>classRealm</name>
          <type>org.codehaus.classworlds.ClassRealm</type>
          <required>false</required>
          <editable>false</editable>
          <description>classrealm for internal use.</description>
        </parameter>
        <parameter>
          <name>env</name>
          <type>java.lang.String</type>
          <required>false</required>
          <editable>true</editable>
          <description>either development or test or production or whatever else is possible
with your config</description>
        </parameter>
        <parameter>
          <name>gemHome</name>
          <type>java.io.File</type>
          <required>false</required>
          <editable>true</editable>
          <description>directory of gem home to use when forking JRuby. default will be ignored
when gemUseSystem is true.
&lt;br/&gt;
Command line -Dgem.home=...</description>
        </parameter>
        <parameter>
          <name>gemPath</name>
          <type>java.io.File</type>
          <required>false</required>
          <editable>true</editable>
          <description>directory of JRuby path to use when forking JRuby. default will be ignored
when gemUseSystem is true.
&lt;br/&gt;
Command line -Dgem.path=...</description>
        </parameter>
        <parameter>
          <name>gemUseSystem</name>
          <type>boolean</type>
          <required>false</required>
          <editable>true</editable>
          <description>use system gems instead of setting up GemPath/GemHome inside the build directory and ignores any set
gemHome and gemPath. you need to have both GEM_HOME and GEM_PATH environment variable set to make it work.
&lt;br/&gt;
Command line -Dgem.useSystem=...</description>
        </parameter>
        <parameter>
          <name>includeGemsInResources</name>
          <type>boolean</type>
          <required>false</required>
          <editable>true</editable>
          <description>flag whether to include all gems to resources, i.e. to classpath or not.
the difference to the &lt;code&gt;includeRubygemsInResources&lt;/code&gt; is that it 
does not depend on rubygems during runtime since the required_path of the 
gems gets added to resources. note that it expect the required_path of the 
gem to be &lt;b&gt;lib&lt;/b&gt; which is the default BUT that is not true for all gems.
in this sense this feature is incomplete and might not work for you !!!

this feature can be helpful in situations where the classloader does not work
for rubygems due to rubygems uses file system globs to find the gems and this
only works if the classloader reveals the jar url of its jars (i.e. URLClassLoader).
for example OSGi classloader can not work with rubygems !! 
&lt;br/&gt;
Command line -Dgem.includeGemsInResources=...</description>
        </parameter>
        <parameter>
          <name>includeLibDirectoryInResources</name>
          <type>boolean</type>
          <required>false</required>
          <editable>true</editable>
          <description>/**
flag whether to include file under the lib directory
&lt;br/&gt;
Command line -Dgem.includeRubygemsInResources=...</description>
        </parameter>
        <parameter>
          <name>includeOpenSSL</name>
          <type>boolean</type>
          <required>false</required>
          <editable>true</editable>
          <description>flag whether to include open-ssl gem or not
&lt;br/&gt;
Command line -Dgem.includeOpenSSL=...</description>
        </parameter>
        <parameter>
          <name>includeRubygemsInResources</name>
          <type>boolean</type>
          <required>false</required>
          <editable>true</editable>
          <description>flag whether to include all gems to resources, i.e. to classpath or not
&lt;br/&gt;
Command line -Dgem.includeRubygemsInResources=...</description>
        </parameter>
        <parameter>
          <name>includeRubygemsInTestResources</name>
          <type>boolean</type>
          <required>false</required>
          <editable>true</editable>
          <description>flag whether to include all gems to test-resources, i.e. to test-classpath or not
&lt;br/&gt;
Command line -Dgem.includeRubygemsInTestResources=...</description>
        </parameter>
        <parameter>
          <name>installRDoc</name>
          <type>boolean</type>
          <required>false</required>
          <editable>true</editable>
          <description>flag whether to install rdocs of the used gems or not
&lt;br/&gt;
Command line -Dgem.installRDoc=...</description>
        </parameter>
        <parameter>
          <name>installRI</name>
          <type>boolean</type>
          <required>false</required>
          <editable>true</editable>
          <description>flag whether to install ri of the used gems or not
&lt;br/&gt;
Command line -Dgem.installRDoc=...</description>
        </parameter>
        <parameter>
          <name>jrubyFork</name>
          <type>boolean</type>
          <required>false</required>
          <editable>true</editable>
          <description>fork the JRuby execution.
&lt;br/&gt;
Command line -Djruby.fork=...</description>
        </parameter>
        <parameter>
          <name>jrubyJvmArgs</name>
          <type>java.lang.String</type>
          <required>false</required>
          <editable>true</editable>
          <description>jvm arguments for the java command executing jruby
&lt;br/&gt;
Command line -Djruby.jvmargs=...</description>
        </parameter>
        <parameter>
          <name>jrubySwitches</name>
          <type>java.lang.String</type>
          <required>false</required>
          <editable>true</editable>
          <description>switches for the jruby command, like &apos;--1.9&apos;
&lt;br/&gt;
Command line -Djruby.switches=...</description>
        </parameter>
        <parameter>
          <name>jrubyVerbose</name>
          <type>boolean</type>
          <required>false</required>
          <editable>true</editable>
          <description>verbose jruby related output
&lt;br/&gt;
Command line -Djruby.verbose=...</description>
        </parameter>
        <parameter>
          <name>jrubyVersion</name>
          <type>java.lang.String</type>
          <required>false</required>
          <editable>true</editable>
          <description>if the pom.xml has no runtime dependency to a jruby-complete.jar then
this version is used to resolve the jruby-complete dependency from the
local/remote maven repository. it overwrites the jruby version from
the dependencies if any. i.e. you can easily switch jruby version from the commandline !
&lt;br/&gt;
default: 1.7.12
&lt;br/&gt;
Command line -Djruby.version=...</description>
        </parameter>
        <parameter>
          <name>launchDirectory</name>
          <type>java.io.File</type>
          <required>false</required>
          <editable>true</editable>
          <description>the launch directory for the JRuby execution.
&lt;br/&gt;
Command line -Djruby.launchDirectory=...</description>
        </parameter>
        <parameter>
          <name>libDirectory</name>
          <type>java.io.File</type>
          <required>false</required>
          <editable>true</editable>
          <description>directory with ruby sources - added to ruby loadpath only
&lt;br/&gt;
Command line -Djruby.lib=...</description>
        </parameter>
        <parameter>
          <name>localRepository</name>
          <type>org.apache.maven.artifact.repository.ArtifactRepository</type>
          <required>true</required>
          <editable>false</editable>
          <description>local repository for internal use.</description>
        </parameter>
        <parameter>
          <name>plugin</name>
          <type>org.apache.maven.plugin.descriptor.PluginDescriptor</type>
          <required>false</required>
          <editable>true</editable>
          <description></description>
        </parameter>
        <parameter>
          <name>project</name>
          <type>org.apache.maven.project.MavenProject</type>
          <required>true</required>
          <editable>true</editable>
          <description>reference to maven project for internal use.</description>
        </parameter>
        <parameter>
          <name>railsDir</name>
          <type>java.io.File</type>
          <required>false</required>
          <editable>true</editable>
          <description></description>
        </parameter>
        <parameter>
          <name>repoSession</name>
          <type>java.lang.Object</type>
          <required>false</required>
          <editable>false</editable>
          <description></description>
        </parameter>
        <parameter>
          <name>rubySourceDirectory</name>
          <type>java.io.File</type>
          <required>false</required>
          <editable>true</editable>
          <description>directory with ruby sources - added to java classpath and ruby loadpath
&lt;br/&gt;
Command line -Djruby.sourceDirectory=...</description>
        </parameter>
        <parameter>
          <name>serverArgs</name>
          <type>java.lang.String</type>
          <required>false</required>
          <editable>true</editable>
          <description>arguments for the generate command</description>
        </parameter>
        <parameter>
          <name>supportNative</name>
          <type>boolean</type>
          <required>false</required>
          <editable>true</editable>
          <description>flag to indicate to setup jruby&apos;s native support for C-extensions
&lt;br/&gt;
Command line -Dgem.supportNative=...</description>
        </parameter>
      </parameters>
      <configuration>
        <args implementation="java.lang.String">${args}</args>
        <binDirectory implementation="java.io.File">${gem.binDirectory}</binDirectory>
        <classRealm implementation="org.codehaus.classworlds.ClassRealm">${dummyExpression}</classRealm>
        <env implementation="java.lang.String">${rails.env}</env>
        <gemHome implementation="java.io.File" default-value="${project.build.directory}/rubygems">${gem.home}</gemHome>
        <gemPath implementation="java.io.File" default-value="${project.build.directory}/rubygems">${gem.path}</gemPath>
        <gemUseSystem implementation="boolean" default-value="false">${gem.useSystem}</gemUseSystem>
        <includeGemsInResources implementation="boolean" default-value="false">${gem.includeGemsInResources}</includeGemsInResources>
        <includeLibDirectoryInResources implementation="boolean" default-value="false">${gem.includeRubygemsInResources}</includeLibDirectoryInResources>
        <includeOpenSSL implementation="boolean" default-value="true">${gem.includeOpenSSL}</includeOpenSSL>
        <includeRubygemsInResources implementation="boolean" default-value="false">${gem.includeRubygemsInResources}</includeRubygemsInResources>
        <includeRubygemsInTestResources implementation="boolean" default-value="true">${gem.includeRubygemsInTestResources}</includeRubygemsInTestResources>
        <installRDoc implementation="boolean" default-value="false">${gem.installRDoc}</installRDoc>
        <installRI implementation="boolean" default-value="false">${gem.installRI}</installRI>
        <jrubyFork implementation="boolean" default-value="true">${jruby.fork}</jrubyFork>
        <jrubyJvmArgs implementation="java.lang.String">${jruby.jvmargs}</jrubyJvmArgs>
        <jrubySwitches implementation="java.lang.String">${jruby.switches}</jrubySwitches>
        <jrubyVerbose implementation="boolean" default-value="false">${jruby.verbose}</jrubyVerbose>
        <jrubyVersion implementation="java.lang.String">${jruby.version}</jrubyVersion>
        <launchDirectory implementation="java.io.File" default-value="${project.basedir}">${jruby.launchDirectory}</launchDirectory>
        <libDirectory implementation="java.io.File" default-value="lib">${jruby.lib}</libDirectory>
        <localRepository implementation="org.apache.maven.artifact.repository.ArtifactRepository" default-value="${localRepository}"/>
        <plugin implementation="org.apache.maven.plugin.descriptor.PluginDescriptor">${plugin}</plugin>
        <project implementation="org.apache.maven.project.MavenProject">${project}</project>
        <railsDir implementation="java.io.File" default-value="${project.basedir}/src/main/rails">${rails.dir}</railsDir>
        <repoSession implementation="java.lang.Object" default-value="${repositorySystemSession}"/>
        <rubySourceDirectory implementation="java.io.File" default-value="src/main/ruby">${jruby.sourceDirectory}</rubySourceDirectory>
        <serverArgs implementation="java.lang.String" default-value="${server.args}"/>
        <supportNative implementation="boolean" default-value="false">${gem.supportNative}</supportNative>
      </configuration>
      <requirements>
        <requirement>
          <role>de.saumya.mojo.ruby.gems.GemManager</role>
          <field-name>manager</field-name>
        </requirement>
        <requirement>
          <role>de.saumya.mojo.ruby.rails.RailsManager</role>
          <field-name>railsManager</field-name>
        </requirement>
        <requirement>
          <role>org.apache.maven.repository.RepositorySystem</role>
          <field-name>repositorySystem</field-name>
        </requirement>
        <requirement>
          <role>org.codehaus.plexus.archiver.UnArchiver</role>
          <role-hint>zip</role-hint>
          <field-name>unzip</field-name>
        </requirement>
      </requirements>
    </mojo>
    <mojo>
      <goal>help</goal>
      <description>Display help information on rails3-maven-plugin.&lt;br/&gt; Call &lt;pre&gt;  mvn rails3:help -Ddetail=true -Dgoal=&amp;lt;goal-name&amp;gt;&lt;/pre&gt; to display parameter details.</description>
      <requiresDirectInvocation>false</requiresDirectInvocation>
      <requiresProject>false</requiresProject>
      <requiresReports>false</requiresReports>
      <aggregator>false</aggregator>
      <requiresOnline>false</requiresOnline>
      <inheritedByDefault>true</inheritedByDefault>
      <implementation>de.saumya.mojo.rails3.HelpMojo</implementation>
      <language>java</language>
      <instantiationStrategy>per-lookup</instantiationStrategy>
      <executionStrategy>once-per-session</executionStrategy>
      <parameters>
        <parameter>
          <name>detail</name>
          <type>boolean</type>
          <required>false</required>
          <editable>true</editable>
          <description>If &lt;code&gt;true&lt;/code&gt;, display all settable properties for each goal.</description>
        </parameter>
        <parameter>
          <name>goal</name>
          <type>java.lang.String</type>
          <required>false</required>
          <editable>true</editable>
          <description>The name of the goal for which to show help. If unspecified, all goals will be displayed.</description>
        </parameter>
        <parameter>
          <name>indentSize</name>
          <type>int</type>
          <required>false</required>
          <editable>true</editable>
          <description>The number of spaces per indentation level, should be positive.</description>
        </parameter>
        <parameter>
          <name>lineLength</name>
          <type>int</type>
          <required>false</required>
          <editable>true</editable>
          <description>The maximum length of a display line, should be positive.</description>
        </parameter>
      </parameters>
      <configuration>
        <detail implementation="boolean" default-value="false">${detail}</detail>
        <goal implementation="java.lang.String">${goal}</goal>
        <indentSize implementation="int" default-value="2">${indentSize}</indentSize>
        <lineLength implementation="int" default-value="80">${lineLength}</lineLength>
      </configuration>
    </mojo>
    <mojo>
      <goal>initialize</goal>
      <description></description>
      <requiresDependencyResolution>test</requiresDependencyResolution>
      <requiresDirectInvocation>false</requiresDirectInvocation>
      <requiresProject>false</requiresProject>
      <requiresReports>false</requiresReports>
      <aggregator>false</aggregator>
      <requiresOnline>false</requiresOnline>
      <inheritedByDefault>true</inheritedByDefault>
      <phase>initialize</phase>
      <implementation>de.saumya.mojo.rails3.InitializeMojo</implementation>
      <language>java</language>
      <instantiationStrategy>per-lookup</instantiationStrategy>
      <executionStrategy>once-per-session</executionStrategy>
      <parameters>
        <parameter>
          <name>args</name>
          <type>java.lang.String</type>
          <required>false</required>
          <editable>true</editable>
          <description>common arguments
&lt;br/&gt;
Command line -Dargs=...</description>
        </parameter>
        <parameter>
          <name>binDirectory</name>
          <type>java.io.File</type>
          <required>false</required>
          <editable>true</editable>
          <description>directory of JRuby bin path to use when forking JRuby.
&lt;br/&gt;
Command line -Dgem.binDirectory=...</description>
        </parameter>
        <parameter>
          <name>classRealm</name>
          <type>org.codehaus.classworlds.ClassRealm</type>
          <required>false</required>
          <editable>false</editable>
          <description>classrealm for internal use.</description>
        </parameter>
        <parameter>
          <name>env</name>
          <type>java.lang.String</type>
          <required>false</required>
          <editable>true</editable>
          <description>either development or test or production or whatever else is possible
with your config</description>
        </parameter>
        <parameter>
          <name>gemHome</name>
          <type>java.io.File</type>
          <required>false</required>
          <editable>true</editable>
          <description>directory of gem home to use when forking JRuby. default will be ignored
when gemUseSystem is true.
&lt;br/&gt;
Command line -Dgem.home=...</description>
        </parameter>
        <parameter>
          <name>gemPath</name>
          <type>java.io.File</type>
          <required>false</required>
          <editable>true</editable>
          <description>directory of JRuby path to use when forking JRuby. default will be ignored
when gemUseSystem is true.
&lt;br/&gt;
Command line -Dgem.path=...</description>
        </parameter>
        <parameter>
          <name>gemUseSystem</name>
          <type>boolean</type>
          <required>false</required>
          <editable>true</editable>
          <description>use system gems instead of setting up GemPath/GemHome inside the build directory and ignores any set
gemHome and gemPath. you need to have both GEM_HOME and GEM_PATH environment variable set to make it work.
&lt;br/&gt;
Command line -Dgem.useSystem=...</description>
        </parameter>
        <parameter>
          <name>includeGemsInResources</name>
          <type>boolean</type>
          <required>false</required>
          <editable>true</editable>
          <description>flag whether to include all gems to resources, i.e. to classpath or not.
the difference to the &lt;code&gt;includeRubygemsInResources&lt;/code&gt; is that it 
does not depend on rubygems during runtime since the required_path of the 
gems gets added to resources. note that it expect the required_path of the 
gem to be &lt;b&gt;lib&lt;/b&gt; which is the default BUT that is not true for all gems.
in this sense this feature is incomplete and might not work for you !!!

this feature can be helpful in situations where the classloader does not work
for rubygems due to rubygems uses file system globs to find the gems and this
only works if the classloader reveals the jar url of its jars (i.e. URLClassLoader).
for example OSGi classloader can not work with rubygems !! 
&lt;br/&gt;
Command line -Dgem.includeGemsInResources=...</description>
        </parameter>
        <parameter>
          <name>includeLibDirectoryInResources</name>
          <type>boolean</type>
          <required>false</required>
          <editable>true</editable>
          <description>/**
flag whether to include file under the lib directory
&lt;br/&gt;
Command line -Dgem.includeRubygemsInResources=...</description>
        </parameter>
        <parameter>
          <name>includeOpenSSL</name>
          <type>boolean</type>
          <required>false</required>
          <editable>true</editable>
          <description>flag whether to include open-ssl gem or not
&lt;br/&gt;
Command line -Dgem.includeOpenSSL=...</description>
        </parameter>
        <parameter>
          <name>includeRubygemsInResources</name>
          <type>boolean</type>
          <required>false</required>
          <editable>true</editable>
          <description>flag whether to include all gems to resources, i.e. to classpath or not
&lt;br/&gt;
Command line -Dgem.includeRubygemsInResources=...</description>
        </parameter>
        <parameter>
          <name>includeRubygemsInTestResources</name>
          <type>boolean</type>
          <required>false</required>
          <editable>true</editable>
          <description>flag whether to include all gems to test-resources, i.e. to test-classpath or not
&lt;br/&gt;
Command line -Dgem.includeRubygemsInTestResources=...</description>
        </parameter>
        <parameter>
          <name>installRDoc</name>
          <type>boolean</type>
          <required>false</required>
          <editable>true</editable>
          <description>flag whether to install rdocs of the used gems or not
&lt;br/&gt;
Command line -Dgem.installRDoc=...</description>
        </parameter>
        <parameter>
          <name>installRI</name>
          <type>boolean</type>
          <required>false</required>
          <editable>true</editable>
          <description>flag whether to install ri of the used gems or not
&lt;br/&gt;
Command line -Dgem.installRDoc=...</description>
        </parameter>
        <parameter>
          <name>jrubyFork</name>
          <type>boolean</type>
          <required>false</required>
          <editable>true</editable>
          <description>fork the JRuby execution.
&lt;br/&gt;
Command line -Djruby.fork=...</description>
        </parameter>
        <parameter>
          <name>jrubyJvmArgs</name>
          <type>java.lang.String</type>
          <required>false</required>
          <editable>true</editable>
          <description>jvm arguments for the java command executing jruby
&lt;br/&gt;
Command line -Djruby.jvmargs=...</description>
        </parameter>
        <parameter>
          <name>jrubySwitches</name>
          <type>java.lang.String</type>
          <required>false</required>
          <editable>true</editable>
          <description>switches for the jruby command, like &apos;--1.9&apos;
&lt;br/&gt;
Command line -Djruby.switches=...</description>
        </parameter>
        <parameter>
          <name>jrubyVerbose</name>
          <type>boolean</type>
          <required>false</required>
          <editable>true</editable>
          <description>verbose jruby related output
&lt;br/&gt;
Command line -Djruby.verbose=...</description>
        </parameter>
        <parameter>
          <name>jrubyVersion</name>
          <type>java.lang.String</type>
          <required>false</required>
          <editable>true</editable>
          <description>if the pom.xml has no runtime dependency to a jruby-complete.jar then
this version is used to resolve the jruby-complete dependency from the
local/remote maven repository. it overwrites the jruby version from
the dependencies if any. i.e. you can easily switch jruby version from the commandline !
&lt;br/&gt;
default: 1.7.12
&lt;br/&gt;
Command line -Djruby.version=...</description>
        </parameter>
        <parameter>
          <name>launchDirectory</name>
          <type>java.io.File</type>
          <required>false</required>
          <editable>true</editable>
          <description>the launch directory for the JRuby execution.
&lt;br/&gt;
Command line -Djruby.launchDirectory=...</description>
        </parameter>
        <parameter>
          <name>libDirectory</name>
          <type>java.io.File</type>
          <required>false</required>
          <editable>true</editable>
          <description>directory with ruby sources - added to ruby loadpath only
&lt;br/&gt;
Command line -Djruby.lib=...</description>
        </parameter>
        <parameter>
          <name>localRepository</name>
          <type>org.apache.maven.artifact.repository.ArtifactRepository</type>
          <required>true</required>
          <editable>false</editable>
          <description>local repository for internal use.</description>
        </parameter>
        <parameter>
          <name>plugin</name>
          <type>org.apache.maven.plugin.descriptor.PluginDescriptor</type>
          <required>false</required>
          <editable>true</editable>
          <description></description>
        </parameter>
        <parameter>
          <name>project</name>
          <type>org.apache.maven.project.MavenProject</type>
          <required>true</required>
          <editable>true</editable>
          <description>reference to maven project for internal use.</description>
        </parameter>
        <parameter>
          <name>railsDir</name>
          <type>java.io.File</type>
          <required>false</required>
          <editable>true</editable>
          <description></description>
        </parameter>
        <parameter>
          <name>repoSession</name>
          <type>java.lang.Object</type>
          <required>false</required>
          <editable>false</editable>
          <description></description>
        </parameter>
        <parameter>
          <name>rubySourceDirectory</name>
          <type>java.io.File</type>
          <required>false</required>
          <editable>true</editable>
          <description>directory with ruby sources - added to java classpath and ruby loadpath
&lt;br/&gt;
Command line -Djruby.sourceDirectory=...</description>
        </parameter>
        <parameter>
          <name>supportNative</name>
          <type>boolean</type>
          <required>false</required>
          <editable>true</editable>
          <description>flag to indicate to setup jruby&apos;s native support for C-extensions
&lt;br/&gt;
Command line -Dgem.supportNative=...</description>
        </parameter>
      </parameters>
      <configuration>
        <args implementation="java.lang.String">${args}</args>
        <binDirectory implementation="java.io.File">${gem.binDirectory}</binDirectory>
        <classRealm implementation="org.codehaus.classworlds.ClassRealm">${dummyExpression}</classRealm>
        <env implementation="java.lang.String">${rails.env}</env>
        <gemHome implementation="java.io.File" default-value="${project.build.directory}/rubygems">${gem.home}</gemHome>
        <gemPath implementation="java.io.File" default-value="${project.build.directory}/rubygems">${gem.path}</gemPath>
        <gemUseSystem implementation="boolean" default-value="false">${gem.useSystem}</gemUseSystem>
        <includeGemsInResources implementation="boolean" default-value="false">${gem.includeGemsInResources}</includeGemsInResources>
        <includeLibDirectoryInResources implementation="boolean" default-value="false">${gem.includeRubygemsInResources}</includeLibDirectoryInResources>
        <includeOpenSSL implementation="boolean" default-value="true">${gem.includeOpenSSL}</includeOpenSSL>
        <includeRubygemsInResources implementation="boolean" default-value="false">${gem.includeRubygemsInResources}</includeRubygemsInResources>
        <includeRubygemsInTestResources implementation="boolean" default-value="true">${gem.includeRubygemsInTestResources}</includeRubygemsInTestResources>
        <installRDoc implementation="boolean" default-value="false">${gem.installRDoc}</installRDoc>
        <installRI implementation="boolean" default-value="false">${gem.installRI}</installRI>
        <jrubyFork implementation="boolean" default-value="true">${jruby.fork}</jrubyFork>
        <jrubyJvmArgs implementation="java.lang.String">${jruby.jvmargs}</jrubyJvmArgs>
        <jrubySwitches implementation="java.lang.String">${jruby.switches}</jrubySwitches>
        <jrubyVerbose implementation="boolean" default-value="false">${jruby.verbose}</jrubyVerbose>
        <jrubyVersion implementation="java.lang.String">${jruby.version}</jrubyVersion>
        <launchDirectory implementation="java.io.File" default-value="${project.basedir}">${jruby.launchDirectory}</launchDirectory>
        <libDirectory implementation="java.io.File" default-value="lib">${jruby.lib}</libDirectory>
        <localRepository implementation="org.apache.maven.artifact.repository.ArtifactRepository" default-value="${localRepository}"/>
        <plugin implementation="org.apache.maven.plugin.descriptor.PluginDescriptor">${plugin}</plugin>
        <project implementation="org.apache.maven.project.MavenProject">${project}</project>
        <railsDir implementation="java.io.File" default-value="${project.basedir}/src/main/rails">${rails.dir}</railsDir>
        <repoSession implementation="java.lang.Object" default-value="${repositorySystemSession}"/>
        <rubySourceDirectory implementation="java.io.File" default-value="src/main/ruby">${jruby.sourceDirectory}</rubySourceDirectory>
        <supportNative implementation="boolean" default-value="false">${gem.supportNative}</supportNative>
      </configuration>
      <requirements>
        <requirement>
          <role>de.saumya.mojo.ruby.gems.GemManager</role>
          <field-name>manager</field-name>
        </requirement>
        <requirement>
          <role>de.saumya.mojo.ruby.rails.RailsManager</role>
          <field-name>railsManager</field-name>
        </requirement>
        <requirement>
          <role>org.apache.maven.repository.RepositorySystem</role>
          <field-name>repositorySystem</field-name>
        </requirement>
        <requirement>
          <role>org.codehaus.plexus.archiver.UnArchiver</role>
          <role-hint>zip</role-hint>
          <field-name>unzip</field-name>
        </requirement>
      </requirements>
    </mojo>
    <mojo>
      <goal>dbconsole</goal>
      <description>goal to run the rails database console</description>
      <requiresDependencyResolution>compile</requiresDependencyResolution>
      <requiresDirectInvocation>false</requiresDirectInvocation>
      <requiresProject>false</requiresProject>
      <requiresReports>false</requiresReports>
      <aggregator>false</aggregator>
      <requiresOnline>false</requiresOnline>
      <inheritedByDefault>true</inheritedByDefault>
      <implementation>de.saumya.mojo.rails3.DbConsoleMojo</implementation>
      <language>java</language>
      <instantiationStrategy>per-lookup</instantiationStrategy>
      <executionStrategy>once-per-session</executionStrategy>
      <parameters>
        <parameter>
          <name>args</name>
          <type>java.lang.String</type>
          <required>false</required>
          <editable>true</editable>
          <description>common arguments
&lt;br/&gt;
Command line -Dargs=...</description>
        </parameter>
        <parameter>
          <name>binDirectory</name>
          <type>java.io.File</type>
          <required>false</required>
          <editable>true</editable>
          <description>directory of JRuby bin path to use when forking JRuby.
&lt;br/&gt;
Command line -Dgem.binDirectory=...</description>
        </parameter>
        <parameter>
          <name>classRealm</name>
          <type>org.codehaus.classworlds.ClassRealm</type>
          <required>false</required>
          <editable>false</editable>
          <description>classrealm for internal use.</description>
        </parameter>
        <parameter>
          <name>dbconsoleArgs</name>
          <type>java.lang.String</type>
          <required>false</required>
          <editable>true</editable>
          <description>arguments for the database console command</description>
        </parameter>
        <parameter>
          <name>env</name>
          <type>java.lang.String</type>
          <required>false</required>
          <editable>true</editable>
          <description>either development or test or production or whatever else is possible
with your config</description>
        </parameter>
        <parameter>
          <name>gemHome</name>
          <type>java.io.File</type>
          <required>false</required>
          <editable>true</editable>
          <description>directory of gem home to use when forking JRuby. default will be ignored
when gemUseSystem is true.
&lt;br/&gt;
Command line -Dgem.home=...</description>
        </parameter>
        <parameter>
          <name>gemPath</name>
          <type>java.io.File</type>
          <required>false</required>
          <editable>true</editable>
          <description>directory of JRuby path to use when forking JRuby. default will be ignored
when gemUseSystem is true.
&lt;br/&gt;
Command line -Dgem.path=...</description>
        </parameter>
        <parameter>
          <name>gemUseSystem</name>
          <type>boolean</type>
          <required>false</required>
          <editable>true</editable>
          <description>use system gems instead of setting up GemPath/GemHome inside the build directory and ignores any set
gemHome and gemPath. you need to have both GEM_HOME and GEM_PATH environment variable set to make it work.
&lt;br/&gt;
Command line -Dgem.useSystem=...</description>
        </parameter>
        <parameter>
          <name>includeGemsInResources</name>
          <type>boolean</type>
          <required>false</required>
          <editable>true</editable>
          <description>flag whether to include all gems to resources, i.e. to classpath or not.
the difference to the &lt;code&gt;includeRubygemsInResources&lt;/code&gt; is that it 
does not depend on rubygems during runtime since the required_path of the 
gems gets added to resources. note that it expect the required_path of the 
gem to be &lt;b&gt;lib&lt;/b&gt; which is the default BUT that is not true for all gems.
in this sense this feature is incomplete and might not work for you !!!

this feature can be helpful in situations where the classloader does not work
for rubygems due to rubygems uses file system globs to find the gems and this
only works if the classloader reveals the jar url of its jars (i.e. URLClassLoader).
for example OSGi classloader can not work with rubygems !! 
&lt;br/&gt;
Command line -Dgem.includeGemsInResources=...</description>
        </parameter>
        <parameter>
          <name>includeLibDirectoryInResources</name>
          <type>boolean</type>
          <required>false</required>
          <editable>true</editable>
          <description>/**
flag whether to include file under the lib directory
&lt;br/&gt;
Command line -Dgem.includeRubygemsInResources=...</description>
        </parameter>
        <parameter>
          <name>includeOpenSSL</name>
          <type>boolean</type>
          <required>false</required>
          <editable>true</editable>
          <description>flag whether to include open-ssl gem or not
&lt;br/&gt;
Command line -Dgem.includeOpenSSL=...</description>
        </parameter>
        <parameter>
          <name>includeRubygemsInResources</name>
          <type>boolean</type>
          <required>false</required>
          <editable>true</editable>
          <description>flag whether to include all gems to resources, i.e. to classpath or not
&lt;br/&gt;
Command line -Dgem.includeRubygemsInResources=...</description>
        </parameter>
        <parameter>
          <name>includeRubygemsInTestResources</name>
          <type>boolean</type>
          <required>false</required>
          <editable>true</editable>
          <description>flag whether to include all gems to test-resources, i.e. to test-classpath or not
&lt;br/&gt;
Command line -Dgem.includeRubygemsInTestResources=...</description>
        </parameter>
        <parameter>
          <name>installRDoc</name>
          <type>boolean</type>
          <required>false</required>
          <editable>true</editable>
          <description>flag whether to install rdocs of the used gems or not
&lt;br/&gt;
Command line -Dgem.installRDoc=...</description>
        </parameter>
        <parameter>
          <name>installRI</name>
          <type>boolean</type>
          <required>false</required>
          <editable>true</editable>
          <description>flag whether to install ri of the used gems or not
&lt;br/&gt;
Command line -Dgem.installRDoc=...</description>
        </parameter>
        <parameter>
          <name>jrubyFork</name>
          <type>boolean</type>
          <required>false</required>
          <editable>true</editable>
          <description>fork the JRuby execution.
&lt;br/&gt;
Command line -Djruby.fork=...</description>
        </parameter>
        <parameter>
          <name>jrubyJvmArgs</name>
          <type>java.lang.String</type>
          <required>false</required>
          <editable>true</editable>
          <description>jvm arguments for the java command executing jruby
&lt;br/&gt;
Command line -Djruby.jvmargs=...</description>
        </parameter>
        <parameter>
          <name>jrubySwitches</name>
          <type>java.lang.String</type>
          <required>false</required>
          <editable>true</editable>
          <description>switches for the jruby command, like &apos;--1.9&apos;
&lt;br/&gt;
Command line -Djruby.switches=...</description>
        </parameter>
        <parameter>
          <name>jrubyVerbose</name>
          <type>boolean</type>
          <required>false</required>
          <editable>true</editable>
          <description>verbose jruby related output
&lt;br/&gt;
Command line -Djruby.verbose=...</description>
        </parameter>
        <parameter>
          <name>jrubyVersion</name>
          <type>java.lang.String</type>
          <required>false</required>
          <editable>true</editable>
          <description>if the pom.xml has no runtime dependency to a jruby-complete.jar then
this version is used to resolve the jruby-complete dependency from the
local/remote maven repository. it overwrites the jruby version from
the dependencies if any. i.e. you can easily switch jruby version from the commandline !
&lt;br/&gt;
default: 1.7.12
&lt;br/&gt;
Command line -Djruby.version=...</description>
        </parameter>
        <parameter>
          <name>launchDirectory</name>
          <type>java.io.File</type>
          <required>false</required>
          <editable>true</editable>
          <description>the launch directory for the JRuby execution.
&lt;br/&gt;
Command line -Djruby.launchDirectory=...</description>
        </parameter>
        <parameter>
          <name>libDirectory</name>
          <type>java.io.File</type>
          <required>false</required>
          <editable>true</editable>
          <description>directory with ruby sources - added to ruby loadpath only
&lt;br/&gt;
Command line -Djruby.lib=...</description>
        </parameter>
        <parameter>
          <name>localRepository</name>
          <type>org.apache.maven.artifact.repository.ArtifactRepository</type>
          <required>true</required>
          <editable>false</editable>
          <description>local repository for internal use.</description>
        </parameter>
        <parameter>
          <name>plugin</name>
          <type>org.apache.maven.plugin.descriptor.PluginDescriptor</type>
          <required>false</required>
          <editable>true</editable>
          <description></description>
        </parameter>
        <parameter>
          <name>project</name>
          <type>org.apache.maven.project.MavenProject</type>
          <required>true</required>
          <editable>true</editable>
          <description>reference to maven project for internal use.</description>
        </parameter>
        <parameter>
          <name>railsDir</name>
          <type>java.io.File</type>
          <required>false</required>
          <editable>true</editable>
          <description></description>
        </parameter>
        <parameter>
          <name>repoSession</name>
          <type>java.lang.Object</type>
          <required>false</required>
          <editable>false</editable>
          <description></description>
        </parameter>
        <parameter>
          <name>rubySourceDirectory</name>
          <type>java.io.File</type>
          <required>false</required>
          <editable>true</editable>
          <description>directory with ruby sources - added to java classpath and ruby loadpath
&lt;br/&gt;
Command line -Djruby.sourceDirectory=...</description>
        </parameter>
        <parameter>
          <name>supportNative</name>
          <type>boolean</type>
          <required>false</required>
          <editable>true</editable>
          <description>flag to indicate to setup jruby&apos;s native support for C-extensions
&lt;br/&gt;
Command line -Dgem.supportNative=...</description>
        </parameter>
      </parameters>
      <configuration>
        <args implementation="java.lang.String">${args}</args>
        <binDirectory implementation="java.io.File">${gem.binDirectory}</binDirectory>
        <classRealm implementation="org.codehaus.classworlds.ClassRealm">${dummyExpression}</classRealm>
        <dbconsoleArgs implementation="java.lang.String" default-value="${dbconsole.args}"/>
        <env implementation="java.lang.String">${rails.env}</env>
        <gemHome implementation="java.io.File" default-value="${project.build.directory}/rubygems">${gem.home}</gemHome>
        <gemPath implementation="java.io.File" default-value="${project.build.directory}/rubygems">${gem.path}</gemPath>
        <gemUseSystem implementation="boolean" default-value="false">${gem.useSystem}</gemUseSystem>
        <includeGemsInResources implementation="boolean" default-value="false">${gem.includeGemsInResources}</includeGemsInResources>
        <includeLibDirectoryInResources implementation="boolean" default-value="false">${gem.includeRubygemsInResources}</includeLibDirectoryInResources>
        <includeOpenSSL implementation="boolean" default-value="true">${gem.includeOpenSSL}</includeOpenSSL>
        <includeRubygemsInResources implementation="boolean" default-value="false">${gem.includeRubygemsInResources}</includeRubygemsInResources>
        <includeRubygemsInTestResources implementation="boolean" default-value="true">${gem.includeRubygemsInTestResources}</includeRubygemsInTestResources>
        <installRDoc implementation="boolean" default-value="false">${gem.installRDoc}</installRDoc>
        <installRI implementation="boolean" default-value="false">${gem.installRI}</installRI>
        <jrubyFork implementation="boolean" default-value="true">${jruby.fork}</jrubyFork>
        <jrubyJvmArgs implementation="java.lang.String">${jruby.jvmargs}</jrubyJvmArgs>
        <jrubySwitches implementation="java.lang.String">${jruby.switches}</jrubySwitches>
        <jrubyVerbose implementation="boolean" default-value="false">${jruby.verbose}</jrubyVerbose>
        <jrubyVersion implementation="java.lang.String">${jruby.version}</jrubyVersion>
        <launchDirectory implementation="java.io.File" default-value="${project.basedir}">${jruby.launchDirectory}</launchDirectory>
        <libDirectory implementation="java.io.File" default-value="lib">${jruby.lib}</libDirectory>
        <localRepository implementation="org.apache.maven.artifact.repository.ArtifactRepository" default-value="${localRepository}"/>
        <plugin implementation="org.apache.maven.plugin.descriptor.PluginDescriptor">${plugin}</plugin>
        <project implementation="org.apache.maven.project.MavenProject">${project}</project>
        <railsDir implementation="java.io.File" default-value="${project.basedir}/src/main/rails">${rails.dir}</railsDir>
        <repoSession implementation="java.lang.Object" default-value="${repositorySystemSession}"/>
        <rubySourceDirectory implementation="java.io.File" default-value="src/main/ruby">${jruby.sourceDirectory}</rubySourceDirectory>
        <supportNative implementation="boolean" default-value="false">${gem.supportNative}</supportNative>
      </configuration>
      <requirements>
        <requirement>
          <role>de.saumya.mojo.ruby.gems.GemManager</role>
          <field-name>manager</field-name>
        </requirement>
        <requirement>
          <role>de.saumya.mojo.ruby.rails.RailsManager</role>
          <field-name>railsManager</field-name>
        </requirement>
        <requirement>
          <role>org.apache.maven.repository.RepositorySystem</role>
          <field-name>repositorySystem</field-name>
        </requirement>
        <requirement>
          <role>org.codehaus.plexus.archiver.UnArchiver</role>
          <role-hint>zip</role-hint>
          <field-name>unzip</field-name>
        </requirement>
      </requirements>
    </mojo>
    <mojo>
      <goal>rake</goal>
      <description>goal to run rails rake with the given arguments.</description>
      <requiresDependencyResolution>test</requiresDependencyResolution>
      <requiresDirectInvocation>false</requiresDirectInvocation>
      <requiresProject>false</requiresProject>
      <requiresReports>false</requiresReports>
      <aggregator>false</aggregator>
      <requiresOnline>false</requiresOnline>
      <inheritedByDefault>true</inheritedByDefault>
      <implementation>de.saumya.mojo.rails3.RakeMojo</implementation>
      <language>java</language>
      <instantiationStrategy>per-lookup</instantiationStrategy>
      <executionStrategy>once-per-session</executionStrategy>
      <parameters>
        <parameter>
          <name>args</name>
          <type>java.lang.String</type>
          <required>false</required>
          <editable>true</editable>
          <description>common arguments
&lt;br/&gt;
Command line -Dargs=...</description>
        </parameter>
        <parameter>
          <name>binDirectory</name>
          <type>java.io.File</type>
          <required>false</required>
          <editable>true</editable>
          <description>directory of JRuby bin path to use when forking JRuby.
&lt;br/&gt;
Command line -Dgem.binDirectory=...</description>
        </parameter>
        <parameter>
          <name>classRealm</name>
          <type>org.codehaus.classworlds.ClassRealm</type>
          <required>false</required>
          <editable>false</editable>
          <description>classrealm for internal use.</description>
        </parameter>
        <parameter>
          <name>env</name>
          <type>java.lang.String</type>
          <required>false</required>
          <editable>true</editable>
          <description>either development or test or production or whatever else is possible
with your config</description>
        </parameter>
        <parameter>
          <name>gemHome</name>
          <type>java.io.File</type>
          <required>false</required>
          <editable>true</editable>
          <description>directory of gem home to use when forking JRuby. default will be ignored
when gemUseSystem is true.
&lt;br/&gt;
Command line -Dgem.home=...</description>
        </parameter>
        <parameter>
          <name>gemPath</name>
          <type>java.io.File</type>
          <required>false</required>
          <editable>true</editable>
          <description>directory of JRuby path to use when forking JRuby. default will be ignored
when gemUseSystem is true.
&lt;br/&gt;
Command line -Dgem.path=...</description>
        </parameter>
        <parameter>
          <name>gemUseSystem</name>
          <type>boolean</type>
          <required>false</required>
          <editable>true</editable>
          <description>use system gems instead of setting up GemPath/GemHome inside the build directory and ignores any set
gemHome and gemPath. you need to have both GEM_HOME and GEM_PATH environment variable set to make it work.
&lt;br/&gt;
Command line -Dgem.useSystem=...</description>
        </parameter>
        <parameter>
          <name>includeGemsInResources</name>
          <type>boolean</type>
          <required>false</required>
          <editable>true</editable>
          <description>flag whether to include all gems to resources, i.e. to classpath or not.
the difference to the &lt;code&gt;includeRubygemsInResources&lt;/code&gt; is that it 
does not depend on rubygems during runtime since the required_path of the 
gems gets added to resources. note that it expect the required_path of the 
gem to be &lt;b&gt;lib&lt;/b&gt; which is the default BUT that is not true for all gems.
in this sense this feature is incomplete and might not work for you !!!

this feature can be helpful in situations where the classloader does not work
for rubygems due to rubygems uses file system globs to find the gems and this
only works if the classloader reveals the jar url of its jars (i.e. URLClassLoader).
for example OSGi classloader can not work with rubygems !! 
&lt;br/&gt;
Command line -Dgem.includeGemsInResources=...</description>
        </parameter>
        <parameter>
          <name>includeLibDirectoryInResources</name>
          <type>boolean</type>
          <required>false</required>
          <editable>true</editable>
          <description>/**
flag whether to include file under the lib directory
&lt;br/&gt;
Command line -Dgem.includeRubygemsInResources=...</description>
        </parameter>
        <parameter>
          <name>includeOpenSSL</name>
          <type>boolean</type>
          <required>false</required>
          <editable>true</editable>
          <description>flag whether to include open-ssl gem or not
&lt;br/&gt;
Command line -Dgem.includeOpenSSL=...</description>
        </parameter>
        <parameter>
          <name>includeRubygemsInResources</name>
          <type>boolean</type>
          <required>false</required>
          <editable>true</editable>
          <description>flag whether to include all gems to resources, i.e. to classpath or not
&lt;br/&gt;
Command line -Dgem.includeRubygemsInResources=...</description>
        </parameter>
        <parameter>
          <name>includeRubygemsInTestResources</name>
          <type>boolean</type>
          <required>false</required>
          <editable>true</editable>
          <description>flag whether to include all gems to test-resources, i.e. to test-classpath or not
&lt;br/&gt;
Command line -Dgem.includeRubygemsInTestResources=...</description>
        </parameter>
        <parameter>
          <name>installRDoc</name>
          <type>boolean</type>
          <required>false</required>
          <editable>true</editable>
          <description>flag whether to install rdocs of the used gems or not
&lt;br/&gt;
Command line -Dgem.installRDoc=...</description>
        </parameter>
        <parameter>
          <name>installRI</name>
          <type>boolean</type>
          <required>false</required>
          <editable>true</editable>
          <description>flag whether to install ri of the used gems or not
&lt;br/&gt;
Command line -Dgem.installRDoc=...</description>
        </parameter>
        <parameter>
          <name>jrubyFork</name>
          <type>boolean</type>
          <required>false</required>
          <editable>true</editable>
          <description>fork the JRuby execution.
&lt;br/&gt;
Command line -Djruby.fork=...</description>
        </parameter>
        <parameter>
          <name>jrubyJvmArgs</name>
          <type>java.lang.String</type>
          <required>false</required>
          <editable>true</editable>
          <description>jvm arguments for the java command executing jruby
&lt;br/&gt;
Command line -Djruby.jvmargs=...</description>
        </parameter>
        <parameter>
          <name>jrubySwitches</name>
          <type>java.lang.String</type>
          <required>false</required>
          <editable>true</editable>
          <description>switches for the jruby command, like &apos;--1.9&apos;
&lt;br/&gt;
Command line -Djruby.switches=...</description>
        </parameter>
        <parameter>
          <name>jrubyVerbose</name>
          <type>boolean</type>
          <required>false</required>
          <editable>true</editable>
          <description>verbose jruby related output
&lt;br/&gt;
Command line -Djruby.verbose=...</description>
        </parameter>
        <parameter>
          <name>jrubyVersion</name>
          <type>java.lang.String</type>
          <required>false</required>
          <editable>true</editable>
          <description>if the pom.xml has no runtime dependency to a jruby-complete.jar then
this version is used to resolve the jruby-complete dependency from the
local/remote maven repository. it overwrites the jruby version from
the dependencies if any. i.e. you can easily switch jruby version from the commandline !
&lt;br/&gt;
default: 1.7.12
&lt;br/&gt;
Command line -Djruby.version=...</description>
        </parameter>
        <parameter>
          <name>launchDirectory</name>
          <type>java.io.File</type>
          <required>false</required>
          <editable>true</editable>
          <description>the launch directory for the JRuby execution.
&lt;br/&gt;
Command line -Djruby.launchDirectory=...</description>
        </parameter>
        <parameter>
          <name>libDirectory</name>
          <type>java.io.File</type>
          <required>false</required>
          <editable>true</editable>
          <description>directory with ruby sources - added to ruby loadpath only
&lt;br/&gt;
Command line -Djruby.lib=...</description>
        </parameter>
        <parameter>
          <name>localRepository</name>
          <type>org.apache.maven.artifact.repository.ArtifactRepository</type>
          <required>true</required>
          <editable>false</editable>
          <description>local repository for internal use.</description>
        </parameter>
        <parameter>
          <name>plugin</name>
          <type>org.apache.maven.plugin.descriptor.PluginDescriptor</type>
          <required>false</required>
          <editable>true</editable>
          <description></description>
        </parameter>
        <parameter>
          <name>project</name>
          <type>org.apache.maven.project.MavenProject</type>
          <required>true</required>
          <editable>true</editable>
          <description>reference to maven project for internal use.</description>
        </parameter>
        <parameter>
          <name>railsDir</name>
          <type>java.io.File</type>
          <required>false</required>
          <editable>true</editable>
          <description></description>
        </parameter>
        <parameter>
          <name>rakeArgs</name>
          <type>java.lang.String</type>
          <required>false</required>
          <editable>true</editable>
          <description>arguments for the generate command</description>
        </parameter>
        <parameter>
          <name>repoSession</name>
          <type>java.lang.Object</type>
          <required>false</required>
          <editable>false</editable>
          <description></description>
        </parameter>
        <parameter>
          <name>rubySourceDirectory</name>
          <type>java.io.File</type>
          <required>false</required>
          <editable>true</editable>
          <description>directory with ruby sources - added to java classpath and ruby loadpath
&lt;br/&gt;
Command line -Djruby.sourceDirectory=...</description>
        </parameter>
        <parameter>
          <name>supportNative</name>
          <type>boolean</type>
          <required>false</required>
          <editable>true</editable>
          <description>flag to indicate to setup jruby&apos;s native support for C-extensions
&lt;br/&gt;
Command line -Dgem.supportNative=...</description>
        </parameter>
        <parameter>
          <name>task</name>
          <type>java.lang.String</type>
          <required>false</required>
          <editable>true</editable>
          <description>the path to the application to be generated</description>
        </parameter>
      </parameters>
      <configuration>
        <args implementation="java.lang.String">${args}</args>
        <binDirectory implementation="java.io.File">${gem.binDirectory}</binDirectory>
        <classRealm implementation="org.codehaus.classworlds.ClassRealm">${dummyExpression}</classRealm>
        <env implementation="java.lang.String">${rails.env}</env>
        <gemHome implementation="java.io.File" default-value="${project.build.directory}/rubygems">${gem.home}</gemHome>
        <gemPath implementation="java.io.File" default-value="${project.build.directory}/rubygems">${gem.path}</gemPath>
        <gemUseSystem implementation="boolean" default-value="false">${gem.useSystem}</gemUseSystem>
        <includeGemsInResources implementation="boolean" default-value="false">${gem.includeGemsInResources}</includeGemsInResources>
        <includeLibDirectoryInResources implementation="boolean" default-value="false">${gem.includeRubygemsInResources}</includeLibDirectoryInResources>
        <includeOpenSSL implementation="boolean" default-value="true">${gem.includeOpenSSL}</includeOpenSSL>
        <includeRubygemsInResources implementation="boolean" default-value="false">${gem.includeRubygemsInResources}</includeRubygemsInResources>
        <includeRubygemsInTestResources implementation="boolean" default-value="true">${gem.includeRubygemsInTestResources}</includeRubygemsInTestResources>
        <installRDoc implementation="boolean" default-value="false">${gem.installRDoc}</installRDoc>
        <installRI implementation="boolean" default-value="false">${gem.installRI}</installRI>
        <jrubyFork implementation="boolean" default-value="true">${jruby.fork}</jrubyFork>
        <jrubyJvmArgs implementation="java.lang.String">${jruby.jvmargs}</jrubyJvmArgs>
        <jrubySwitches implementation="java.lang.String">${jruby.switches}</jrubySwitches>
        <jrubyVerbose implementation="boolean" default-value="false">${jruby.verbose}</jrubyVerbose>
        <jrubyVersion implementation="java.lang.String">${jruby.version}</jrubyVersion>
        <launchDirectory implementation="java.io.File" default-value="${project.basedir}">${jruby.launchDirectory}</launchDirectory>
        <libDirectory implementation="java.io.File" default-value="lib">${jruby.lib}</libDirectory>
        <localRepository implementation="org.apache.maven.artifact.repository.ArtifactRepository" default-value="${localRepository}"/>
        <plugin implementation="org.apache.maven.plugin.descriptor.PluginDescriptor">${plugin}</plugin>
        <project implementation="org.apache.maven.project.MavenProject">${project}</project>
        <railsDir implementation="java.io.File" default-value="${project.basedir}/src/main/rails">${rails.dir}</railsDir>
        <rakeArgs implementation="java.lang.String" default-value="${rake.args}"/>
        <repoSession implementation="java.lang.Object" default-value="${repositorySystemSession}"/>
        <rubySourceDirectory implementation="java.io.File" default-value="src/main/ruby">${jruby.sourceDirectory}</rubySourceDirectory>
        <supportNative implementation="boolean" default-value="false">${gem.supportNative}</supportNative>
        <task implementation="java.lang.String" default-value="${task}"/>
      </configuration>
      <requirements>
        <requirement>
          <role>de.saumya.mojo.ruby.gems.GemManager</role>
          <field-name>manager</field-name>
        </requirement>
        <requirement>
          <role>de.saumya.mojo.ruby.rails.RailsManager</role>
          <field-name>railsManager</field-name>
        </requirement>
        <requirement>
          <role>org.apache.maven.repository.RepositorySystem</role>
          <field-name>repositorySystem</field-name>
        </requirement>
        <requirement>
          <role>org.codehaus.plexus.archiver.UnArchiver</role>
          <role-hint>zip</role-hint>
          <field-name>unzip</field-name>
        </requirement>
      </requirements>
    </mojo>
    <mojo>
      <goal>console</goal>
      <description>goal to run the rails console. it will ignore the fork parameter since
forking does not work with a console.</description>
      <requiresDependencyResolution>compile</requiresDependencyResolution>
      <requiresDirectInvocation>false</requiresDirectInvocation>
      <requiresProject>false</requiresProject>
      <requiresReports>false</requiresReports>
      <aggregator>false</aggregator>
      <requiresOnline>false</requiresOnline>
      <inheritedByDefault>true</inheritedByDefault>
      <implementation>de.saumya.mojo.rails3.ConsoleMojo</implementation>
      <language>java</language>
      <instantiationStrategy>per-lookup</instantiationStrategy>
      <executionStrategy>once-per-session</executionStrategy>
      <parameters>
        <parameter>
          <name>args</name>
          <type>java.lang.String</type>
          <required>false</required>
          <editable>true</editable>
          <description>common arguments
&lt;br/&gt;
Command line -Dargs=...</description>
        </parameter>
        <parameter>
          <name>binDirectory</name>
          <type>java.io.File</type>
          <required>false</required>
          <editable>true</editable>
          <description>directory of JRuby bin path to use when forking JRuby.
&lt;br/&gt;
Command line -Dgem.binDirectory=...</description>
        </parameter>
        <parameter>
          <name>classRealm</name>
          <type>org.codehaus.classworlds.ClassRealm</type>
          <required>false</required>
          <editable>false</editable>
          <description>classrealm for internal use.</description>
        </parameter>
        <parameter>
          <name>consoleArgs</name>
          <type>java.lang.String</type>
          <required>false</required>
          <editable>true</editable>
          <description>arguments for the console command</description>
        </parameter>
        <parameter>
          <name>env</name>
          <type>java.lang.String</type>
          <required>false</required>
          <editable>true</editable>
          <description>either development or test or production or whatever else is possible
with your config</description>
        </parameter>
        <parameter>
          <name>gemHome</name>
          <type>java.io.File</type>
          <required>false</required>
          <editable>true</editable>
          <description>directory of gem home to use when forking JRuby. default will be ignored
when gemUseSystem is true.
&lt;br/&gt;
Command line -Dgem.home=...</description>
        </parameter>
        <parameter>
          <name>gemPath</name>
          <type>java.io.File</type>
          <required>false</required>
          <editable>true</editable>
          <description>directory of JRuby path to use when forking JRuby. default will be ignored
when gemUseSystem is true.
&lt;br/&gt;
Command line -Dgem.path=...</description>
        </parameter>
        <parameter>
          <name>gemUseSystem</name>
          <type>boolean</type>
          <required>false</required>
          <editable>true</editable>
          <description>use system gems instead of setting up GemPath/GemHome inside the build directory and ignores any set
gemHome and gemPath. you need to have both GEM_HOME and GEM_PATH environment variable set to make it work.
&lt;br/&gt;
Command line -Dgem.useSystem=...</description>
        </parameter>
        <parameter>
          <name>includeGemsInResources</name>
          <type>boolean</type>
          <required>false</required>
          <editable>true</editable>
          <description>flag whether to include all gems to resources, i.e. to classpath or not.
the difference to the &lt;code&gt;includeRubygemsInResources&lt;/code&gt; is that it 
does not depend on rubygems during runtime since the required_path of the 
gems gets added to resources. note that it expect the required_path of the 
gem to be &lt;b&gt;lib&lt;/b&gt; which is the default BUT that is not true for all gems.
in this sense this feature is incomplete and might not work for you !!!

this feature can be helpful in situations where the classloader does not work
for rubygems due to rubygems uses file system globs to find the gems and this
only works if the classloader reveals the jar url of its jars (i.e. URLClassLoader).
for example OSGi classloader can not work with rubygems !! 
&lt;br/&gt;
Command line -Dgem.includeGemsInResources=...</description>
        </parameter>
        <parameter>
          <name>includeLibDirectoryInResources</name>
          <type>boolean</type>
          <required>false</required>
          <editable>true</editable>
          <description>/**
flag whether to include file under the lib directory
&lt;br/&gt;
Command line -Dgem.includeRubygemsInResources=...</description>
        </parameter>
        <parameter>
          <name>includeOpenSSL</name>
          <type>boolean</type>
          <required>false</required>
          <editable>true</editable>
          <description>flag whether to include open-ssl gem or not
&lt;br/&gt;
Command line -Dgem.includeOpenSSL=...</description>
        </parameter>
        <parameter>
          <name>includeRubygemsInResources</name>
          <type>boolean</type>
          <required>false</required>
          <editable>true</editable>
          <description>flag whether to include all gems to resources, i.e. to classpath or not
&lt;br/&gt;
Command line -Dgem.includeRubygemsInResources=...</description>
        </parameter>
        <parameter>
          <name>includeRubygemsInTestResources</name>
          <type>boolean</type>
          <required>false</required>
          <editable>true</editable>
          <description>flag whether to include all gems to test-resources, i.e. to test-classpath or not
&lt;br/&gt;
Command line -Dgem.includeRubygemsInTestResources=...</description>
        </parameter>
        <parameter>
          <name>installRDoc</name>
          <type>boolean</type>
          <required>false</required>
          <editable>true</editable>
          <description>flag whether to install rdocs of the used gems or not
&lt;br/&gt;
Command line -Dgem.installRDoc=...</description>
        </parameter>
        <parameter>
          <name>installRI</name>
          <type>boolean</type>
          <required>false</required>
          <editable>true</editable>
          <description>flag whether to install ri of the used gems or not
&lt;br/&gt;
Command line -Dgem.installRDoc=...</description>
        </parameter>
        <parameter>
          <name>jrubyFork</name>
          <type>boolean</type>
          <required>false</required>
          <editable>true</editable>
          <description>fork the JRuby execution.
&lt;br/&gt;
Command line -Djruby.fork=...</description>
        </parameter>
        <parameter>
          <name>jrubyJvmArgs</name>
          <type>java.lang.String</type>
          <required>false</required>
          <editable>true</editable>
          <description>jvm arguments for the java command executing jruby
&lt;br/&gt;
Command line -Djruby.jvmargs=...</description>
        </parameter>
        <parameter>
          <name>jrubySwitches</name>
          <type>java.lang.String</type>
          <required>false</required>
          <editable>true</editable>
          <description>switches for the jruby command, like &apos;--1.9&apos;
&lt;br/&gt;
Command line -Djruby.switches=...</description>
        </parameter>
        <parameter>
          <name>jrubyVerbose</name>
          <type>boolean</type>
          <required>false</required>
          <editable>true</editable>
          <description>verbose jruby related output
&lt;br/&gt;
Command line -Djruby.verbose=...</description>
        </parameter>
        <parameter>
          <name>jrubyVersion</name>
          <type>java.lang.String</type>
          <required>false</required>
          <editable>true</editable>
          <description>if the pom.xml has no runtime dependency to a jruby-complete.jar then
this version is used to resolve the jruby-complete dependency from the
local/remote maven repository. it overwrites the jruby version from
the dependencies if any. i.e. you can easily switch jruby version from the commandline !
&lt;br/&gt;
default: 1.7.12
&lt;br/&gt;
Command line -Djruby.version=...</description>
        </parameter>
        <parameter>
          <name>launchDirectory</name>
          <type>java.io.File</type>
          <required>false</required>
          <editable>true</editable>
          <description>the launch directory for the JRuby execution.
&lt;br/&gt;
Command line -Djruby.launchDirectory=...</description>
        </parameter>
        <parameter>
          <name>libDirectory</name>
          <type>java.io.File</type>
          <required>false</required>
          <editable>true</editable>
          <description>directory with ruby sources - added to ruby loadpath only
&lt;br/&gt;
Command line -Djruby.lib=...</description>
        </parameter>
        <parameter>
          <name>localRepository</name>
          <type>org.apache.maven.artifact.repository.ArtifactRepository</type>
          <required>true</required>
          <editable>false</editable>
          <description>local repository for internal use.</description>
        </parameter>
        <parameter>
          <name>plugin</name>
          <type>org.apache.maven.plugin.descriptor.PluginDescriptor</type>
          <required>false</required>
          <editable>true</editable>
          <description></description>
        </parameter>
        <parameter>
          <name>project</name>
          <type>org.apache.maven.project.MavenProject</type>
          <required>true</required>
          <editable>true</editable>
          <description>reference to maven project for internal use.</description>
        </parameter>
        <parameter>
          <name>railsDir</name>
          <type>java.io.File</type>
          <required>false</required>
          <editable>true</editable>
          <description></description>
        </parameter>
        <parameter>
          <name>repoSession</name>
          <type>java.lang.Object</type>
          <required>false</required>
          <editable>false</editable>
          <description></description>
        </parameter>
        <parameter>
          <name>rubySourceDirectory</name>
          <type>java.io.File</type>
          <required>false</required>
          <editable>true</editable>
          <description>directory with ruby sources - added to java classpath and ruby loadpath
&lt;br/&gt;
Command line -Djruby.sourceDirectory=...</description>
        </parameter>
        <parameter>
          <name>supportNative</name>
          <type>boolean</type>
          <required>false</required>
          <editable>true</editable>
          <description>flag to indicate to setup jruby&apos;s native support for C-extensions
&lt;br/&gt;
Command line -Dgem.supportNative=...</description>
        </parameter>
      </parameters>
      <configuration>
        <args implementation="java.lang.String">${args}</args>
        <binDirectory implementation="java.io.File">${gem.binDirectory}</binDirectory>
        <classRealm implementation="org.codehaus.classworlds.ClassRealm">${dummyExpression}</classRealm>
        <consoleArgs implementation="java.lang.String" default-value="${console.args}"/>
        <env implementation="java.lang.String">${rails.env}</env>
        <gemHome implementation="java.io.File" default-value="${project.build.directory}/rubygems">${gem.home}</gemHome>
        <gemPath implementation="java.io.File" default-value="${project.build.directory}/rubygems">${gem.path}</gemPath>
        <gemUseSystem implementation="boolean" default-value="false">${gem.useSystem}</gemUseSystem>
        <includeGemsInResources implementation="boolean" default-value="false">${gem.includeGemsInResources}</includeGemsInResources>
        <includeLibDirectoryInResources implementation="boolean" default-value="false">${gem.includeRubygemsInResources}</includeLibDirectoryInResources>
        <includeOpenSSL implementation="boolean" default-value="true">${gem.includeOpenSSL}</includeOpenSSL>
        <includeRubygemsInResources implementation="boolean" default-value="false">${gem.includeRubygemsInResources}</includeRubygemsInResources>
        <includeRubygemsInTestResources implementation="boolean" default-value="true">${gem.includeRubygemsInTestResources}</includeRubygemsInTestResources>
        <installRDoc implementation="boolean" default-value="false">${gem.installRDoc}</installRDoc>
        <installRI implementation="boolean" default-value="false">${gem.installRI}</installRI>
        <jrubyFork implementation="boolean" default-value="true">${jruby.fork}</jrubyFork>
        <jrubyJvmArgs implementation="java.lang.String">${jruby.jvmargs}</jrubyJvmArgs>
        <jrubySwitches implementation="java.lang.String">${jruby.switches}</jrubySwitches>
        <jrubyVerbose implementation="boolean" default-value="false">${jruby.verbose}</jrubyVerbose>
        <jrubyVersion implementation="java.lang.String">${jruby.version}</jrubyVersion>
        <launchDirectory implementation="java.io.File" default-value="${project.basedir}">${jruby.launchDirectory}</launchDirectory>
        <libDirectory implementation="java.io.File" default-value="lib">${jruby.lib}</libDirectory>
        <localRepository implementation="org.apache.maven.artifact.repository.ArtifactRepository" default-value="${localRepository}"/>
        <plugin implementation="org.apache.maven.plugin.descriptor.PluginDescriptor">${plugin}</plugin>
        <project implementation="org.apache.maven.project.MavenProject">${project}</project>
        <railsDir implementation="java.io.File" default-value="${project.basedir}/src/main/rails">${rails.dir}</railsDir>
        <repoSession implementation="java.lang.Object" default-value="${repositorySystemSession}"/>
        <rubySourceDirectory implementation="java.io.File" default-value="src/main/ruby">${jruby.sourceDirectory}</rubySourceDirectory>
        <supportNative implementation="boolean" default-value="false">${gem.supportNative}</supportNative>
      </configuration>
      <requirements>
        <requirement>
          <role>de.saumya.mojo.ruby.gems.GemManager</role>
          <field-name>manager</field-name>
        </requirement>
        <requirement>
          <role>de.saumya.mojo.ruby.rails.RailsManager</role>
          <field-name>railsManager</field-name>
        </requirement>
        <requirement>
          <role>org.apache.maven.repository.RepositorySystem</role>
          <field-name>repositorySystem</field-name>
        </requirement>
        <requirement>
          <role>org.codehaus.plexus.archiver.UnArchiver</role>
          <role-hint>zip</role-hint>
          <field-name>unzip</field-name>
        </requirement>
      </requirements>
    </mojo>
    <mojo>
      <goal>generate</goal>
      <description>goal to run a generator</description>
      <requiresDependencyResolution>test</requiresDependencyResolution>
      <requiresDirectInvocation>false</requiresDirectInvocation>
      <requiresProject>false</requiresProject>
      <requiresReports>false</requiresReports>
      <aggregator>false</aggregator>
      <requiresOnline>false</requiresOnline>
      <inheritedByDefault>true</inheritedByDefault>
      <implementation>de.saumya.mojo.rails3.GenerateMojo</implementation>
      <language>java</language>
      <instantiationStrategy>per-lookup</instantiationStrategy>
      <executionStrategy>once-per-session</executionStrategy>
      <parameters>
        <parameter>
          <name>args</name>
          <type>java.lang.String</type>
          <required>false</required>
          <editable>true</editable>
          <description>common arguments
&lt;br/&gt;
Command line -Dargs=...</description>
        </parameter>
        <parameter>
          <name>binDirectory</name>
          <type>java.io.File</type>
          <required>false</required>
          <editable>true</editable>
          <description>directory of JRuby bin path to use when forking JRuby.
&lt;br/&gt;
Command line -Dgem.binDirectory=...</description>
        </parameter>
        <parameter>
          <name>classRealm</name>
          <type>org.codehaus.classworlds.ClassRealm</type>
          <required>false</required>
          <editable>false</editable>
          <description>classrealm for internal use.</description>
        </parameter>
        <parameter>
          <name>env</name>
          <type>java.lang.String</type>
          <required>false</required>
          <editable>true</editable>
          <description>either development or test or production or whatever else is possible
with your config</description>
        </parameter>
        <parameter>
          <name>gemHome</name>
          <type>java.io.File</type>
          <required>false</required>
          <editable>true</editable>
          <description>directory of gem home to use when forking JRuby. default will be ignored
when gemUseSystem is true.
&lt;br/&gt;
Command line -Dgem.home=...</description>
        </parameter>
        <parameter>
          <name>gemPath</name>
          <type>java.io.File</type>
          <required>false</required>
          <editable>true</editable>
          <description>directory of JRuby path to use when forking JRuby. default will be ignored
when gemUseSystem is true.
&lt;br/&gt;
Command line -Dgem.path=...</description>
        </parameter>
        <parameter>
          <name>gemUseSystem</name>
          <type>boolean</type>
          <required>false</required>
          <editable>true</editable>
          <description>use system gems instead of setting up GemPath/GemHome inside the build directory and ignores any set
gemHome and gemPath. you need to have both GEM_HOME and GEM_PATH environment variable set to make it work.
&lt;br/&gt;
Command line -Dgem.useSystem=...</description>
        </parameter>
        <parameter>
          <name>generateArgs</name>
          <type>java.lang.String</type>
          <required>false</required>
          <editable>true</editable>
          <description>arguments for the generate command</description>
        </parameter>
        <parameter>
          <name>generator</name>
          <type>java.lang.String</type>
          <required>false</required>
          <editable>true</editable>
          <description>the name of the generator</description>
        </parameter>
        <parameter>
          <name>includeGemsInResources</name>
          <type>boolean</type>
          <required>false</required>
          <editable>true</editable>
          <description>flag whether to include all gems to resources, i.e. to classpath or not.
the difference to the &lt;code&gt;includeRubygemsInResources&lt;/code&gt; is that it 
does not depend on rubygems during runtime since the required_path of the 
gems gets added to resources. note that it expect the required_path of the 
gem to be &lt;b&gt;lib&lt;/b&gt; which is the default BUT that is not true for all gems.
in this sense this feature is incomplete and might not work for you !!!

this feature can be helpful in situations where the classloader does not work
for rubygems due to rubygems uses file system globs to find the gems and this
only works if the classloader reveals the jar url of its jars (i.e. URLClassLoader).
for example OSGi classloader can not work with rubygems !! 
&lt;br/&gt;
Command line -Dgem.includeGemsInResources=...</description>
        </parameter>
        <parameter>
          <name>includeLibDirectoryInResources</name>
          <type>boolean</type>
          <required>false</required>
          <editable>true</editable>
          <description>/**
flag whether to include file under the lib directory
&lt;br/&gt;
Command line -Dgem.includeRubygemsInResources=...</description>
        </parameter>
        <parameter>
          <name>includeOpenSSL</name>
          <type>boolean</type>
          <required>false</required>
          <editable>true</editable>
          <description>flag whether to include open-ssl gem or not
&lt;br/&gt;
Command line -Dgem.includeOpenSSL=...</description>
        </parameter>
        <parameter>
          <name>includeRubygemsInResources</name>
          <type>boolean</type>
          <required>false</required>
          <editable>true</editable>
          <description>flag whether to include all gems to resources, i.e. to classpath or not
&lt;br/&gt;
Command line -Dgem.includeRubygemsInResources=...</description>
        </parameter>
        <parameter>
          <name>includeRubygemsInTestResources</name>
          <type>boolean</type>
          <required>false</required>
          <editable>true</editable>
          <description>flag whether to include all gems to test-resources, i.e. to test-classpath or not
&lt;br/&gt;
Command line -Dgem.includeRubygemsInTestResources=...</description>
        </parameter>
        <parameter>
          <name>installRDoc</name>
          <type>boolean</type>
          <required>false</required>
          <editable>true</editable>
          <description>flag whether to install rdocs of the used gems or not
&lt;br/&gt;
Command line -Dgem.installRDoc=...</description>
        </parameter>
        <parameter>
          <name>installRI</name>
          <type>boolean</type>
          <required>false</required>
          <editable>true</editable>
          <description>flag whether to install ri of the used gems or not
&lt;br/&gt;
Command line -Dgem.installRDoc=...</description>
        </parameter>
        <parameter>
          <name>jrubyFork</name>
          <type>boolean</type>
          <required>false</required>
          <editable>true</editable>
          <description>fork the JRuby execution.
&lt;br/&gt;
Command line -Djruby.fork=...</description>
        </parameter>
        <parameter>
          <name>jrubyJvmArgs</name>
          <type>java.lang.String</type>
          <required>false</required>
          <editable>true</editable>
          <description>jvm arguments for the java command executing jruby
&lt;br/&gt;
Command line -Djruby.jvmargs=...</description>
        </parameter>
        <parameter>
          <name>jrubySwitches</name>
          <type>java.lang.String</type>
          <required>false</required>
          <editable>true</editable>
          <description>switches for the jruby command, like &apos;--1.9&apos;
&lt;br/&gt;
Command line -Djruby.switches=...</description>
        </parameter>
        <parameter>
          <name>jrubyVerbose</name>
          <type>boolean</type>
          <required>false</required>
          <editable>true</editable>
          <description>verbose jruby related output
&lt;br/&gt;
Command line -Djruby.verbose=...</description>
        </parameter>
        <parameter>
          <name>jrubyVersion</name>
          <type>java.lang.String</type>
          <required>false</required>
          <editable>true</editable>
          <description>if the pom.xml has no runtime dependency to a jruby-complete.jar then
this version is used to resolve the jruby-complete dependency from the
local/remote maven repository. it overwrites the jruby version from
the dependencies if any. i.e. you can easily switch jruby version from the commandline !
&lt;br/&gt;
default: 1.7.12
&lt;br/&gt;
Command line -Djruby.version=...</description>
        </parameter>
        <parameter>
          <name>launchDirectory</name>
          <type>java.io.File</type>
          <required>false</required>
          <editable>true</editable>
          <description>the launch directory for the JRuby execution.
&lt;br/&gt;
Command line -Djruby.launchDirectory=...</description>
        </parameter>
        <parameter>
          <name>libDirectory</name>
          <type>java.io.File</type>
          <required>false</required>
          <editable>true</editable>
          <description>directory with ruby sources - added to ruby loadpath only
&lt;br/&gt;
Command line -Djruby.lib=...</description>
        </parameter>
        <parameter>
          <name>localRepository</name>
          <type>org.apache.maven.artifact.repository.ArtifactRepository</type>
          <required>true</required>
          <editable>false</editable>
          <description>local repository for internal use.</description>
        </parameter>
        <parameter>
          <name>plugin</name>
          <type>org.apache.maven.plugin.descriptor.PluginDescriptor</type>
          <required>false</required>
          <editable>true</editable>
          <description></description>
        </parameter>
        <parameter>
          <name>project</name>
          <type>org.apache.maven.project.MavenProject</type>
          <required>true</required>
          <editable>true</editable>
          <description>reference to maven project for internal use.</description>
        </parameter>
        <parameter>
          <name>railsDir</name>
          <type>java.io.File</type>
          <required>false</required>
          <editable>true</editable>
          <description></description>
        </parameter>
        <parameter>
          <name>repoSession</name>
          <type>java.lang.Object</type>
          <required>false</required>
          <editable>false</editable>
          <description></description>
        </parameter>
        <parameter>
          <name>rubySourceDirectory</name>
          <type>java.io.File</type>
          <required>false</required>
          <editable>true</editable>
          <description>directory with ruby sources - added to java classpath and ruby loadpath
&lt;br/&gt;
Command line -Djruby.sourceDirectory=...</description>
        </parameter>
        <parameter>
          <name>supportNative</name>
          <type>boolean</type>
          <required>false</required>
          <editable>true</editable>
          <description>flag to indicate to setup jruby&apos;s native support for C-extensions
&lt;br/&gt;
Command line -Dgem.supportNative=...</description>
        </parameter>
      </parameters>
      <configuration>
        <args implementation="java.lang.String">${args}</args>
        <binDirectory implementation="java.io.File">${gem.binDirectory}</binDirectory>
        <classRealm implementation="org.codehaus.classworlds.ClassRealm">${dummyExpression}</classRealm>
        <env implementation="java.lang.String">${rails.env}</env>
        <gemHome implementation="java.io.File" default-value="${project.build.directory}/rubygems">${gem.home}</gemHome>
        <gemPath implementation="java.io.File" default-value="${project.build.directory}/rubygems">${gem.path}</gemPath>
        <gemUseSystem implementation="boolean" default-value="false">${gem.useSystem}</gemUseSystem>
        <generateArgs implementation="java.lang.String" default-value="${generate.args}"/>
        <generator implementation="java.lang.String" default-value="${generator}"/>
        <includeGemsInResources implementation="boolean" default-value="false">${gem.includeGemsInResources}</includeGemsInResources>
        <includeLibDirectoryInResources implementation="boolean" default-value="false">${gem.includeRubygemsInResources}</includeLibDirectoryInResources>
        <includeOpenSSL implementation="boolean" default-value="true">${gem.includeOpenSSL}</includeOpenSSL>
        <includeRubygemsInResources implementation="boolean" default-value="false">${gem.includeRubygemsInResources}</includeRubygemsInResources>
        <includeRubygemsInTestResources implementation="boolean" default-value="true">${gem.includeRubygemsInTestResources}</includeRubygemsInTestResources>
        <installRDoc implementation="boolean" default-value="false">${gem.installRDoc}</installRDoc>
        <installRI implementation="boolean" default-value="false">${gem.installRI}</installRI>
        <jrubyFork implementation="boolean" default-value="true">${jruby.fork}</jrubyFork>
        <jrubyJvmArgs implementation="java.lang.String">${jruby.jvmargs}</jrubyJvmArgs>
        <jrubySwitches implementation="java.lang.String">${jruby.switches}</jrubySwitches>
        <jrubyVerbose implementation="boolean" default-value="false">${jruby.verbose}</jrubyVerbose>
        <jrubyVersion implementation="java.lang.String">${jruby.version}</jrubyVersion>
        <launchDirectory implementation="java.io.File" default-value="${project.basedir}">${jruby.launchDirectory}</launchDirectory>
        <libDirectory implementation="java.io.File" default-value="lib">${jruby.lib}</libDirectory>
        <localRepository implementation="org.apache.maven.artifact.repository.ArtifactRepository" default-value="${localRepository}"/>
        <plugin implementation="org.apache.maven.plugin.descriptor.PluginDescriptor">${plugin}</plugin>
        <project implementation="org.apache.maven.project.MavenProject">${project}</project>
        <railsDir implementation="java.io.File" default-value="${project.basedir}/src/main/rails">${rails.dir}</railsDir>
        <repoSession implementation="java.lang.Object" default-value="${repositorySystemSession}"/>
        <rubySourceDirectory implementation="java.io.File" default-value="src/main/ruby">${jruby.sourceDirectory}</rubySourceDirectory>
        <supportNative implementation="boolean" default-value="false">${gem.supportNative}</supportNative>
      </configuration>
      <requirements>
        <requirement>
          <role>de.saumya.mojo.ruby.gems.GemManager</role>
          <field-name>manager</field-name>
        </requirement>
        <requirement>
          <role>de.saumya.mojo.ruby.rails.RailsManager</role>
          <field-name>railsManager</field-name>
        </requirement>
        <requirement>
          <role>org.apache.maven.repository.RepositorySystem</role>
          <field-name>repositorySystem</field-name>
        </requirement>
        <requirement>
          <role>org.codehaus.plexus.archiver.UnArchiver</role>
          <role-hint>zip</role-hint>
          <field-name>unzip</field-name>
        </requirement>
      </requirements>
    </mojo>
  </mojos>
  <dependencies>
    <dependency>
      <groupId>org.codehaus.plexus</groupId>
      <artifactId>plexus-velocity</artifactId>
      <type>jar</type>
      <version>1.1.8</version>
    </dependency>
    <dependency>
      <groupId>org.codehaus.plexus</groupId>
      <artifactId>plexus-container-default</artifactId>
      <type>jar</type>
      <version>1.0-alpha-9-stable-1</version>
    </dependency>
    <dependency>
      <groupId>classworlds</groupId>
      <artifactId>classworlds</artifactId>
      <type>jar</type>
      <version>1.1-alpha-2</version>
    </dependency>
    <dependency>
      <groupId>commons-collections</groupId>
      <artifactId>commons-collections</artifactId>
      <type>jar</type>
      <version>3.1</version>
    </dependency>
    <dependency>
      <groupId>velocity</groupId>
      <artifactId>velocity</artifactId>
      <type>jar</type>
      <version>1.5</version>
    </dependency>
    <dependency>
      <groupId>commons-lang</groupId>
      <artifactId>commons-lang</artifactId>
      <type>jar</type>
      <version>2.1</version>
    </dependency>
    <dependency>
      <groupId>oro</groupId>
      <artifactId>oro</artifactId>
      <type>jar</type>
      <version>2.0.8</version>
    </dependency>
    <dependency>
      <groupId>de.saumya.mojo</groupId>
      <artifactId>gem-maven-plugin</artifactId>
      <type>jar</type>
      <version>1.0.0</version>
    </dependency>
    <dependency>
      <groupId>de.saumya.mojo</groupId>
      <artifactId>jruby-maven-plugin</artifactId>
      <type>jar</type>
      <version>1.0.0</version>
    </dependency>
    <dependency>
      <groupId>de.saumya.mojo</groupId>
      <artifactId>ruby-tools</artifactId>
      <type>jar</type>
      <version>1.0.0</version>
    </dependency>
    <dependency>
      <groupId>ant</groupId>
      <artifactId>ant</artifactId>
      <type>jar</type>
      <version>1.6.5</version>
    </dependency>
    <dependency>
      <groupId>org.codehaus.plexus</groupId>
      <artifactId>plexus-archiver</artifactId>
      <type>jar</type>
      <version>1.2</version>
    </dependency>
    <dependency>
      <groupId>org.codehaus.plexus</groupId>
      <artifactId>plexus-io</artifactId>
      <type>jar</type>
      <version>1.0.1</version>
    </dependency>
    <dependency>
      <groupId>de.saumya.mojo</groupId>
      <artifactId>maven-tools</artifactId>
      <type>jar</type>
      <version>0.34.2</version>
    </dependency>
    <dependency>
      <groupId>org.apache.maven</groupId>
      <artifactId>maven-plugin-api</artifactId>
      <type>jar</type>
      <version>3.0.3</version>
    </dependency>
    <dependency>
      <groupId>org.apache.maven</groupId>
      <artifactId>maven-model</artifactId>
      <type>jar</type>
      <version>3.0.3</version>
    </dependency>
    <dependency>
      <groupId>org.sonatype.sisu</groupId>
      <artifactId>sisu-inject-plexus</artifactId>
      <type>jar</type>
      <version>2.1.1</version>
    </dependency>
    <dependency>
      <groupId>org.sonatype.sisu</groupId>
      <artifactId>sisu-inject-bean</artifactId>
      <type>jar</type>
      <version>2.1.1</version>
    </dependency>
    <dependency>
      <groupId>org.sonatype.sisu</groupId>
      <artifactId>sisu-guice</artifactId>
      <type>jar</type>
      <version>2.9.4</version>
    </dependency>
    <dependency>
      <groupId>org.apache.maven</groupId>
      <artifactId>maven-core</artifactId>
      <type>jar</type>
      <version>3.0.3</version>
    </dependency>
    <dependency>
      <groupId>org.apache.maven</groupId>
      <artifactId>maven-settings</artifactId>
      <type>jar</type>
      <version>3.0.3</version>
    </dependency>
    <dependency>
      <groupId>org.apache.maven</groupId>
      <artifactId>maven-settings-builder</artifactId>
      <type>jar</type>
      <version>3.0.3</version>
    </dependency>
    <dependency>
      <groupId>org.apache.maven</groupId>
      <artifactId>maven-repository-metadata</artifactId>
      <type>jar</type>
      <version>3.0.3</version>
    </dependency>
    <dependency>
      <groupId>org.apache.maven</groupId>
      <artifactId>maven-model-builder</artifactId>
      <type>jar</type>
      <version>3.0.3</version>
    </dependency>
    <dependency>
      <groupId>org.apache.maven</groupId>
      <artifactId>maven-aether-provider</artifactId>
      <type>jar</type>
      <version>3.0.3</version>
    </dependency>
    <dependency>
      <groupId>org.sonatype.aether</groupId>
      <artifactId>aether-spi</artifactId>
      <type>jar</type>
      <version>1.11</version>
    </dependency>
    <dependency>
      <groupId>org.sonatype.aether</groupId>
      <artifactId>aether-impl</artifactId>
      <type>jar</type>
      <version>1.11</version>
    </dependency>
    <dependency>
      <groupId>org.sonatype.aether</groupId>
      <artifactId>aether-api</artifactId>
      <type>jar</type>
      <version>1.11</version>
    </dependency>
    <dependency>
      <groupId>org.sonatype.aether</groupId>
      <artifactId>aether-util</artifactId>
      <type>jar</type>
      <version>1.11</version>
    </dependency>
    <dependency>
      <groupId>org.codehaus.plexus</groupId>
      <artifactId>plexus-interpolation</artifactId>
      <type>jar</type>
      <version>1.14</version>
    </dependency>
    <dependency>
      <groupId>org.codehaus.plexus</groupId>
      <artifactId>plexus-utils</artifactId>
      <type>jar</type>
      <version>2.0.6</version>
    </dependency>
    <dependency>
      <groupId>org.codehaus.plexus</groupId>
      <artifactId>plexus-classworlds</artifactId>
      <type>jar</type>
      <version>2.4</version>
    </dependency>
    <dependency>
      <groupId>org.codehaus.plexus</groupId>
      <artifactId>plexus-component-annotations</artifactId>
      <type>jar</type>
      <version>1.5.5</version>
    </dependency>
    <dependency>
      <groupId>org.sonatype.plexus</groupId>
      <artifactId>plexus-sec-dispatcher</artifactId>
      <type>jar</type>
      <version>1.3</version>
    </dependency>
    <dependency>
      <groupId>org.sonatype.plexus</groupId>
      <artifactId>plexus-cipher</artifactId>
      <type>jar</type>
      <version>1.4</version>
    </dependency>
    <dependency>
      <groupId>org.apache.maven</groupId>
      <artifactId>maven-artifact</artifactId>
      <type>jar</type>
      <version>3.0.3</version>
    </dependency>
  </dependencies>
</plugin>
New to GrepCode? Check out our FAQ X