openl:generate

Full name:

org.openl.rules:openl-maven-plugin:5.26.0:generate

Description:

Generates OpenL Tablets interface, domain classes, project descriptor, and unit tests.

Attributes:

  • Requires a Maven project to be executed.
  • Requires dependency resolution of artifacts in scope: compile.
  • Binds by default to the lifecycle phase: generate-sources.

Required Parameters

Name Type Since Description
<workspaceFolder> File - Directory containing the generated artifact.
Default value is: ${project.build.directory}/openl-workspace.

Optional Parameters

Name Type Since Description
<externalParameters> Map - Additional options for compilation defined externally, such as external dependencies and overridden system properties.
<generateSpreadsheetResultBeans> boolean 5.23.0 Parameter for generating custom spreadsheet result bean classes.
<interfaceClass> String 5.19.1 Generated Java interface from an OpenL Tablets project. If it is empty, generation is skipped.
<isProvideRuntimeContext> boolean 5.19.1 Parameter that adds the IRulesRuntimeContext arguments to the generated interface.
<isProvideVariations> boolean 5.19.1 Parameter that adds additional methods to the generated interface to support variations.
<moduleName> String 5.23.2 Rules module from which Java Beans and the interface is generated. Usually it corresponds to the Excel file name without an extension. If this parameter is not defined, the whole project is used for generating Java classes.
<outputDirectory> File - Output directory of the generated Java beans and OpenL Tablets Java interface.
Default value is: ${project.build.directory}/generated-sources/openl.
<sourceDirectory> File 5.19.0 Folder that contains all OpenL Tablets-related resources such as rules and project descriptor, for example, ${project.basedir}/src/main/openl.
Default value is: ${project.build.sourceDirectory}/../openl.
<superInterface> String 5.19.1 Comma-separated list of interfaces used for extending the generated interface.

Parameter Details

<externalParameters>

Additional options for compilation defined externally, such as external dependencies and overridden system properties.
  • Type: java.util.Map
  • Required: No

<generateSpreadsheetResultBeans>

Parameter for generating custom spreadsheet result bean classes.
  • Type: boolean
  • Since: 5.23.0
  • Required: No

<interfaceClass>

Generated Java interface from an OpenL Tablets project. If it is empty, generation is skipped.
  • Type: java.lang.String
  • Since: 5.19.1
  • Required: No

<isProvideRuntimeContext>

Parameter that adds the IRulesRuntimeContext arguments to the generated interface.
  • Type: boolean
  • Since: 5.19.1
  • Required: No

<isProvideVariations>

Parameter that adds additional methods to the generated interface to support variations.
  • Type: boolean
  • Since: 5.19.1
  • Required: No

<moduleName>

Rules module from which Java Beans and the interface is generated. Usually it corresponds to the Excel file name without an extension. If this parameter is not defined, the whole project is used for generating Java classes.
  • Type: java.lang.String
  • Since: 5.23.2
  • Required: No

<outputDirectory>

Output directory of the generated Java beans and OpenL Tablets Java interface.
  • Type: java.io.File
  • Required: No
  • Default: ${project.build.directory}/generated-sources/openl

<sourceDirectory>

Folder that contains all OpenL Tablets-related resources such as rules and project descriptor, for example, ${project.basedir}/src/main/openl.
  • Type: java.io.File
  • Since: 5.19.0
  • Required: No
  • Default: ${project.build.sourceDirectory}/../openl

<superInterface>

Comma-separated list of interfaces used for extending the generated interface.
  • Type: java.lang.String
  • Since: 5.19.1
  • Required: No

<workspaceFolder>

Directory containing the generated artifact.
  • Type: java.io.File
  • Required: Yes
  • Default: ${project.build.directory}/openl-workspace