modello:velocity
Full name:
org.codehaus.modello:modello-maven-plugin:2.5.1:velocity
Description:
Creates files from the model using Velocity templates.
This mojo can be given a list of templates and a list of parameters. Each template from the templates property will be run with the following context:
version: the version of the model to generatemodel: the modello modelHelper: aorg.codehaus.modello.plugin.velocity.Helperobject instance- any additional parameters specified using the
paramsproperty
#MODELLO-VELOCITY#SAVE-OUTPUT-TO VTL directive. This allows a single template to generate multiple files. For example, the following directive will redirect further output from the template to a file named org/apache/maven/api/model/Plugin.java if the variable package is set to org.apache.maven.api.model and the variable className is set to Plugin.
#MODELLO-VELOCITY#SAVE-OUTPUT-TO ${package.replace('.','/')/${className}.java}
Attributes:
- Requires a Maven project to be executed.
- The goal is thread-safe and supports parallel builds.
- Binds by default to the lifecycle phase:
generate-sources.
Required Parameters
| Name | Type | Since | Description |
|---|---|---|---|
<basedir> |
String |
- |
Base directory of the project, from where the Modello models are loaded. Default: ${basedir} |
<models> |
String[] |
- |
List of relative paths to mdo files containing the models. |
<packageWithVersion> |
boolean |
- |
True if the generated package names should include the version. Default: falseUser Property: packageWithVersion |
<version> |
String |
- |
The version of the model we will be working on. User Property: version |
Optional Parameters
| Name | Type | Since | Description |
|---|---|---|---|
<licenseFile> |
File |
2.3.1 |
The file that contains license header text. If both configured, the licenseText prevails. |
<licenseText> |
String |
2.3.1 |
The contents of license header text, verbatim. |
<outputDirectory> |
File |
- |
The output directory of the generated files. Default: ${project.build.directory}/generated-sources/modello |
<packagedVersions> |
List<String> |
- |
Additional historical versions to generate, each being packaged with the version regardless of the packageWithVersion setting. |
<params> |
List<String> |
- |
A list of parameters, using the syntax key=value. Those parameters will be made accessible to the templates. |
<pluralExceptions> |
Map<String,String> |
2.5.0 |
Additional exceptions to the singularization rules, changing plural noun to singular.
As a key we provide plural noun and as value we provide singular noun, example: <kisses>kiss</kisses> |
<templates> |
List<String> |
- |
A list of template paths to be run against the loaded Modello model. Those are .vm files as described in the Velocity Users Guide relative to velocityBasedir. |
<velocityBasedir> |
File |
- |
The directory where Velocity templates are looked for. Default: ${project.basedir} |
Parameter Details
<basedir>
Base directory of the project, from where the Modello models are loaded.
- Type:
java.lang.String - Required:
Yes - Default:
${basedir}
<licenseFile>
The file that contains license header text. If both configured, the
licenseText prevails.- Type:
java.io.File - Since:
2.3.1 - Required:
No
<licenseText>
The contents of license header text, verbatim.
- Type:
java.lang.String - Since:
2.3.1 - Required:
No
<models>
List of relative paths to mdo files containing the models.
- Type:
java.lang.String[] - Required:
Yes
<outputDirectory>
The output directory of the generated files.
- Type:
java.io.File - Required:
No - Default:
${project.build.directory}/generated-sources/modello
<packageWithVersion>
True if the generated package names should include the version.
- Type:
boolean - Required:
Yes - User Property:
packageWithVersion - Default:
false
<packagedVersions>
Additional historical versions to generate, each being packaged with the version regardless of the
packageWithVersion setting.- Type:
java.util.List<java.lang.String> - Required:
No
<params>
A list of parameters, using the syntax
key=value. Those parameters will be made accessible to the templates.- Type:
java.util.List<java.lang.String> - Required:
No
<pluralExceptions>
Additional exceptions to the singularization rules, changing plural noun to singular.
As a key we provide plural noun and as value we provide singular noun, example:
<kisses>kiss</kisses>
- Type:
java.util.Map<java.lang.String, java.lang.String> - Since:
2.5.0 - Required:
No
<templates>
A list of template paths to be run against the loaded Modello model. Those are
.vm files as described in the Velocity Users Guide relative to velocityBasedir.- Type:
java.util.List<java.lang.String> - Required:
No
<velocityBasedir>
The directory where Velocity templates are looked for.
- Type:
java.io.File - Required:
No - Default:
${project.basedir}
<version>
The version of the model we will be working on.
- Type:
java.lang.String - Required:
Yes - User Property:
version
