MavenMultiProjectGenerator (Grails 2.4.4)
Date: 2014-10-28

Package: org.codehaus.groovy.grails.cli.maven

## [Groovy] Class MavenMultiProjectGenerator

- org.codehaus.groovy.grails.cli.maven.MavenMultiProjectGenerator

- Generates a Maven multi-module build structure for a Grails project and plugins

  Authors:
    Graeme Rocher
    Peter Ledbrook
  Since:
    2.1

- - Inherited fields
    Fields inherited from class | Fields
    --- | ---
    `class BaseSettingsApi` | `appClassName, buildEventListener, buildProps, buildSettings, configSlurper, enableProfile, grailsAppName, grailsHome, isInteractive, metadata, metadataFile, pluginSettings, pluginsHome, resolver`

  - ### Properties Summary

    Properties
    Type | Name and description
    --- | ---
    `MavenPomGenerator` | `pomGenerator`

  - ### Constructor Summary

    Constructors
    Constructor and description
    `MavenMultiProjectGenerator (BuildSettings buildSettings)`

  - ### Methods Summary

    Methods
    Type | Name and description
    --- | ---
    `void` | `generate(java.lang.String group, java.lang.String name, java.lang.String version)`

  - ### Inherited Methods Summary

    Inherited Methods
    Methods inherited from class | Name
    --- | ---
    `class BaseSettingsApi` | `confirmInput, confirmInput, copyGrailsResource, copyGrailsResource, copyGrailsResources, copyGrailsResources, createXmlSlurper, enableUaa, exit, getAppClassName, getAppGrailsVersion, getBuildEventListener, getBuildProps, getBuildSettings, getConfigSlurper, getGrailsAppName, getGrailsAppVersion, getGrailsHome, getIsInteractive, getMetadata, getMetadataFile, getPluginBuildSettings, getPluginSettings, getPluginsHome, getPropertyValue, getResolver, getServerHost, getServerPort, getServerPortHttps, getServletVersion, grailsResource, isDeclared, isEnableProfile, logError, logErrorAndExit, makeApiAvailableToScripts, makeRelative, makeRelative, profile, readAllPluginXmlMetadata, readPluginXmlMetadata, resolveResources, updateMetadata, updateMetadata`
    `class java.lang.Object` | `java.lang.Object#wait(long, int), java.lang.Object#wait(long), java.lang.Object#wait(), java.lang.Object#equals(java.lang.Object), java.lang.Object#toString(), java.lang.Object#hashCode(), java.lang.Object#getClass(), java.lang.Object#notify(), java.lang.Object#notifyAll()`

- - ### Property Detail

    - #### MavenPomGenerator pomGenerator

  - ### Constructor Detail

    - #### MavenMultiProjectGenerator(BuildSettings buildSettings)

  - ### Method Detail

    - #### void generate(java.lang.String group, java.lang.String name, java.lang.String version)

      Looks in the build's base directory for Grails plugin and application directories and then creates a parent POM in the base directory plus child POMs in each of the plugin and application folders. The parent POM just contains the modules, i.e. the plugins and apps.

      This method delegates to MavenPomGenerator.generatePom for the child POM generation.

      Parameters:
        `group` - The string to use for the parent and child POMs' `groupId` element.
        `name` - The string to use for the parent and child POMs' `artifactId`, `name` and `description` elements.
        `version` - The version string for the POMs.