shared
Used in:
components
- OverviewOverview
- VersionsVersions
- DependentsDependents
- DependenciesDependencies
<dependency>
<groupId>io.mateu.workflow</groupId>
<artifactId>shared</artifactId>
<version>2.21.0</version>
</dependency><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>shared</artifactId>
<packaging>jar</packaging>
<name>shared</name>
<url>http://maven.apache.org</url>
<properties>
<!-- Coverage floor for this module, just under what it measures today
(87.9%). Raise it when the module improves; never lower it. -->
<jacoco.line.minimum>0.85</jacoco.line.minimum>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
</properties>
<dependencies>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.13.2</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.junit.jupiter</groupId>
<artifactId>junit-jupiter</artifactId>
<version>6.1.3</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.assertj</groupId>
<artifactId>assertj-core</artifactId>
<version>3.27.7</version>
<scope>test</scope>
</dependency>
<dependency>
<!-- MockEnvironment, to test the producer default without booting an application. -->
<groupId>org.springframework</groupId>
<artifactId>spring-test</artifactId>
<scope>test</scope>
</dependency>
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-annotations</artifactId>
</dependency>
<!-- Parsing inbound git webhook payloads (GitHub/GitLab/Bitbucket) to extract the
pushed repository URL and branch. Version managed by the Spring Boot BOM. -->
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-databind</artifactId>
</dependency>
<!-- The JEXL sandbox lives here, next to ExpressionGuard, because both evaluators need
it: workflow-engine's step guards and rule-runtime's rule expressions are the same
untrusted input with the same hazards, and a second copy is a second thing to forget
to harden. -->
<dependency>
<groupId>org.apache.commons</groupId>
<artifactId>commons-jexl3</artifactId>
<version>3.7.0</version>
</dependency>
<!-- Template syntax (where the ${…} are), shared with the Maven plugin; JDK-only. -->
<dependency>
<groupId>io.mateu.workflow</groupId>
<artifactId>definition-analysis</artifactId>
<version>2.21.0</version>
</dependency>
<!-- Linear-time regex for the =~ operator. See LinearTimeRegexArithmetic: java.util.regex
backtracks, and a workflow definition is untrusted input. -->
<dependency>
<groupId>com.google.re2j</groupId>
<artifactId>re2j</artifactId>
<version>1.8</version>
</dependency>
<dependency>
<!-- Optional so the DTOs stay usable without Spring on the classpath: only
WorkerReply needs this, and only a worker calls it. Optional dependencies are
not transitive, so nothing that merely reads the events picks up the binder. -->
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-stream</artifactId>
<optional>true</optional>
</dependency>
<dependency>
<!-- Optional for the same reason: only SynchronousProducerDefaults needs it, and it
is an EnvironmentPostProcessor, so it is loaded by Boot or not at all. -->
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot</artifactId>
<optional>true</optional>
</dependency>
<!-- Flow authorization has to know who the caller is. Both sources are optional on purpose:
an app that authenticates its own callers has Spring Security, one behind a gateway has
the servlet request, and an app with neither simply has no identity to offer — which the
checks read as "holds nothing" rather than as a failure. -->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-autoconfigure</artifactId>
<optional>true</optional>
</dependency>
<dependency>
<groupId>org.springframework.security</groupId>
<artifactId>spring-security-core</artifactId>
<optional>true</optional>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-web</artifactId>
<optional>true</optional>
</dependency>
<dependency>
<groupId>jakarta.servlet</groupId>
<artifactId>jakarta.servlet-api</artifactId>
<optional>true</optional>
</dependency>
<dependency>
<!-- ManagedSchema, the runner each engine applies its own migrations with. Optional
here so a worker or a DTO consumer does not drag Flyway in; the engine modules
that actually own a schema declare it themselves. -->
<groupId>org.flywaydb</groupId>
<artifactId>flyway-core</artifactId>
<optional>true</optional>
</dependency>
<dependency>
<!-- A real database for ManagedSchemaTest: what it asserts is what Flyway did to the
schema, which a mock cannot tell us. -->
<groupId>com.h2database</groupId>
<artifactId>h2</artifactId>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-jdbc</artifactId>
<scope>test</scope>
</dependency>
</dependencies>
</project>