Package org.codehaus.modello.maven
Class ModelloVelocityMojo
- java.lang.Object
-
- org.apache.maven.plugin.AbstractMojo
-
- org.codehaus.modello.maven.AbstractModelloGeneratorMojo
-
- org.codehaus.modello.maven.ModelloVelocityMojo
-
- All Implemented Interfaces:
org.apache.maven.plugin.ContextEnabled
,org.apache.maven.plugin.Mojo
@Mojo(name="velocity", defaultPhase=GENERATE_SOURCES, threadSafe=true) public class ModelloVelocityMojo extends AbstractModelloGeneratorMojo
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
: aHelper
object instance- any additional parameters specified using the
params
property
#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 namedorg/apache/maven/api/model/Plugin.java
if the variablepackage
is set toorg.apache.maven.api.model
and the variableclassName
is set toPlugin
.#MODELLO-VELOCITY#SAVE-OUTPUT-TO ${package.replace('.','/')}/${className}.java
-
-
Field Summary
Fields Modifier and Type Field Description private java.io.File
outputDirectory
The output directory of the generated files.private java.util.List<java.lang.String>
params
A list of parameters, using the syntaxkey=value
.private java.util.List<java.lang.String>
templates
A list of template paths to be run against the loaded Modello model.private java.io.File
velocityBasedir
The directory where Velocity templates are looked for.
-
Constructor Summary
Constructors Constructor Description ModelloVelocityMojo()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description protected void
customizeParameters(java.util.Map<java.lang.String,java.lang.Object> parameters)
Override this method to customize the values in the properties set.protected java.lang.String
getGeneratorType()
java.io.File
getOutputDirectory()
protected boolean
producesCompilableResult()
-
Methods inherited from class org.codehaus.modello.maven.AbstractModelloGeneratorMojo
createParameters, execute, getBasedir, getModelloCore, getModels, getPackageWithVersion, getProject, getVersion, producesResources, setBasedir, setBuildContext, setModelloCore, setModels, setPackagedVersions, setPackageWithVersion, setProject, setVersion
-
-
-
-
Field Detail
-
outputDirectory
@Parameter(defaultValue="${project.build.directory}/generated-sources/modello") private java.io.File outputDirectory
The output directory of the generated files.
-
velocityBasedir
@Parameter(defaultValue="${project.basedir}") private java.io.File velocityBasedir
The directory where Velocity templates are looked for.
-
templates
@Parameter private java.util.List<java.lang.String> 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 tovelocityBasedir
.
-
params
@Parameter private java.util.List<java.lang.String> params
A list of parameters, using the syntaxkey=value
. Those parameters will be made accessible to the templates.
-
-
Method Detail
-
getGeneratorType
protected java.lang.String getGeneratorType()
- Specified by:
getGeneratorType
in classAbstractModelloGeneratorMojo
-
customizeParameters
protected void customizeParameters(java.util.Map<java.lang.String,java.lang.Object> parameters)
Description copied from class:AbstractModelloGeneratorMojo
Override this method to customize the values in the properties set.This method will be called after the parameters have been populated with the parameters in the abstract mojo.
- Overrides:
customizeParameters
in classAbstractModelloGeneratorMojo
- Parameters:
parameters
- the parameters to customize
-
producesCompilableResult
protected boolean producesCompilableResult()
- Overrides:
producesCompilableResult
in classAbstractModelloGeneratorMojo
-
getOutputDirectory
public java.io.File getOutputDirectory()
- Specified by:
getOutputDirectory
in classAbstractModelloGeneratorMojo
-
-