myfaces-builder:make-tags
Maven goal to generate java source code for Component tag classes.
It uses velocity to generate templates, and has the option to define custom templates.
The executed template has the following variables available to it:
- utils : Returns an instance of org.apache.myfaces.buildtools.maven2.plugin.builder.utils.MyfacesUtils, it contains some useful methods.
- component : Returns the current instance of org.apache.myfaces.buildtools.maven2.plugin.builder.model.ComponentMeta
Mojo Attributes:
- Requires a Maven 2.0 project to execute.
- Requires dependency resolution of artifacts in scope: compile
- Automatically executes within the lifecycle phase: generate-sources
Required Parameters
| Name | Type | Description |
|---|---|---|
| generatedSourceDirectory | File | The directory where all generated files are created. This directory is added as a compile source root automatically like src/main/java is. |
Optional Parameters
| Name | Type | Description |
|---|---|---|
| buildDirectory | File | Defines the directory where the metadata file (META-INF/myfaces-metadata.xml) is loaded. |
| force | boolean | Log and continue execution when generating component tag classes.
If this property is set to false (default), errors when a component tag class is generated stops execution immediately. |
| jsfVersion | String | Defines the jsf version (1.1 or 1.2), used to take the default templates for each version.
If version is 1.1, the default templateTagName is 'tagClass11.vm' and if version is 1.2 the default templateTagName is 'tagClass12.vm'. |
| mainSourceDirectory | File | This param is used to search in this folder if some file to be generated exists and avoid generation and duplicate exception. |
| mainSourceDirectory2 | File | This param is used to search in this folder if some file to be generated exists and avoid generation and duplicate exception. |
| metadataFile | String | Injected name of file generated by earlier run of BuildMetaDataMojo goal. |
| modelIds | List | Define the models that should be included when generate component tag classes. If not set, the
current model identified by the artifactId is used.
Each model built by build-metadata goal has a modelId, that by default is the artifactId of the project. Setting this property defines which objects tied in a specified modelId should be taken into account. In this case, limit component tag generation only to the components defined in the models identified by the modelId defined. This is useful when you need to generate files that take information defined on other projects. Example: <modelIds> <modelId>model1</modelId> <modelId>model2</modelId> </modelIds> |
| packageContains | String | Only generate tag classes that contains that package prefix |
| templateSourceDirectory | File | The directory used to load templates into velocity environment. |
| templateTagName | String | The name of the template used to generate component tag classes. According to the value on jsfVersion property the default if this property is not set could be tagClass11.vm (1.1) or tagClass12.vm (1.2) |
| typePrefix | String | Only generate tag classes that its component starts with this type prefix |
Parameter Details
Defines the directory where the metadata file (META-INF/myfaces-metadata.xml) is loaded.
- Type: java.io.File
- Required: No
- Expression: ${project.build.directory}/generated-resources/myfaces-builder-plugin
Log and continue execution when generating component tag classes.
If this property is set to false (default), errors when a component tag class is generated stops execution immediately.
- Type: boolean
- Required: No
The directory where all generated files are created. This directory is added as a compile source root automatically like src/main/java is.
- Type: java.io.File
- Required: Yes
- Expression: ${project.build.directory}/generated-sources/myfaces-builder-plugin
Defines the jsf version (1.1 or 1.2), used to take the default templates for each version.
If version is 1.1, the default templateTagName is 'tagClass11.vm' and if version is 1.2 the default templateTagName is 'tagClass12.vm'.
- Type: java.lang.String
- Required: No
This param is used to search in this folder if some file to be generated exists and avoid generation and duplicate exception.
- Type: java.io.File
- Required: No
- Expression: src/main/java
This param is used to search in this folder if some file to be generated exists and avoid generation and duplicate exception.
- Type: java.io.File
- Required: No
Injected name of file generated by earlier run of BuildMetaDataMojo goal.
- Type: java.lang.String
- Required: No
Define the models that should be included when generate component tag classes. If not set, the current model identified by the artifactId is used.
Each model built by build-metadata goal has a modelId, that by default is the artifactId of the project. Setting this property defines which objects tied in a specified modelId should be taken into account.
In this case, limit component tag generation only to the components defined in the models identified by the modelId defined.
This is useful when you need to generate files that take information defined on other projects.
Example:
<modelIds> <modelId>model1</modelId> <modelId>model2</modelId> </modelIds>
- Type: java.util.List
- Required: No
Only generate tag classes that contains that package prefix
- Type: java.lang.String
- Required: No
The directory used to load templates into velocity environment.
- Type: java.io.File
- Required: No
- Expression: src/main/resources/META-INF
The name of the template used to generate component tag classes. According to the value on jsfVersion property the default if this property is not set could be tagClass11.vm (1.1) or tagClass12.vm (1.2)
- Type: java.lang.String
- Required: No
Only generate tag classes that its component starts with this type prefix
- Type: java.lang.String
- Required: No