Skip to content

⚙️ Configuration ​

All plugin parameters, available for both the Gradle and Maven plugins.

Parameters ​

ParameterTypeRequiredDefaultDescription
baseDirStringyes—Base directory for resolving relative paths
filePatternStringyes—Glob pattern to locate BPMN files (e.g. src/main/resources/**/*.bpmn)
outputFolderPathStringyes—Directory where generated code is written
packagePathStringyes—Package name for generated classes (e.g. com.example.process)
outputLanguageOutputLanguageyes—KOTLIN or JAVA
processEngineProcessEngineyes—ZEEBE, CAMUNDA_7, or OPERATON

Process Engines ​

EngineValueDescription
Camunda 8 / ZeebeZEEBEUses zeebe: namespace extensions
Camunda 7CAMUNDA_7Uses camunda: namespace extensions
OperatonOPERATONUses operaton: namespace (Operaton's own XML namespace)

Operaton

Operaton is an open-source fork of Camunda 7. It uses the same patterns for I/O mappings and call activities, but with its own XML namespace (http://operaton.org/schema/1.0/bpmn). If your Operaton models still use camunda: namespace attributes, use CAMUNDA_7 instead.

Output Languages ​

LanguageValueGenerated Output
KotlinKOTLINobject with const val properties
JavaJAVAclass with public static final fields

INFO

Currently, the Gradle plugin, Maven plugin, and Web app all emit the same set of languages. Future language support may differ per module — additional languages will likely appear in the Web app first.

Examples ​

kotlin
tasks.named("generateBpmnModelApi", GenerateBpmnModelsTask::class) {
    baseDir = projectDir.toString()
    filePattern = "src/main/resources/**/*.bpmn"
    outputFolderPath = "$projectDir/src/main/kotlin"
    packagePath = "com.example.process"
    outputLanguage = OutputLanguage.KOTLIN
    processEngine = ProcessEngine.ZEEBE
}
xml
<configuration>
    <baseDir>${project.basedir}</baseDir>
    <filePattern>src/main/resources/*.bpmn</filePattern>
    <outputFolderPath>${project.basedir}/src/main/java</outputFolderPath>
    <packagePath>com.example.process</packagePath>
    <outputLanguage>KOTLIN</outputLanguage>
    <processEngine>ZEEBE</processEngine>
</configuration>