metaschema:generate-schemas
Full name:
dev.metaschema.java:metaschema-maven-plugin:2.0.1:generate-schemas
Description:
Goal which generates XML and JSON schemas for a given set of Metaschema modules.
Attributes:
- Requires a Maven project to be executed.
- The goal is not marked as thread-safe and thus does not support parallel builds.
- Binds by default to the lifecycle phase:
generate-resources
.
Required Parameters
Name | Type | Since | Description |
---|---|---|---|
<outputDirectory> |
File |
- |
Location to generate Java source files in. Default: ${project.build.directory}/generated-sources/metaschema User Property: outputDirectory |
Optional Parameters
Name | Type | Since | Description |
---|---|---|---|
<constraints> |
File[] |
- |
A list of files containing Metaschema module constraints files.User Property: constraints |
<encoding> |
String |
2.0 |
Defines the encoding used for generating Java Source files. The algorithm for finding the encoding to use is as follows (where the first non-null value found is used for encoding):
See also: getEncoding() Default: ${project.build.sourceEncoding} |
<excludes> |
String[] |
- |
A set of exclusion patterns used to prevent certain files from being processed. By default, this set is empty such that no files are excluded. |
<formats> |
List<String> |
- |
Specifies the formats of the schemas to generate. Multiple formats can be supplied and this plugin will generate a schema for each of the desired formats.
A format is specified by supplying one of the following values in a <format> subelement:
|
<includes> |
String[] |
- |
A set of inclusion patterns used to select which Metaschema modules are to be processed. By default, all files are processed. |
<inlineChoiceDefinitions> |
boolean |
- |
If enabled, child definitions of a choice that are defined inline will be generated as inline types. If disabled, child definitions of a choice will always be generated as global types. This option will only be used if inlineDefinitions is also enabled.Default: false |
<inlineDefinitions> |
boolean |
- |
If enabled, definitions that are defined inline will be generated as inline types. If disabled, definitions will always be generated as global types. Default: true |
<metaschemaDir> |
File |
- |
The directory to read source metaschema from. Default: ${basedir}/src/main/metaschema |
<skip> |
boolean |
- |
Indicate if the execution should be skipped. Default: false User Property: metaschema.skip |
Parameter Details
<constraints>
A list of
files
containing Metaschema module constraints files.- Type:
java.io.File[]
- Required:
No
- User Property:
constraints
<encoding>
Defines the encoding used for generating Java Source files.
The algorithm for finding the encoding to use is as follows (where the first non-null value found is used for encoding):
- If the configuration property is explicitly given within the plugin's configuration, use that value.
- If the Maven property
project.build.sourceEncoding
is defined, use its value. - Otherwise use the value from the system property
file.encoding
.
See also: getEncoding()
- Type:
java.lang.String
- Since:
2.0
- Required:
No
- Default:
${project.build.sourceEncoding}
<excludes>
A set of exclusion patterns used to prevent certain files from being processed. By default, this set is empty such that no files are excluded.
- Type:
java.lang.String[]
- Required:
No
<formats>
Specifies the formats of the schemas to generate. Multiple formats can be supplied and this plugin will generate a schema for each of the desired formats.
A format is specified by supplying one of the following values in a <format> subelement:
- json - Creates a JSON Schema
- xsd - Creates an XML Schema Definition
- Type:
java.util.List<java.lang.String>
- Required:
No
<includes>
A set of inclusion patterns used to select which Metaschema modules are to be processed. By default, all files are processed.
- Type:
java.lang.String[]
- Required:
No
<inlineChoiceDefinitions>
If enabled, child definitions of a choice that are defined inline will be generated as inline types. If disabled, child definitions of a choice will always be generated as global types. This option will only be used if
inlineDefinitions
is also enabled.- Type:
boolean
- Required:
No
- Default:
false
<inlineDefinitions>
If enabled, definitions that are defined inline will be generated as inline types. If disabled, definitions will always be generated as global types.
- Type:
boolean
- Required:
No
- Default:
true
<metaschemaDir>
The directory to read source metaschema from.
- Type:
java.io.File
- Required:
No
- Default:
${basedir}/src/main/metaschema
<outputDirectory>
Location to generate Java source files in.
- Type:
java.io.File
- Required:
Yes
- User Property:
outputDirectory
- Default:
${project.build.directory}/generated-sources/metaschema
<skip>
Indicate if the execution should be skipped.
- Type:
boolean
- Required:
No
- User Property:
metaschema.skip
- Default:
false