eugene:generate

Full name:

org.nuiton.eugene:eugene-maven-plugin:3.1-SNAPSHOT:generate

Description:

Eugene generator plugin (a.k.a generate mojo) Fill inputs and mojo will chained needed writer.

Attributes:

  • Requires a Maven project to be executed.
  • Requires dependency resolution of artifacts in scope: compile.
  • Since version: 2.5.

Required Parameters

Name Type Since Description
<extractDirectory> File 2.1.3 Where to copy extracted files (when using class-path data).
Default value is: target/extracted-sources.
User property is: eugene.extractDirectory.
<inputs> String[] 2.0.0 Inputs files to used to generate the required model files. An include has the following pattern :
 writer:
when you want to use a specific writer with his default io values. Can also write :
 [writer:]directory:includes
where includes is the pattern to find files from the directory given and must be terminated by the extension of files. Specifying the writer can be usefull when you want to use a writer for an unknown extension by any writer. Example :
<inputs>
    <input>zargo:</input>
    <input>src/main/xmi2:**\/*.zargo</input>
    <input>zargo:src/main/xmi:**\/*.zargo2</input>
</inputs>
Note: If your using a single input, you can just write :
<inputs>zargo</inputs>

User property is: eugene.inputs.
<modelType> String 2.0.0 The type of model to be used. By default, use an objectmodel.
Default value is: objectmodel.
User property is: eugene.modelType.
<outputDirectory> File 2.0.0 Where to generate files.
Default value is: target/generated-sources.
User property is: eugene.outputDirectory.

Optional Parameters

Name Type Since Description
<defaultPackage> String 0.50 Nom par défaut du paquetage généré (model input specific).
Default value is: ${project.groupId}.${project.artifactId}.
User property is: eugene.defaultPackage.
<dryRun> boolean 2.0.0 Ne génère rien, analyse juste la configuration.
Default value is: false.
User property is: eugene.dryRun.
<encoding> String 2.0.0 Encoding to be used for generation of files. Note: If nothing is filled here, we will use the system property file.encoding.
Default value is: ${project.build.sourceEncoding}.
User property is: eugene.encoding.
<excludeTemplates> String[] 0.63 Templates à ne pas utiliser lors de la transformations des models (model input sepcific).
User property is: eugene.excludeTemplates.
<extractedPackages> String 1.0.0-rc-8 List of package to extract from xmi to models. (model input specific). If the parameter is not filled, will extract all packages.
Default value is: ${project.groupId}.${project.artifactId}.
User property is: eugene.extractedPackages.
<failIfUnsafe> boolean 2.9 A flag to fail if model properties is not safe (means some tagValues or stereotypes are not correct). Note: since version 3.0, the default value is true.
Default value is: true.
User property is: eugene.failIfUnsafe.
<fullPackagePath> String 2.0.0 Nom du paquetage pour les fichiers générés (xmi input sepcific).
Default value is: ${project.groupId}.${project.artifactId}.
User property is: generator.fullPackagePath.
<generatedPackages> String 1.0.0-rc-8 List of packages to generate (comma separated). (model input specific). If the parameter is not filled, will generate all packages.
User property is: eugene.generatedPackages.
<modelExtensionFile> File 3.0 To use a new object model extension file.
User property is: eugene.modelExtensionFile.
<overwrite> boolean 2.0.0 Ecrase les fichiers générés.
Default value is: false.
User property is: eugene.overwrite.
<properties> Map 2.0.0 Properties to pass to writer.
<resolver> String 2.0.0 Nom du resolver a utiliser pour les transformations xmi vers model (xmi input sepcific).
Default value is: org.nuiton.util.ResourceResolver.
User property is: generator.resolver.
<skipInputs> String 2.0.0 List of input (protocol) not to treate separated by comma. Example :
<skipInputs>xmi</skipInputs>
<skipInputs>xmi,model</skipInputs>

User property is: eugene.skipInputs.
<templates> String 0.50 Templates à utiliser, séparés par des virgules pour les transformations depuis les models (model input sepcific).
User property is: eugene.templates.
<testPhase> boolean 2.0.0 A flag to mark the mojo to be used in a test phase. This will permits to add generated sources in test compile roots.
Default value is: false.
User property is: eugene.testPhase.
<verbose> boolean 2.0.0 Pour activer le mode verbeux.
Default value is: ${maven.verbose}.
User property is: eugene.verbose.

Parameter Details

<defaultPackage>

Nom par défaut du paquetage généré (model input specific).
  • Type: java.lang.String
  • Since: 0.50
  • Required: No
  • User Property: eugene.defaultPackage
  • Default: ${project.groupId}.${project.artifactId}

<dryRun>

Ne génère rien, analyse juste la configuration.
  • Type: boolean
  • Since: 2.0.0
  • Required: No
  • User Property: eugene.dryRun
  • Default: false

<encoding>

Encoding to be used for generation of files. Note: If nothing is filled here, we will use the system property file.encoding.
  • Type: java.lang.String
  • Since: 2.0.0
  • Required: No
  • User Property: eugene.encoding
  • Default: ${project.build.sourceEncoding}

<excludeTemplates>

Templates à ne pas utiliser lors de la transformations des models (model input sepcific).
  • Type: java.lang.String[]
  • Since: 0.63
  • Required: No
  • User Property: eugene.excludeTemplates

<extractDirectory>

Where to copy extracted files (when using class-path data).
  • Type: java.io.File
  • Since: 2.1.3
  • Required: Yes
  • User Property: eugene.extractDirectory
  • Default: target/extracted-sources

<extractedPackages>

List of package to extract from xmi to models. (model input specific). If the parameter is not filled, will extract all packages.
  • Type: java.lang.String
  • Since: 1.0.0-rc-8
  • Required: No
  • User Property: eugene.extractedPackages
  • Default: ${project.groupId}.${project.artifactId}

<failIfUnsafe>

A flag to fail if model properties is not safe (means some tagValues or stereotypes are not correct). Note: since version 3.0, the default value is true.
  • Type: boolean
  • Since: 2.9
  • Required: No
  • User Property: eugene.failIfUnsafe
  • Default: true

<fullPackagePath>

Nom du paquetage pour les fichiers générés (xmi input sepcific).
  • Type: java.lang.String
  • Since: 2.0.0
  • Required: No
  • User Property: generator.fullPackagePath
  • Default: ${project.groupId}.${project.artifactId}

<generatedPackages>

List of packages to generate (comma separated). (model input specific). If the parameter is not filled, will generate all packages.
  • Type: java.lang.String
  • Since: 1.0.0-rc-8
  • Required: No
  • User Property: eugene.generatedPackages

<inputs>

Inputs files to used to generate the required model files. An include has the following pattern :
 writer:
when you want to use a specific writer with his default io values. Can also write :
 [writer:]directory:includes
where includes is the pattern to find files from the directory given and must be terminated by the extension of files. Specifying the writer can be usefull when you want to use a writer for an unknown extension by any writer. Example :
<inputs>
    <input>zargo:</input>
    <input>src/main/xmi2:**\/*.zargo</input>
    <input>zargo:src/main/xmi:**\/*.zargo2</input>
</inputs>
Note: If your using a single input, you can just write :
<inputs>zargo</inputs>
  • Type: java.lang.String[]
  • Since: 2.0.0
  • Required: Yes
  • User Property: eugene.inputs

<modelExtensionFile>

To use a new object model extension file.
  • Type: java.io.File
  • Since: 3.0
  • Required: No
  • User Property: eugene.modelExtensionFile

<modelType>

The type of model to be used. By default, use an objectmodel.
  • Type: java.lang.String
  • Since: 2.0.0
  • Required: Yes
  • User Property: eugene.modelType
  • Default: objectmodel

<outputDirectory>

Where to generate files.
  • Type: java.io.File
  • Since: 2.0.0
  • Required: Yes
  • User Property: eugene.outputDirectory
  • Default: target/generated-sources

<overwrite>

Ecrase les fichiers générés.
  • Type: boolean
  • Since: 2.0.0
  • Required: No
  • User Property: eugene.overwrite
  • Default: false

<properties>

Properties to pass to writer.
  • Type: java.util.Map
  • Since: 2.0.0
  • Required: No

<resolver>

Nom du resolver a utiliser pour les transformations xmi vers model (xmi input sepcific).
  • Type: java.lang.String
  • Since: 2.0.0
  • Required: No
  • User Property: generator.resolver
  • Default: org.nuiton.util.ResourceResolver

<skipInputs>

List of input (protocol) not to treate separated by comma. Example :
<skipInputs>xmi</skipInputs>
<skipInputs>xmi,model</skipInputs>
  • Type: java.lang.String
  • Since: 2.0.0
  • Required: No
  • User Property: eugene.skipInputs

<templates>

Templates à utiliser, séparés par des virgules pour les transformations depuis les models (model input sepcific).
  • Type: java.lang.String
  • Since: 0.50
  • Required: No
  • User Property: eugene.templates

<testPhase>

A flag to mark the mojo to be used in a test phase. This will permits to add generated sources in test compile roots.
  • Type: boolean
  • Since: 2.0.0
  • Required: No
  • User Property: eugene.testPhase
  • Default: false

<verbose>

Pour activer le mode verbeux.
  • Type: boolean
  • Since: 2.0.0
  • Required: No
  • User Property: eugene.verbose
  • Default: ${maven.verbose}