openl-tablets
Used in:
components
- OverviewOverview
- VersionsVersions
- DependentsDependents
- DependenciesDependencies
<dependency>
<groupId>org.openl.rules</groupId>
<artifactId>openl-tablets</artifactId>
<version>6.1.0</version>
</dependency><?xml version="1.0" encoding="UTF-8"?>
<!-- This file is for releasing OpenL version wIth maven-release-plugin -->
<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/maven-v4_0_0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>org.openl.rules</groupId>
<artifactId>openl-tablets</artifactId>
<version>6.1.0</version>
<packaging>pom</packaging>
<name>OpenL Tablets</name>
<description>OpenL Tablets rules engine and related frameworks</description>
<url>https://openl-tablets.org</url>
<inceptionYear>2004</inceptionYear>
<organization>
<name>OpenL Tablets</name>
<url>https://openl-tablets.org</url>
</organization>
<licenses>
<license>
<name>GNU Lesser General Public License</name>
<url>http://www.gnu.org/licenses/lgpl.html</url>
<distribution>repo</distribution>
</license>
</licenses>
<developers>
<developer>
<name>Stanislav Shor</name>
</developer>
<developer>
<name>Yury Molchan</name>
<email>ymolchan@eisgroup.com</email>
<organization>EIS Group</organization>
<organizationUrl>https://eisgroup.com</organizationUrl>
<roles>
<role>developer</role>
</roles>
<timezone>+3</timezone>
</developer>
<developer>
<name>Marat Kamalov</name>
</developer>
<developer>
<name>Nail Samatov</name>
</developer>
<developer>
<name>Vlad Pikus</name>
<email>vpikus@eisgroup.com</email>
<organization>EIS Group</organization>
<organizationUrl>https://eisgroup.com</organizationUrl>
<roles>
<role>developer</role>
</roles>
<timezone>+3</timezone>
</developer>
</developers>
<modules>
<module>DEV</module>
<module>STUDIO</module>
<module>WSFrontend</module>
<module>DEMO</module>
<module>Util/openl-openapi-model-scaffolding</module>
<module>Util/openl-openapi-parser</module>
<module>Util/openl-excel-builder</module>
<module>Util/org.openl.rules.profiler</module>
<module>Util/openl-rules-opentelemetry</module>
<module>ITEST</module>
<module>Util/openl-maven-plugin</module>
<module>Util/openl-simple-project-archetype</module>
<module>Util/openl-project-archetype</module>
<module>Util/openl-yaml</module>
</modules>
<scm>
<connection>scm:git:https://github.com/openl-tablets/openl-tablets.git</connection>
<developerConnection>scm:git:git@github.com:openl-tablets/openl-tablets.git</developerConnection>
<tag>6.1.0</tag>
<url>https://github.com/openl-tablets/openl-tablets</url>
</scm>
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<!-- If true, deploying of artifacts will be skipped -->
<maven.deploy.skip>false</maven.deploy.skip>
<lombok.delombok.skip>${maven.deploy.skip}</lombok.delombok.skip>
<maven.install.skip>${maven.deploy.skip}</maven.install.skip>
<dockerized>false</dockerized>
<skipTestsForQuick>false</skipTestsForQuick>
<!-- Managing dependencies versions -->
<!-- Spring -->
<spring.framework.version>6.2.18</spring.framework.version>
<spring.boot.version>3.5.14</spring.boot.version>
<spring.integration.version>6.5.8</spring.integration.version>
<!-- Security -->
<spring.security.version>6.5.10</spring.security.version>
<opensaml.version>5.2.2</opensaml.version>
<jose4j.version>0.9.6</jose4j.version>
<nimbus-jose-jwt.version>10.9.1</nimbus-jose-jwt.version>
<json-smart.version>2.6.0</json-smart.version>
<!-- Bytecode manipulation -->
<asm.version>9.10.1</asm.version>
<byte-buddy.version>1.18.10</byte-buddy.version>
<!-- Kafka -->
<kafka.version>4.3.0</kafka.version>
<!-- Open Telemetry -->
<!-- !!! also in the Dockerfile !!! -->
<opentelemetry.version>2.28.1</opentelemetry.version>
<!-- REST -->
<jackson.version>2.22.0</jackson.version>
<cxf.version>4.1.6</cxf.version>
<!-- gRPC -->
<grpc.version>1.81.0</grpc.version>
<!-- OpenAPI -->
<swagger.core.version>2.2.50</swagger.core.version>
<swagger.parser.version>2.1.43</swagger.parser.version>
<!-- Logging -->
<log4j.version>2.26.0</log4j.version>
<slf4j.version>2.0.18</slf4j.version>
<!-- OpenL Maven Plugin -->
<maven.api.version>3.9.16</maven.api.version>
<maven.plugin.version>3.15.2</maven.plugin.version>
<maven.scm.version>2.2.1</maven.scm.version>
<plexus-utils.version>4.0.3</plexus-utils.version>
<!-- DEMO & ITEST -->
<jetty.version>12.1.10</jetty.version>
<!-- Repositories -->
<amazonaws.version>2.45.0</amazonaws.version>
<azure.version>12.34.0</azure.version>
<netty.version>4.2.15.Final</netty.version>
<jgit.version>7.3.0.202506031305-openl</jgit.version>
<!-- DB -->
<h2.version>2.4.240</h2.version>
<hikaricp.version>7.0.2</hikaricp.version>
<hibernate.orm.version>6.6.52.Final</hibernate.orm.version>
<hibernate.validator.version>8.0.3.Final</hibernate.validator.version>
<!-- Testing -->
<junit.version>6.1.0</junit.version>
<junit-pioneer.version>2.3.0</junit-pioneer.version>
<awaitility.version>4.3.0</awaitility.version>
<mockito.version>5.23.0</mockito.version>
<datasource-proxy.version>1.11.0</datasource-proxy.version>
<xmlunit.version>2.12.0</xmlunit.version>
<testcontainers.version>2.0.5</testcontainers.version>
<testcontainers.keycloak.version>4.2.1</testcontainers.keycloak.version>
<s3mock.version>5.0.0</s3mock.version>
<ojdbc11.version>23.26.2.0.0</ojdbc11.version>
<postgresql.version>42.7.11</postgresql.version>
<mariadb.version>2.7.13</mariadb.version>
<mssql.version>13.4.0.jre11</mssql.version>
<jmh.version>1.37</jmh.version>
<!-- Jakarta APIs -->
<jakarta.annotation-api.version>3.0.0</jakarta.annotation-api.version>
<jakarta.mail-api.version>2.1.5</jakarta.mail-api.version>
<jakarta.ws.rs-api.version>4.0.0</jakarta.ws.rs-api.version>
<jakarta.xml.bind-api.version>4.0.5</jakarta.xml.bind-api.version>
<jakarta.servlet-api.version>6.0.0</jakarta.servlet-api.version>
<!-- Cache -->
<javax.cache-api.version>1.1.1</javax.cache-api.version>
<cache2k.version>2.6.1.Final</cache2k.version>
<!-- Mail -->
<angus-mail.version>2.0.5</angus-mail.version>
<greenmail.version>2.1.8</greenmail.version>
<!-- XML -->
<jaxb-runtime.version>4.0.9</jaxb-runtime.version>
<!-- Commons and utils -->
<commons-codec.version>1.22.0</commons-codec.version>
<commons-compress.version>1.28.0</commons-compress.version>
<commons-collections4.version>4.5.0</commons-collections4.version>
<commons-io.version>2.22.0</commons-io.version>
<commons-lang3.version>3.20.0</commons-lang3.version>
<!-- protocols -->
<gson.version>2.14.0</gson.version>
<bouncycastle.version>1.84</bouncycastle.version>
<groovy.version>4.0.32</groovy.version>
<poi.version>5.5.1</poi.version>
<aspectj.version>1.9.25.1</aspectj.version>
<velocity.version>2.4.1</velocity.version>
<guava.version>33.6.0-jre</guava.version>
<xmlsec.version>4.0.4</xmlsec.version>
<jcodemodel.version>4.1.0</jcodemodel.version>
<!-- Static analysis -->
<errorprone.version>2.48.0</errorprone.version>
<nullaway.version>0.13.4</nullaway.version>
<jspecify.version>1.0.0</jspecify.version>
<lombok.version>1.18.46</lombok.version>
<frontend-maven-plugin.version>1.15.4</frontend-maven-plugin.version>
<node.version>v24.16.0</node.version>
<npm.version>11.15.0</npm.version>
<npm.test.skip>false</npm.test.skip>
<!-- It needs to detect memory leaks. -->
<!-- !!! Don't increase these parameters without special need !!! -->
<!-- 48MB Should be enough to don't fall in OutOfMemoryError. It equals to MaxNonGCSize=30MB + ~50%-->
<!-- 128MB allows do not worry about OutOfMemoryError. It equals to MaxNonGCSize=30MB + ~350% -->
<surefire.argLine.noPerf>-Xms8m -Xmx128m -Xss256k -XX:MaxMetaspaceSize=160m</surefire.argLine.noPerf>
<!-- Fine tuned settings to detects memory and performance issues -->
<surefire.argLine.perf>-Xms8m -Xmx61m -Xss256k -XX:MaxMetaspaceSize=160m</surefire.argLine.perf>
<surefire.argLine.opts/>
<!-- Extra settings per a maven module for the surefire plugin -->
<surefire.argLine>${surefire.argLine.noPerf}</surefire.argLine>
<openl.home>${project.build.directory}/openl-test-${openl.start.milli}</openl.home>
<java.io.tmpdir>${project.build.directory}</java.io.tmpdir>
</properties>
<dependencyManagement>
<dependencies>
<!-- GRPC -->
<dependency>
<groupId>io.grpc</groupId>
<artifactId>grpc-netty-shaded</artifactId>
<version>${grpc.version}</version>
</dependency>
<dependency>
<groupId>io.grpc</groupId>
<artifactId>grpc-protobuf</artifactId>
<version>${grpc.version}</version>
</dependency>
<dependency>
<groupId>io.grpc</groupId>
<artifactId>grpc-stub</artifactId>
<version>${grpc.version}</version>
</dependency>
<!-- Testing -->
<dependency>
<groupId>org.junit</groupId>
<artifactId>junit-bom</artifactId>
<version>${junit.version}</version>
<type>pom</type>
<scope>import</scope>
</dependency>
<dependency>
<groupId>org.junit-pioneer</groupId>
<artifactId>junit-pioneer</artifactId>
<version>${junit-pioneer.version}</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.mockito</groupId>
<artifactId>mockito-bom</artifactId>
<version>${mockito.version}</version>
<type>pom</type>
<scope>import</scope>
</dependency>
<dependency>
<groupId>org.awaitility</groupId>
<artifactId>awaitility</artifactId>
<version>${awaitility.version}</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.testcontainers</groupId>
<artifactId>testcontainers-kafka</artifactId>
<version>${testcontainers.version}</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>com.github.dasniko</groupId>
<artifactId>testcontainers-keycloak</artifactId>
<version>${testcontainers.keycloak.version}</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>com.adobe.testing</groupId>
<artifactId>s3mock-testcontainers</artifactId>
<version>${s3mock.version}</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.testcontainers</groupId>
<artifactId>testcontainers</artifactId>
<version>${testcontainers.version}</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.openjdk.jmh</groupId>
<artifactId>jmh-generator-annprocess</artifactId>
<version>${jmh.version}</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.testcontainers</groupId>
<artifactId>testcontainers-mysql</artifactId>
<version>${testcontainers.version}</version>
</dependency>
<dependency>
<groupId>org.mariadb.jdbc</groupId>
<artifactId>mariadb-java-client</artifactId>
<version>${mariadb.version}</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.testcontainers</groupId>
<artifactId>testcontainers-oracle-free</artifactId>
<version>${testcontainers.version}</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>com.oracle.database.jdbc</groupId>
<artifactId>ojdbc11</artifactId>
<version>${ojdbc11.version}</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.testcontainers</groupId>
<artifactId>testcontainers-mssqlserver</artifactId>
<version>${testcontainers.version}</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>com.microsoft.sqlserver</groupId>
<artifactId>mssql-jdbc</artifactId>
<version>${mssql.version}</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.testcontainers</groupId>
<artifactId>testcontainers-postgresql</artifactId>
<version>${testcontainers.version}</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.postgresql</groupId>
<artifactId>postgresql</artifactId>
<version>${postgresql.version}</version>
<scope>test</scope>
</dependency>
<!-- Mock objects library for java -->
<dependency>
<groupId>net.ttddyy</groupId>
<artifactId>datasource-proxy</artifactId>
<version>${datasource-proxy.version}</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.xmlunit</groupId>
<artifactId>xmlunit-core</artifactId>
<version>${xmlunit.version}</version>
</dependency>
<!-- Jetty for ITEST -->
<dependency>
<groupId>org.eclipse.jetty</groupId>
<artifactId>jetty-server</artifactId>
<version>${jetty.version}</version>
</dependency>
<dependency>
<groupId>org.eclipse.jetty.ee10</groupId>
<artifactId>jetty-ee10-webapp</artifactId>
<version>${jetty.version}</version>
</dependency>
<dependency>
<groupId>org.eclipse.jetty.ee10.websocket</groupId>
<artifactId>jetty-ee10-websocket-jakarta-server</artifactId>
<version>${jetty.version}</version>
</dependency>
<dependency>
<groupId>org.eclipse.jetty.ee10</groupId>
<artifactId>jetty-ee10-annotations</artifactId>
<version>${jetty.version}</version>
</dependency>
<dependency>
<groupId>org.eclipse.jetty.ee10</groupId>
<artifactId>jetty-ee10-cdi</artifactId>
<version>${jetty.version}</version>
</dependency>
<dependency>
<groupId>org.eclipse.jetty.ee10</groupId>
<artifactId>jetty-ee10-apache-jsp</artifactId>
<version>${jetty.version}</version>
</dependency>
<dependency>
<groupId>org.eclipse.jetty</groupId>
<artifactId>jetty-home</artifactId>
<version>${jetty.version}</version>
<type>zip</type>
</dependency>
<dependency>
<groupId>org.aspectj</groupId>
<artifactId>aspectjrt</artifactId>
<version>${aspectj.version}</version>
</dependency>
<dependency>
<groupId>org.aspectj</groupId>
<artifactId>aspectjweaver</artifactId>
<version>${aspectj.version}</version>
</dependency>
<!-- Apache Velocity is a general purpose template engine. -->
<dependency>
<groupId>org.apache.velocity</groupId>
<artifactId>velocity-engine-core</artifactId>
<version>${velocity.version}</version>
</dependency>
<!-- Apache Commons Lang, a package of Java utility classes for the classes that are in java.lang's hierarchy,
or are considered to be so standard as to justify existence in java.lang. -->
<dependency>
<groupId>org.apache.commons</groupId>
<artifactId>commons-lang3</artifactId>
<version>${commons-lang3.version}</version>
</dependency>
<!-- The Apache Commons Collections package contains types that extend and augment the Java Collections Framework. -->
<dependency>
<groupId>org.apache.commons</groupId>
<artifactId>commons-collections4</artifactId>
<version>${commons-collections4.version}</version>
</dependency>
<!-- contains simple encoder and decoders for various formats such as Base64 and Hexadecimal. -->
<dependency>
<groupId>commons-codec</groupId>
<artifactId>commons-codec</artifactId>
<version>${commons-codec.version}</version>
</dependency>
<!-- The Commons IO library contains utility classes, stream implementations, file filters,
file comparators, endian transformation classes, and much more. -->
<dependency>
<groupId>commons-io</groupId>
<artifactId>commons-io</artifactId>
<version>${commons-io.version}</version>
</dependency>
<!-- Spring Framework -->
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-framework-bom</artifactId>
<version>${spring.framework.version}</version>
<type>pom</type>
<scope>import</scope>
</dependency>
<!-- Spring Boot -->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-autoconfigure</artifactId>
<version>${spring.boot.version}</version>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter</artifactId>
<version>${spring.boot.version}</version>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
<version>${spring.boot.version}</version>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<version>${spring.boot.version}</version>
<scope>test</scope>
</dependency>
<!-- Spring Security -->
<dependency>
<groupId>org.springframework.security</groupId>
<artifactId>spring-security-bom</artifactId>
<version>${spring.security.version}</version>
<type>pom</type>
<scope>import</scope>
</dependency>
<!-- Spring Integration -->
<dependency>
<groupId>org.springframework.integration</groupId>
<artifactId>spring-integration-jdbc</artifactId>
<version>${spring.integration.version}</version>
</dependency>
<dependency>
<!-- This library implements a filter to process X-Forwarded-* headers.
The reason of this usage: no huge dependencies.
Neither Spring filter, nor CXF filter works correctly within the same reverse proxy.
So this library unifies forwarding for both OpenL Studio and RuleServices -->
<groupId>org.openl</groupId>
<artifactId>x-forwarded-filter</artifactId>
<version>2.0</version>
</dependency>
<dependency>
<groupId>org.apache.groovy</groupId>
<artifactId>groovy</artifactId>
<version>${groovy.version}</version>
</dependency>
<dependency>
<groupId>org.opensaml</groupId>
<artifactId>opensaml-core</artifactId>
<version>${opensaml.version}</version>
</dependency>
<dependency>
<groupId>org.opensaml</groupId>
<artifactId>opensaml-saml-api</artifactId>
<version>${opensaml.version}</version>
</dependency>
<dependency>
<groupId>org.opensaml</groupId>
<artifactId>opensaml-saml-impl</artifactId>
<version>${opensaml.version}</version>
</dependency>
<dependency>
<groupId>org.bitbucket.b_c</groupId>
<artifactId>jose4j</artifactId>
<version>${jose4j.version}</version>
</dependency>
<dependency>
<groupId>com.nimbusds</groupId>
<artifactId>nimbus-jose-jwt</artifactId>
<version>${nimbus-jose-jwt.version}</version>
</dependency>
<dependency>
<groupId>net.minidev</groupId>
<artifactId>json-smart</artifactId>
<version>${json-smart.version}</version>
</dependency>
<dependency>
<groupId>com.google.guava</groupId>
<artifactId>guava</artifactId>
<version>${guava.version}</version>
</dependency>
<dependency>
<!--poi and opensaml -->
<groupId>org.apache.santuario</groupId>
<artifactId>xmlsec</artifactId>
<version>${xmlsec.version}</version>
</dependency>
<dependency>
<groupId>com.sdicons.jsontools</groupId>
<artifactId>jsontools-core</artifactId>
<version>1.7</version>
</dependency>
<!-- BEGIN of JSF, JSP, Servlets, RichFaces -->
<!-- JSF -->
<dependency>
<groupId>org.glassfish</groupId>
<artifactId>jakarta.faces</artifactId>
<version>4.0.15</version>
</dependency>
<dependency>
<groupId>jakarta.enterprise</groupId>
<artifactId>jakarta.enterprise.cdi-api</artifactId>
<version>4.0.1</version>
</dependency>
<dependency>
<groupId>org.jboss.weld.servlet</groupId>
<artifactId>weld-servlet-core</artifactId>
<version>5.1.7.Final</version>
</dependency>
<!-- RichFaces -->
<!-- RichFaces reached end-of-life status with version 4.5.17.Final so vulnerabilities will not be fixed.
To fix that we use forked richfaces implementation until we stop using richfaces features. -->
<dependency>
<groupId>org.openl.richfaces</groupId>
<artifactId>richfaces</artifactId>
<version>10.0.0-openl</version>
<exclusions>
<exclusion>
<groupId>org.apache.myfaces.core</groupId>
<artifactId>myfaces-api</artifactId>
</exclusion>
<exclusion>
<groupId>org.apache.myfaces.core</groupId>
<artifactId>myfaces-impl</artifactId>
</exclusion>
</exclusions>
</dependency>
<!-- Servlets -->
<dependency>
<groupId>jakarta.servlet</groupId>
<artifactId>jakarta.servlet-api</artifactId>
<version>${jakarta.servlet-api.version}</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>jakarta.servlet.jsp</groupId>
<artifactId>jakarta.servlet.jsp-api</artifactId>
<version>3.1.1</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>jakarta.servlet.jsp.jstl</groupId>
<artifactId>jakarta.servlet.jsp.jstl-api</artifactId>
<version>3.0.2</version>
</dependency>
<!-- Provides the API for the Unified Expression Language shared by the JSP 2.1 and JSF 1.2 technologies. -->
<dependency>
<groupId>jakarta.el</groupId>
<artifactId>jakarta.el-api</artifactId>
<version>5.0.1</version>
<scope>provided</scope>
</dependency>
<!-- Apache log4j, a logging library for Java -->
<dependency>
<groupId>org.apache.logging.log4j</groupId>
<artifactId>log4j-slf4j2-impl</artifactId>
<version>${log4j.version}</version>
</dependency>
<dependency>
<groupId>org.apache.logging.log4j</groupId>
<artifactId>log4j-api</artifactId>
<version>${log4j.version}</version>
</dependency>
<dependency>
<groupId>org.apache.logging.log4j</groupId>
<artifactId>log4j-core</artifactId>
<version>${log4j.version}</version>
</dependency>
<!-- The slf4j API -->
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-api</artifactId>
<version>${slf4j.version}</version>
</dependency>
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-simple</artifactId>
<version>${slf4j.version}</version>
<scope>test</scope>
</dependency>
<!-- Byte code generation library -->
<dependency>
<groupId>org.ow2.asm</groupId>
<artifactId>asm-bom</artifactId>
<version>${asm.version}</version>
<type>pom</type>
<scope>import</scope>
</dependency>
<dependency>
<groupId>net.bytebuddy</groupId>
<artifactId>byte-buddy-parent</artifactId>
<version>${byte-buddy.version}</version>
<type>pom</type>
<scope>import</scope>
</dependency>
<!-- Java source code generation library -->
<dependency>
<groupId>com.helger</groupId>
<artifactId>jcodemodel</artifactId>
<version>${jcodemodel.version}</version>
</dependency>
<dependency>
<groupId>jakarta.annotation</groupId>
<artifactId>jakarta.annotation-api</artifactId>
<version>${jakarta.annotation-api.version}</version>
</dependency>
<dependency>
<groupId>org.jspecify</groupId>
<artifactId>jspecify</artifactId>
<version>${jspecify.version}</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<version>${lombok.version}</version>
<scope>provided</scope>
</dependency>
<!-- Apache CXF Runtime JAX-RS Frontend -->
<dependency>
<groupId>org.apache.cxf</groupId>
<artifactId>cxf-bom</artifactId>
<version>${cxf.version}</version>
<type>pom</type>
<scope>import</scope>
</dependency>
<dependency>
<groupId>jakarta.ws.rs</groupId>
<artifactId>jakarta.ws.rs-api</artifactId>
<version>${jakarta.ws.rs-api.version}</version>
</dependency>
<!-- Jakarta Mail Api for SMTP server connection -->
<dependency>
<groupId>jakarta.mail</groupId>
<artifactId>jakarta.mail-api</artifactId>
<version>${jakarta.mail-api.version}</version>
</dependency>
<!-- Angus is the implementation of the Jakarta Mail API -->
<dependency>
<groupId>org.eclipse.angus</groupId>
<artifactId>angus-mail</artifactId>
<version>${angus-mail.version}</version>
<scope>runtime</scope>
</dependency>
<!-- GreenMail is an e-mail server for testing purposes -->
<dependency>
<groupId>com.icegreen</groupId>
<artifactId>greenmail-junit5</artifactId>
<version>${greenmail.version}</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.apache.poi</groupId>
<artifactId>poi-ooxml</artifactId>
<version>${poi.version}</version>
</dependency>
<!-- Full jar with all schemas. It's a replacement for poi-ooxml-schemas jar when the full schema is needed -->
<dependency>
<groupId>org.apache.poi</groupId>
<artifactId>poi-ooxml-full</artifactId>
<version>${poi.version}</version>
</dependency>
<dependency>
<!-- used in POI -->
<groupId>org.apache.commons</groupId>
<artifactId>commons-compress</artifactId>
<version>${commons-compress.version}</version>
</dependency>
<!-- http://download.java.net/java/jdk9/docs/api/java.xml.bind-summary.html -->
<!-- Required for Java11 -->
<dependency>
<groupId>jakarta.xml.bind</groupId>
<artifactId>jakarta.xml.bind-api</artifactId>
<version>${jakarta.xml.bind-api.version}</version>
</dependency>
<dependency>
<groupId>org.glassfish.jaxb</groupId>
<artifactId>jaxb-runtime</artifactId>
<version>${jaxb-runtime.version}</version>
</dependency>
<!-- standards-based cache for boosting performance -->
<dependency>
<groupId>javax.cache</groupId>
<artifactId>cache-api</artifactId>
<version>${javax.cache-api.version}</version>
</dependency>
<dependency>
<groupId>org.cache2k</groupId>
<artifactId>cache2k-jcache</artifactId>
<version>${cache2k.version}</version>
</dependency>
<dependency>
<groupId>software.amazon.awssdk</groupId>
<artifactId>bom</artifactId>
<version>${amazonaws.version}</version>
<type>pom</type>
<scope>import</scope>
</dependency>
<dependency>
<!-- this dependency is used through AWS S3Client -->
<groupId>org.apache.httpcomponents</groupId>
<artifactId>httpclient</artifactId>
<version>4.5.14</version>
<exclusions>
<exclusion>
<!-- Classes from the commons-logging are duplicated by spring-jcl
@see https://github.com/spring-projects/spring-framework/issues/20611
-->
<groupId>commons-logging</groupId>
<artifactId>commons-logging</artifactId>
</exclusion>
</exclusions>
</dependency>
<dependency>
<groupId>com.azure</groupId>
<artifactId>azure-storage-blob</artifactId>
<version>${azure.version}</version>
<exclusions>
<exclusion>
<groupId>io.netty</groupId>
<artifactId>netty-tcnative-boringssl-static</artifactId>
</exclusion>
<exclusion>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>*</artifactId>
</exclusion>
<exclusion>
<groupId>com.fasterxml.jackson.datatype</groupId>
<artifactId>jackson-datatype-jsr310</artifactId>
</exclusion>
<exclusion>
<groupId>com.fasterxml.jackson.module</groupId>
<artifactId>jackson-module-jaxb-annotations</artifactId>
</exclusion>
<exclusion>
<groupId>com.fasterxml.jackson.dataformat</groupId>
<artifactId>jackson-dataformat-xml</artifactId>
</exclusion>
<exclusion>
<groupId>com.fasterxml.woodstox</groupId>
<artifactId>woodstox-core</artifactId>
</exclusion>
</exclusions>
</dependency>
<dependency>
<groupId>org.openl.jgit</groupId>
<artifactId>org.eclipse.jgit</artifactId>
<version>${jgit.version}</version>
</dependency>
<dependency>
<groupId>org.openl.jgit</groupId>
<artifactId>org.eclipse.jgit.lfs</artifactId>
<version>${jgit.version}</version>
</dependency>
<dependency>
<groupId>com.google.code.gson</groupId>
<artifactId>gson</artifactId>
<version>${gson.version}</version>
</dependency>
<!-- The Bouncy Castle Crypto package is a Java implementation of cryptographic algorithms. This jar
contains JCE provider and lightweight API for the Bouncy Castle Cryptography APIs for JDK 1.5 to JDK 1.8.
Used by jgit and saml. -->
<dependency>
<groupId>org.bouncycastle</groupId>
<artifactId>bcprov-jdk18on</artifactId>
<version>${bouncycastle.version}</version>
</dependency>
<dependency>
<groupId>org.bouncycastle</groupId>
<artifactId>bcpkix-jdk18on</artifactId>
<version>${bouncycastle.version}</version>
</dependency>
<dependency>
<groupId>org.bouncycastle</groupId>
<artifactId>bcpg-jdk18on</artifactId>
<version>${bouncycastle.version}</version>
</dependency>
<!-- HikariCP - A high-performance JDBC connection pool. -->
<dependency>
<groupId>com.zaxxer</groupId>
<artifactId>HikariCP</artifactId>
<version>${hikaricp.version}</version>
</dependency>
<!-- the Java in-memory SQL DB -->
<dependency>
<groupId>com.h2database</groupId>
<artifactId>h2</artifactId>
<version>${h2.version}</version>
</dependency>
<!-- Flyway: The agile database migration framework for Java. -->
<dependency>
<groupId>org.openl</groupId>
<artifactId>flyway-core</artifactId>
<!-- Version is frozen due license was changed -->
<version>4.2.0.3</version>
</dependency>
<!-- Hibernate -->
<dependency>
<groupId>org.hibernate.orm</groupId>
<artifactId>hibernate-core</artifactId>
<version>${hibernate.orm.version}</version>
</dependency>
<dependency>
<groupId>org.hibernate.orm</groupId>
<artifactId>hibernate-hikaricp</artifactId>
<version>${hibernate.orm.version}</version>
</dependency>
<!-- Hibernate's Bean Validation (JSR-303) reference implementation. -->
<dependency>
<groupId>org.hibernate.validator</groupId>
<artifactId>hibernate-validator</artifactId>
<version>${hibernate.validator.version}</version>
<exclusions>
<exclusion>
<groupId>org.jboss.logging</groupId>
<artifactId>jboss-logging</artifactId>
</exclusion>
</exclusions>
</dependency>
<dependency>
<groupId>com.fasterxml.jackson</groupId>
<artifactId>jackson-bom</artifactId>
<version>${jackson.version}</version>
<type>pom</type>
<scope>import</scope>
</dependency>
<dependency>
<groupId>com.github.victools</groupId>
<artifactId>jsonschema-generator-bom</artifactId>
<version>4.38.0</version>
<type>pom</type>
<scope>import</scope>
</dependency>
<!-- OpenAPI -->
<dependency>
<groupId>io.swagger.parser.v3</groupId>
<artifactId>swagger-parser</artifactId>
<version>${swagger.parser.version}</version>
<exclusions>
<exclusion>
<groupId>io.swagger.parser.v3</groupId>
<artifactId>swagger-parser-v2-converter</artifactId>
</exclusion>
<exclusion>
<groupId>io.swagger.core.v3</groupId>
<artifactId>swagger-core</artifactId>
</exclusion>
<exclusion>
<groupId>io.swagger.core.v3</groupId>
<artifactId>swagger-models</artifactId>
</exclusion>
</exclusions>
</dependency>
<dependency>
<groupId>io.swagger.core.v3</groupId>
<artifactId>swagger-bom</artifactId>
<version>${swagger.core.version}</version>
<type>pom</type>
<scope>import</scope>
</dependency>
<!-- Kafka -->
<dependency>
<groupId>org.apache.kafka</groupId>
<artifactId>kafka-clients</artifactId>
<version>${kafka.version}</version>
</dependency>
<!-- //Kafka -->
<!-- Open Telemetry -->
<dependency>
<groupId>io.opentelemetry.instrumentation</groupId>
<artifactId>opentelemetry-instrumentation-api</artifactId>
<version>${opentelemetry.version}</version>
</dependency>
<dependency>
<groupId>io.opentelemetry.javaagent</groupId>
<artifactId>opentelemetry-javaagent-extension-api</artifactId>
<version>${opentelemetry.version}-alpha</version>
</dependency>
<!-- Javaagent for ITEST -->
<dependency>
<groupId>io.opentelemetry.javaagent</groupId>
<artifactId>opentelemetry-javaagent</artifactId>
<version>${opentelemetry.version}</version>
<scope>test</scope>
</dependency>
<!-- dependencies to annotations for maven-plugin-plugin -->
<dependency>
<groupId>org.apache.maven.plugin-tools</groupId>
<artifactId>maven-plugin-annotations</artifactId>
<version>${maven.plugin.version}</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>org.apache.maven</groupId>
<artifactId>maven-plugin-api</artifactId>
<version>${maven.api.version}</version>
</dependency>
<dependency>
<groupId>org.apache.maven</groupId>
<artifactId>maven-core</artifactId>
<version>${maven.api.version}</version>
</dependency>
<dependency>
<groupId>org.codehaus.plexus</groupId>
<artifactId>plexus-utils</artifactId>
<version>${plexus-utils.version}</version>
</dependency>
<!-- SCM API + git provider used by the 'migrate' goal in openl-maven-plugin to create one commit per migrator. -->
<dependency>
<groupId>org.apache.maven.scm</groupId>
<artifactId>maven-scm-api</artifactId>
<version>${maven.scm.version}</version>
</dependency>
<dependency>
<groupId>org.apache.maven.scm</groupId>
<artifactId>maven-scm-manager-plexus</artifactId>
<version>${maven.scm.version}</version>
</dependency>
<dependency>
<groupId>org.apache.maven.scm</groupId>
<artifactId>maven-scm-provider-gitexe</artifactId>
<version>${maven.scm.version}</version>
</dependency>
<!-- azure -->
<dependency>
<groupId>io.netty</groupId>
<artifactId>netty-bom</artifactId>
<version>${netty.version}</version>
<type>pom</type>
<scope>import</scope>
</dependency>
<!-- //azure -->
<!-- OpenL modules -->
<!-- DEV -->
<dependency>
<groupId>org.openl</groupId>
<artifactId>org.openl.commons</artifactId>
<version>${project.version}</version>
</dependency>
<dependency>
<groupId>org.openl</groupId>
<artifactId>org.openl.rules.util</artifactId>
<version>${project.version}</version>
</dependency>
<dependency>
<groupId>org.openl</groupId>
<artifactId>org.openl.spring</artifactId>
<version>${project.version}</version>
</dependency>
<dependency>
<groupId>org.openl.rules</groupId>
<artifactId>org.openl.rules.annotations</artifactId>
<version>${project.version}</version>
</dependency>
<dependency>
<groupId>org.openl.rules</groupId>
<artifactId>org.openl.rules</artifactId>
<version>${project.version}</version>
</dependency>
<dependency>
<groupId>org.openl.rules</groupId>
<artifactId>org.openl.rules.constrainer</artifactId>
<version>${project.version}</version>
</dependency>
<!-- STUDIO -->
<dependency>
<groupId>org.openl.rules</groupId>
<artifactId>org.openl.rules.activiti</artifactId>
<version>${project.version}</version>
</dependency>
<dependency>
<groupId>org.openl.rules</groupId>
<artifactId>org.openl.rules.demo</artifactId>
<version>${project.version}</version>
</dependency>
<dependency>
<groupId>org.openl.rules</groupId>
<artifactId>org.openl.rules.diff</artifactId>
<version>${project.version}</version>
</dependency>
<dependency>
<groupId>org.openl.rules</groupId>
<artifactId>org.openl.rules.project</artifactId>
<version>${project.version}</version>
</dependency>
<dependency>
<groupId>org.openl.rules</groupId>
<artifactId>org.openl.rules.repository</artifactId>
<version>${project.version}</version>
</dependency>
<dependency>
<groupId>org.openl.rules</groupId>
<artifactId>org.openl.rules.repository.aws</artifactId>
<version>${project.version}</version>
</dependency>
<dependency>
<groupId>org.openl.rules</groupId>
<artifactId>org.openl.rules.repository.git</artifactId>
<version>${project.version}</version>
</dependency>
<dependency>
<groupId>org.openl.rules</groupId>
<artifactId>org.openl.rules.xls.merge</artifactId>
<version>${project.version}</version>
</dependency>
<dependency>
<groupId>org.openl.rules</groupId>
<artifactId>org.openl.rules.repository.azure</artifactId>
<version>${project.version}</version>
</dependency>
<dependency>
<groupId>org.openl.rules</groupId>
<artifactId>org.openl.security</artifactId>
<version>${project.version}</version>
</dependency>
<dependency>
<groupId>org.openl.rules</groupId>
<artifactId>org.openl.security.standalone</artifactId>
<version>${project.version}</version>
</dependency>
<dependency>
<groupId>org.openl.rules</groupId>
<artifactId>org.openl.security.acl</artifactId>
<version>${project.version}</version>
</dependency>
<dependency>
<groupId>org.openl.rules</groupId>
<artifactId>org.openl.rules.tableeditor</artifactId>
<version>${project.version}</version>
</dependency>
<dependency>
<groupId>org.openl.rules</groupId>
<artifactId>org.openl.rules.project.ai</artifactId>
<version>${project.version}</version>
</dependency>
<dependency>
<groupId>org.openl.rules</groupId>
<artifactId>org.openl.rules.project.validation.openapi</artifactId>
<version>${project.version}</version>
</dependency>
<dependency>
<groupId>org.openl.rules</groupId>
<artifactId>org.openl.rules.project.openapi</artifactId>
<version>${project.version}</version>
</dependency>
<dependency>
<groupId>org.openl.rules.studio</groupId>
<artifactId>studio-ui</artifactId>
<version>${project.version}</version>
</dependency>
<dependency>
<groupId>org.openl.rules</groupId>
<artifactId>org.openl.rules.webstudio</artifactId>
<version>${project.version}</version>
<type>war</type>
<scope>runtime</scope>
</dependency>
<dependency>
<groupId>org.openl.rules</groupId>
<artifactId>org.openl.rules.webstudio.ai</artifactId>
<version>${project.version}</version>
</dependency>
<dependency>
<groupId>org.openl.rules</groupId>
<artifactId>org.openl.rules.webstudio</artifactId>
<version>${project.version}</version>
</dependency>
<dependency>
<groupId>org.openl.rules</groupId>
<artifactId>org.openl.rules.workspace</artifactId>
<version>${project.version}</version>
</dependency>
<dependency>
<groupId>org.openl.rules</groupId>
<artifactId>org.openl.rules.jackson</artifactId>
<version>${project.version}</version>
</dependency>
<dependency>
<groupId>org.openl.rules</groupId>
<artifactId>org.openl.rules.jackson.configuration</artifactId>
<version>${project.version}</version>
</dependency>
<dependency>
<groupId>org.openl.rules</groupId>
<artifactId>org.openl.rules.test</artifactId>
<version>${project.version}</version>
<scope>test</scope>
<optional>true</optional>
</dependency>
<!-- WSFrontend -->
<dependency>
<groupId>org.openl.rules</groupId>
<artifactId>org.openl.rules.ruleservice</artifactId>
<version>${project.version}</version>
</dependency>
<dependency>
<groupId>org.openl.rules</groupId>
<artifactId>org.openl.rules.ruleservice.annotation</artifactId>
<version>${project.version}</version>
</dependency>
<dependency>
<groupId>org.openl.rules</groupId>
<artifactId>org.openl.rules.ruleservice.common</artifactId>
<version>${project.version}</version>
</dependency>
<dependency>
<groupId>org.openl.rules</groupId>
<artifactId>org.openl.rules.ruleservice.ws.common</artifactId>
<version>${project.version}</version>
</dependency>
<dependency>
<groupId>org.openl.rules</groupId>
<artifactId>org.openl.rules.ruleservice.kafka</artifactId>
<version>${project.version}</version>
</dependency>
<dependency>
<groupId>org.openl.rules</groupId>
<artifactId>org.openl.rules.ruleservice.ws</artifactId>
<version>${project.version}</version>
</dependency>
<dependency>
<groupId>org.openl.rules</groupId>
<artifactId>org.openl.rules.ruleservice.ws</artifactId>
<version>${project.version}</version>
<type>pom</type>
</dependency>
<dependency>
<groupId>org.openl.rules</groupId>
<artifactId>org.openl.rules.ruleservice.ws</artifactId>
<version>${project.version}</version>
<type>war</type>
<scope>runtime</scope>
</dependency>
<dependency>
<groupId>org.openl.rules</groupId>
<artifactId>org.openl.rules.ruleservice.ws.annotation</artifactId>
<version>${project.version}</version>
</dependency>
<dependency>
<groupId>org.openl.rules</groupId>
<artifactId>org.openl.rules.ruleservice.ws</artifactId>
<version>${project.version}</version>
<classifier>classes</classifier>
</dependency>
<dependency>
<groupId>org.openl.rules</groupId>
<artifactId>org.openl.rules.ruleservice.ws.storelogdata</artifactId>
<version>${project.version}</version>
</dependency>
<dependency>
<groupId>org.openl.rules</groupId>
<artifactId>org.openl.rules.ruleservice.ws.storelogdata.db</artifactId>
<version>${project.version}</version>
</dependency>
<dependency>
<groupId>org.openl.rules</groupId>
<artifactId>org.openl.rules.ruleservice.ws.storelogdata.db.annotation</artifactId>
<version>${project.version}</version>
</dependency>
<dependency>
<groupId>org.openl.rules</groupId>
<artifactId>org.openl.rules.ruleservice.deployer</artifactId>
<version>${project.version}</version>
</dependency>
<!-- Util -->
<dependency>
<groupId>org.openl.rules</groupId>
<artifactId>openl-maven-plugin</artifactId>
<version>${project.version}</version>
</dependency>
<dependency>
<groupId>org.openl.rules</groupId>
<artifactId>openl-openapi-model-scaffolding</artifactId>
<version>${project.version}</version>
</dependency>
<dependency>
<groupId>org.openl.rules</groupId>
<artifactId>openl-openapi-parser</artifactId>
<version>${project.version}</version>
</dependency>
<dependency>
<groupId>org.openl.rules</groupId>
<artifactId>openl-excel-builder</artifactId>
<version>${project.version}</version>
</dependency>
<dependency>
<groupId>org.openl.rules</groupId>
<artifactId>org.openl.rules.webstudio.web</artifactId>
<version>${project.version}</version>
</dependency>
<dependency>
<groupId>org.openl.rules</groupId>
<artifactId>openl-yaml</artifactId>
<version>${project.version}</version>
</dependency>
<dependency>
<groupId>org.openl.rules</groupId>
<artifactId>openl-rules-opentelemetry</artifactId>
<version>${project.version}</version>
</dependency>
</dependencies>
</dependencyManagement>
<dependencies>
<dependency>
<groupId>org.jspecify</groupId>
<artifactId>jspecify</artifactId>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-simple</artifactId>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.junit.jupiter</groupId>
<artifactId>junit-jupiter</artifactId>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.junit-pioneer</groupId>
<artifactId>junit-pioneer</artifactId>
<scope>test</scope>
</dependency>
<!-- Mock objects library for java -->
<dependency>
<groupId>org.mockito</groupId>
<artifactId>mockito-junit-jupiter</artifactId>
<scope>test</scope>
</dependency>
</dependencies>
<repositories>
<repository>
<snapshots>
<enabled>false</enabled>
</snapshots>
<id>shibboleth-releases</id>
<name>Shibboleth Repository</name>
<url>https://build.shibboleth.net/maven/releases/</url>
</repository>
<repository>
<!-- as a mirror for the Shibboleth Repository -->
<snapshots>
<enabled>false</enabled>
</snapshots>
<id>jboss-releases</id>
<name>JBoss Repository</name>
<url>https://repository.jboss.org/</url>
</repository>
</repositories>
<build>
<defaultGoal>clean verify</defaultGoal>
<resources>
<resource>
<directory>resources</directory>
</resource>
<resource>
<directory>src</directory>
<excludes>
<exclude>**/*.java</exclude>
</excludes>
</resource>
</resources>
<testResources>
<testResource>
<directory>test-resources</directory>
</testResource>
</testResources>
<pluginManagement>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-archetype-plugin</artifactId>
<version>3.4.1</version>
</plugin>
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>javacc-maven-plugin</artifactId>
<version>3.2.0</version>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-resources-plugin</artifactId>
<version>3.5.0</version>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-release-plugin</artifactId>
<version>3.3.1</version>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-deploy-plugin</artifactId>
<version>3.1.4</version>
</plugin>
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>license-maven-plugin</artifactId>
<version>2.7.1</version>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-clean-plugin</artifactId>
<version>3.5.0</version>
</plugin>
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>build-helper-maven-plugin</artifactId>
<version>3.6.1</version>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-scm-plugin</artifactId>
<version>2.2.1</version>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.15.0</version>
<configuration>
<release>21</release>
<fork>true</fork>
<compilerArgs>
<!-- enable parameter names for Spring Validation.
See: https://github.com/spring-projects/spring-framework/wiki/Upgrading-to-Spring-Framework-6.x/d5e0133619a70f7529a0f4a6f042e770cb33bdbc#upgrading-to-version-60
-->
<arg>-parameters</arg>
<arg>-Xlint:deprecation</arg>
<arg>-XDcompilePolicy=simple</arg>
<arg>--should-stop=ifError=FLOW</arg>
<arg>-Xplugin:ErrorProne -XepAllErrorsAsWarnings -Xep:NullAway:WARN -XepOpt:NullAway:AnnotatedPackages=org.openl -XepOpt:NullAway:ExcludedClassAnnotations=javax.annotation.processing.Generated</arg>
<arg>-XDaddTypeAnnotationsToSymbol=true</arg>
<!-- Error Prone requires access to internal javac APIs -->
<arg>-J--add-exports=jdk.compiler/com.sun.tools.javac.api=ALL-UNNAMED</arg>
<arg>-J--add-exports=jdk.compiler/com.sun.tools.javac.file=ALL-UNNAMED</arg>
<arg>-J--add-exports=jdk.compiler/com.sun.tools.javac.main=ALL-UNNAMED</arg>
<arg>-J--add-exports=jdk.compiler/com.sun.tools.javac.model=ALL-UNNAMED</arg>
<arg>-J--add-exports=jdk.compiler/com.sun.tools.javac.parser=ALL-UNNAMED</arg>
<arg>-J--add-exports=jdk.compiler/com.sun.tools.javac.processing=ALL-UNNAMED</arg>
<arg>-J--add-exports=jdk.compiler/com.sun.tools.javac.tree=ALL-UNNAMED</arg>
<arg>-J--add-exports=jdk.compiler/com.sun.tools.javac.util=ALL-UNNAMED</arg>
<arg>-J--add-opens=jdk.compiler/com.sun.tools.javac.code=ALL-UNNAMED</arg>
<arg>-J--add-opens=jdk.compiler/com.sun.tools.javac.comp=ALL-UNNAMED</arg>
</compilerArgs>
<annotationProcessorPaths>
<path>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<version>${lombok.version}</version>
</path>
<path>
<groupId>com.google.errorprone</groupId>
<artifactId>error_prone_core</artifactId>
<version>${errorprone.version}</version>
</path>
<path>
<groupId>com.uber.nullaway</groupId>
<artifactId>nullaway</artifactId>
<version>${nullaway.version}</version>
</path>
</annotationProcessorPaths>
</configuration>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
<version>3.5.6</version>
<configuration>
<systemPropertyVariables>
<openl.home>${openl.home}</openl.home>
<openl.config.location/>
</systemPropertyVariables>
<argLine>-ea -Djava.io.tmpdir=${java.io.tmpdir} @{jacoco.argLine} -javaagent:${org.mockito:mockito-core:jar} -Xshare:off ${surefire.argLine.opts} ${surefire.argLine} -Dapple.awt.UIElement=true</argLine>
</configuration>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-war-plugin</artifactId>
<version>3.5.1</version>
<configuration>
<warSourceDirectory>webapp</warSourceDirectory>
<webappDirectory>${project.build.directory}/webapp</webappDirectory>
</configuration>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-assembly-plugin</artifactId>
<version>3.8.0</version>
<configuration>
<appendAssemblyId>false</appendAssemblyId>
</configuration>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-jar-plugin</artifactId>
<version>3.5.0</version>
<configuration>
<skipIfEmpty>true</skipIfEmpty>
<skip>${maven.deploy.skip}</skip>
<archive>
<manifest>
<addDefaultImplementationEntries>true</addDefaultImplementationEntries>
<addBuildEnvironmentEntries>true</addBuildEnvironmentEntries>
</manifest>
<manifestEntries>
<Implementation-Build>${buildNumber}</Implementation-Build>
<Built-By>${user.name}</Built-By>
</manifestEntries>
</archive>
</configuration>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-dependency-plugin</artifactId>
<!-- WARNING: Do not update to a higher version. For some unknown reason, dependencies that were
copied during the `prepare-package` phase are being removed during the `war` packaging process. -->
<version>3.0.2</version>
</plugin>
<plugin>
<groupId>org.basepom.maven</groupId>
<artifactId>duplicate-finder-maven-plugin</artifactId>
<version>2.0.1</version>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-plugin-plugin</artifactId>
<version>${maven.plugin.version}</version>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-invoker-plugin</artifactId>
<version>3.10.1</version>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-project-info-reports-plugin</artifactId>
<version>3.9.0</version>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-site-plugin</artifactId>
<version>3.21.0</version>
<configuration>
<siteDirectory>${basedir}/site</siteDirectory>
</configuration>
</plugin>
<plugin>
<groupId>org.owasp</groupId>
<artifactId>dependency-check-maven</artifactId>
<version>12.2.2</version>
</plugin>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
<version>${spring.boot.version}</version>
</plugin>
<plugin>
<groupId>com.github.eirslett</groupId>
<artifactId>frontend-maven-plugin</artifactId>
<version>${frontend-maven-plugin.version}</version>
<configuration>
<nodeVersion>${node.version}</nodeVersion>
<npmVersion>${npm.version}</npmVersion>
<installDirectory>${project.build.directory}</installDirectory>
</configuration>
</plugin>
<plugin>
<groupId>org.jacoco</groupId>
<artifactId>jacoco-maven-plugin</artifactId>
<version>0.8.14</version>
<configuration>
<propertyName>jacoco.argLine</propertyName>
<includes>
<include>org/openl/**/*</include>
</includes>
<excludes>
<exclude>org/openl/generated/**/*</exclude>
</excludes>
<formats>
<format>XML</format>
</formats>
</configuration>
</plugin>
</plugins>
</pluginManagement>
<plugins>
<plugin>
<groupId>com.diffplug.spotless</groupId>
<artifactId>spotless-maven-plugin</artifactId>
<version>3.6.0</version>
<inherited>false</inherited>
<configuration>
<upToDateChecking>
<enabled>false</enabled>
</upToDateChecking>
<java>
<includes>
<include>**/*.java</include>
</includes>
<excludes>
<exclude>**/target/**</exclude>
<exclude>**/dist/**</exclude>
<exclude>**/node_modules/**</exclude>
<exclude>**/build/**</exclude>
<exclude>**/out/**</exclude>
<exclude>**/generated/**</exclude>
<exclude>**/*-ui/coverage/**</exclude>
<exclude>.*/**</exclude>
<exclude>**/.*/**</exclude>
<exclude>**/resources/archetype-resources/**</exclude>
</excludes>
<importOrder>
<order>\#,\#org.openl,java|javax|jakarta,,org.openl</order>
</importOrder>
<removeUnusedImports/>
<trimTrailingWhitespace/>
<endWithNewline/>
<indent>
<spaces>true</spaces>
<spacesPerTab>4</spacesPerTab>
</indent>
</java>
<groovy>
<includes>
<include>**/*.groovy</include>
</includes>
<excludes>
<exclude>**/target/**</exclude>
<exclude>**/dist/**</exclude>
<exclude>**/node_modules/**</exclude>
<exclude>**/build/**</exclude>
<exclude>**/out/**</exclude>
<exclude>**/generated/**</exclude>
<exclude>**/*-ui/coverage/**</exclude>
<exclude>.*/**</exclude>
<exclude>**/.*/**</exclude>
</excludes>
<importOrder>
<order>\#,\#org.openl,java|javax|jakarta,,org.openl</order>
</importOrder>
<removeSemicolons/>
<trimTrailingWhitespace/>
<endWithNewline/>
<indent>
<spaces>true</spaces>
<spacesPerTab>4</spacesPerTab>
</indent>
</groovy>
<yaml>
<includes>
<include>**/*.yaml</include>
<include>**/*.yml</include>
</includes>
<excludes>
<exclude>**/target/**</exclude>
<exclude>**/dist/**</exclude>
<exclude>**/node_modules/**</exclude>
<exclude>**/build/**</exclude>
<exclude>**/out/**</exclude>
<exclude>**/generated/**</exclude>
<exclude>**/*-ui/coverage/**</exclude>
<exclude>.*/**</exclude>
<exclude>**/.*/**</exclude>
</excludes>
<prettier/>
</yaml>
<pom>
<includes>
<include>**/pom.xml</include>
</includes>
<excludes>
<exclude>**/target/**</exclude>
<exclude>**/dist/**</exclude>
<exclude>**/node_modules/**</exclude>
<exclude>**/build/**</exclude>
<exclude>**/out/**</exclude>
<exclude>**/generated/**</exclude>
<exclude>**/*-ui/coverage/**</exclude>
<exclude>.*/**</exclude>
<exclude>**/.*/**</exclude>
<exclude>**/resources/archetype-resources/**</exclude>
</excludes>
<sortPom>
<nrOfIndentSpace>4</nrOfIndentSpace>
</sortPom>
</pom>
<formats>
<format>
<lineEndings>GIT_ATTRIBUTES</lineEndings>
<includes>
<include>**/*.ts</include>
<include>**/*.tsx</include>
<include>**/*.scss</include>
<include>**/*.css</include>
<include>**/*.html</include>
<include>**/*.xml</include>
<include>**/*.json</include>
<include>**/*.properties</include>
<include>**/*.txt</include>
<include>**/*.md</include>
<include>**/*.svg</include>
<include>**/*.sql</include>
<include>**/*.sql</include>
<include>**/*.sql</include>
<include>**/*.csv</include>
<include>**/*.aj</include>
<include>**/*.apt</include>
<include>**/*.eml</include>
<include>**/META-INF/services/*</include>
<include>**/*.webmanifest</include>
</includes>
<excludes>
<exclude>**/target/**</exclude>
<exclude>**/dist/**</exclude>
<exclude>**/node_modules/**</exclude>
<exclude>**/build/**</exclude>
<exclude>**/out/**</exclude>
<exclude>**/generated/**</exclude>
<exclude>**/*-ui/coverage/**</exclude>
<exclude>.*/**</exclude>
<exclude>**/.*/**</exclude>
<exclude>**/pom.xml</exclude>
</excludes>
<trimTrailingWhitespace/>
<endWithNewline/>
<indent>
<spaces>true</spaces>
<spacesPerTab>4</spacesPerTab>
</indent>
</format>
</formats>
</configuration>
<executions>
<execution>
<goals>
<goal>apply</goal>
</goals>
<phase>validate</phase>
</execution>
</executions>
</plugin>
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>buildnumber-maven-plugin</artifactId>
<version>3.3.0</version>
<configuration>
<timestampPropertyName>build.date</timestampPropertyName>
<timestampFormat>yyyy-MM-dd</timestampFormat>
<revisionOnScmFailure>UNKNOWN</revisionOnScmFailure>
<shortRevisionLength>12</shortRevisionLength>
<format>{0}</format>
<items>
<item>scmVersion</item>
</items>
</configuration>
<executions>
<execution>
<goals>
<goal>create</goal>
</goals>
<!-- Before generate-resources phase -->
<phase>validate</phase>
</execution>
</executions>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-dependency-plugin</artifactId>
<executions>
<execution>
<goals>
<goal>properties</goal>
</goals>
</execution>
</executions>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
</plugin>
</plugins>
<sourceDirectory>src</sourceDirectory>
<testSourceDirectory>test</testSourceDirectory>
</build>
<profiles>
<profile>
<id>perf</id>
<activation>
<property>
<name>!noPerf</name>
</property>
</activation>
<properties>
<surefire.argLine>${surefire.argLine.perf}</surefire.argLine>
</properties>
</profile>
<profile>
<id>noDocker</id>
<activation>
<property>
<name>noDocker</name>
</property>
</activation>
<properties>
<surefire.argLine.opts>-DnoDocker</surefire.argLine.opts>
<maven.test.skip>${dockerized}</maven.test.skip>
</properties>
</profile>
<profile>
<id>quick</id>
<activation>
<property>
<name>quick</name>
</property>
</activation>
<properties>
<surefire.argLine.opts>-DnoDocker</surefire.argLine.opts>
<maven.test.skip>${skipTestsForQuick}</maven.test.skip>
<archetype.test.skip>${skipTestsForQuick}</archetype.test.skip>
<invoker.skip>${skipTestsForQuick}</invoker.skip>
<npm.test.skip>${skipTestsForQuick}</npm.test.skip>
</properties>
</profile>
<profile>
<id>skipTests</id>
<activation>
<property>
<name>skipTests</name>
</property>
</activation>
<properties>
<maven.test.skip>true</maven.test.skip>
<archetype.test.skip>true</archetype.test.skip>
<invoker.skip>true</invoker.skip>
<npm.test.skip>true</npm.test.skip>
</properties>
</profile>
<profile>
<id>no-sonar</id>
<activation>
<property>
<name>!sonar</name>
</property>
</activation>
<properties>
<!-- Empty for building without JaCoCo agent -->
<jacoco.argLine/>
<!-- JaCoCo agent cannot be attached if ${argLine} is missed -->
</properties>
</profile>
<profile>
<id>sonar</id>
<activation>
<property>
<name>sonar</name>
</property>
</activation>
<modules>
<module>jacoco-report</module>
</modules>
<properties>
<sonar/>
<surefire.argLine/>
<sonar.coverage.jacoco.xmlReportPaths>${maven.multiModuleProjectDirectory}/jacoco-report/target/site/jacoco-aggregate/jacoco.xml</sonar.coverage.jacoco.xmlReportPaths>
<sonar.javascript.lcov.reportPaths>coverage/lcov.info</sonar.javascript.lcov.reportPaths>
<sonar.test.inclusions>**/*Test.java,**/*.test.ts,**/*.test.tsx,**/*.spec.ts,**/*.spec.tsx</sonar.test.inclusions>
<sonar.coverage.exclusions>**/*Test.java,**/*.test.ts,**/*.test.tsx,**/*.spec.ts,**/*.spec.tsx</sonar.coverage.exclusions>
</properties>
<build>
<plugins>
<plugin>
<groupId>org.jacoco</groupId>
<artifactId>jacoco-maven-plugin</artifactId>
<executions>
<execution>
<id>prepare-ut</id>
<goals>
<goal>prepare-agent</goal>
</goals>
</execution>
<execution>
<id>prepare-it</id>
<goals>
<goal>prepare-agent-integration</goal>
</goals>
<phase>pre-integration-test</phase>
</execution>
</executions>
</plugin>
</plugins>
</build>
</profile>
<profile>
<id>gpg-sign</id>
<build>
<plugins>
<plugin>
<groupId>org.simplify4u.plugins</groupId>
<artifactId>sign-maven-plugin</artifactId>
<version>1.1.0</version>
<configuration>
<skip>${maven.deploy.skip}</skip>
</configuration>
<executions>
<execution>
<id>sign-artifacts</id>
<goals>
<goal>sign</goal>
</goals>
<phase>verify</phase>
</execution>
</executions>
</plugin>
</plugins>
</build>
</profile>
<profile>
<id>sources</id>
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-source-plugin</artifactId>
<version>3.4.0</version>
<configuration>
<skipSource>${maven.deploy.skip}</skipSource>
</configuration>
<executions>
<execution>
<id>attach-sources</id>
<goals>
<goal>jar</goal>
</goals>
</execution>
</executions>
</plugin>
<plugin>
<groupId>org.projectlombok</groupId>
<artifactId>lombok-maven-plugin</artifactId>
<version>1.18.20.0</version>
<configuration>
<sourceDirectory>${project.basedir}/src</sourceDirectory>
<addOutputDirectory>false</addOutputDirectory>
</configuration>
<dependencies>
<!-- Plugin bundles Lombok 1.18.20; force the project version for Java 21 support -->
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<version>${lombok.version}</version>
</dependency>
</dependencies>
<executions>
<execution>
<id>delombok</id>
<goals>
<goal>delombok</goal>
</goals>
</execution>
</executions>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-javadoc-plugin</artifactId>
<version>3.12.0</version>
<configuration>
<!-- To skip invalid HTML4 tags -->
<!-- http://openjdk.java.net/jeps/172 -->
<doclint>none</doclint>
<skip>${maven.deploy.skip}</skip>
<!-- Read delomboked sources (Lombok-generated members materialized) plus generated sources -->
<sourcepath>${project.build.directory}/generated-sources/delombok:
${project.build.directory}/generated-sources/javacc:
${project.build.directory}/generated-sources/annotations:
${project.build.directory}/generated-sources/protobuf/java:
${project.build.directory}/generated-sources/protobuf/grpc-java:</sourcepath>
</configuration>
<executions>
<execution>
<id>attach-javadocs</id>
<goals>
<goal>jar</goal>
</goals>
</execution>
</executions>
</plugin>
</plugins>
</build>
</profile>
<profile>
<id>owasp</id>
<build>
<plugins>
<plugin>
<groupId>org.owasp</groupId>
<artifactId>dependency-check-maven</artifactId>
<executions>
<execution>
<goals>
<goal>aggregate</goal>
</goals>
</execution>
</executions>
</plugin>
</plugins>
</build>
</profile>
</profiles>
</project>