workflow-maven-plugin
Used in:
components
- OverviewOverview
- VersionsVersions
- DependentsDependents
- DependenciesDependencies
<dependency>
<groupId>io.mateu.workflow</groupId>
<artifactId>workflow-maven-plugin</artifactId>
<version>2.21.0</version>
</dependency><?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<parent>
<groupId>io.mateu.workflow</groupId>
<artifactId>eventconductor</artifactId>
<version>2.21.0</version>
<relativePath>../../pom.xml</relativePath>
</parent>
<artifactId>workflow-maven-plugin</artifactId>
<packaging>maven-plugin</packaging>
<name>workflow-maven-plugin</name>
<description>Maven plugin that validates EventConductor workflow, form and rule
definitions (JSON/YAML) against their published specifications at build time.</description>
<properties>
<!-- Coverage floor for this module, just under what it measures today
(89.5%). Raise it when the module improves; never lower it. -->
<jacoco.line.minimum>0.87</jacoco.line.minimum>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<maven.api.version>3.9.16</maven.api.version>
<!-- Do not run the plugin on itself. -->
<eventconductor.validate.skip>true</eventconductor.validate.skip>
</properties>
<dependencies>
<!-- Maven plugin contract (provided by the Maven runtime). -->
<dependency>
<groupId>org.apache.maven</groupId>
<artifactId>maven-plugin-api</artifactId>
<version>${maven.api.version}</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>org.apache.maven</groupId>
<artifactId>maven-core</artifactId>
<version>${maven.api.version}</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>org.apache.maven.plugin-tools</groupId>
<artifactId>maven-plugin-annotations</artifactId>
<version>3.16.0</version>
<scope>provided</scope>
</dependency>
<!-- Validation stack: JSON Schema + YAML/JSON parsing + JEXL for rule/precondition expressions. -->
<dependency>
<groupId>com.networknt</groupId>
<artifactId>json-schema-validator</artifactId>
<version>3.0.7</version>
</dependency>
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-databind</artifactId>
</dependency>
<dependency>
<groupId>com.fasterxml.jackson.dataformat</groupId>
<artifactId>jackson-dataformat-yaml</artifactId>
</dependency>
<!-- The pure generator core: contracts + configuration → sources and project skeletons. -->
<dependency>
<groupId>io.mateu.workflow</groupId>
<artifactId>worker-codegen</artifactId>
<version>2.21.0</version>
</dependency>
<!-- Graph analysis shared with the Maven plugin (REPLY path rules), JDK-only. -->
<dependency>
<groupId>io.mateu.workflow</groupId>
<artifactId>definition-analysis</artifactId>
<version>2.21.0</version>
</dependency>
<dependency>
<groupId>org.apache.commons</groupId>
<artifactId>commons-jexl3</artifactId>
<version>3.7.0</version>
</dependency>
<!-- CronExpression only (spring-context is small and has no transitive UI/boot weight). -->
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-context</artifactId>
</dependency>
<dependency>
<groupId>org.junit.jupiter</groupId>
<artifactId>junit-jupiter</artifactId>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.assertj</groupId>
<artifactId>assertj-core</artifactId>
<scope>test</scope>
</dependency>
</dependencies>
<build>
<plugins>
<!-- Exclude the maven-plugin-plugin generated HelpMojo from the coverage gate. -->
<!-- Single source of truth: bundle the canonical schemas straight from the
sibling engine modules so the plugin can never drift from the engine. -->
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-resources-plugin</artifactId>
<executions>
<execution>
<id>copy-canonical-schemas</id>
<phase>generate-resources</phase>
<goals>
<goal>copy-resources</goal>
</goals>
<configuration>
<outputDirectory>${project.build.outputDirectory}/schemas</outputDirectory>
<resources>
<resource>
<directory>${project.basedir}/../workflow-engine/src/main/resources</directory>
<includes>
<include>workflow-definition-schema.json</include>
</includes>
</resource>
<resource>
<directory>${project.basedir}/../forms-engine/src/main/resources</directory>
<includes>
<include>form-schema.json</include>
</includes>
</resource>
<resource>
<directory>${project.basedir}/../rule-engine/src/main/resources</directory>
<includes>
<include>rule-schema.json</include>
</includes>
</resource>
<resource>
<directory>${project.basedir}/../shared/src/main/resources</directory>
<includes>
<include>task-contract-schema.json</include>
</includes>
</resource>
</resources>
</configuration>
</execution>
</executions>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-plugin-plugin</artifactId>
<version>3.16.0</version>
<configuration>
<goalPrefix>eventconductor</goalPrefix>
</configuration>
</plugin>
</plugins>
</build>
</project>