Files
mq-activiti-ext/pom.xml
2025-03-10 15:27:04 -04:00

391 lines
12 KiB
XML

<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 https://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<parent>
<groupId>com.inteligr8.activiti</groupId>
<artifactId>mq-activiti-ext-parent</artifactId>
<version>1.0-SNAPSHOT</version>
<relativePath>parent/pom.xml</relativePath>
</parent>
<artifactId>mq-activiti-ext</artifactId>
<version>1.0-SNAPSHOT</version>
<packaging>jar</packaging>
<name>MQ Activiti Extension</name>
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<maven.compiler.source>11</maven.compiler.source>
<maven.compiler.target>11</maven.compiler.target>
<maven.compiler.release>11</maven.compiler.release>
<aps.docker-tag>docker.inteligr8.com/inteligr8/alfresco-process-services</aps.docker-tag>
<aps.version>2.4.6</aps.version>
<spring.version>5.3.31</spring.version>
<activiti.version>7.11.1</activiti.version>
<tomcat-rad.version>9-2.2</tomcat-rad.version>
<aps.tomcat.opts>-Dinteligr8.mq.connectors.docker-mq.url=failover:\(tcp://${project.artifactId}-mq:61616\)?timeout=3000 -Dinteligr8.mq.connectors.docker-mq.username=admin -Dinteligr8.mq.connectors.docker-mq.password=admin -Dvalidator.editor.dmn.espression=false -Dvalidator.editor.bpmn.disable.scripttask=false -Djavascript.secure-scripting.enabled=false -Djavascript.secure-scripting.enable-class-whitelisting=false -Dbeans.whitelisting.enabled=false -Del.whitelisting.enabled=false -Dshell.whitelisting.enabled=false</aps.tomcat.opts>
<!-- reloads in APS are slower than a restart -->
<aps.hotswap.enabled>false</aps.hotswap.enabled>
<rabbitmq.version>5.18.0</rabbitmq.version>
<activemq.version>5.18.6</activemq.version>
<activemq.jms.version>2.31.2</activemq.jms.version>
<activemq.httpPort>8161</activemq.httpPort>
</properties>
<dependencies>
<!-- APS and Activiti -->
<dependency>
<groupId>com.activiti</groupId>
<artifactId>activiti-app-rest</artifactId>
<version>${aps.version}</version>
<scope>provided</scope>
<!-- none of these are needed for builds -->
<exclusions>
<exclusion>
<!-- extra repository needed for this -->
<groupId>org.alfresco.officeservices</groupId>
<artifactId>aoservices</artifactId>
</exclusion>
<exclusion>
<!-- extra repository needed for this -->
<groupId>com.activiti</groupId>
<artifactId>aspose-transformation</artifactId>
</exclusion>
<exclusion>
<!-- avoiding log4j-api vulnerabilities -->
<groupId>org.elasticsearch</groupId>
<artifactId>elasticsearch</artifactId>
</exclusion>
<exclusion>
<!-- avoiding old spring-context-support -->
<groupId>com.ryantenney.metrics</groupId>
<artifactId>metrics-spring</artifactId>
</exclusion>
<exclusion>
<!-- avoiding old spring-* versions -->
<groupId>org.activiti</groupId>
<artifactId>activiti-spring</artifactId>
</exclusion>
<exclusion>
<!-- avoiding old tomcat-* versions -->
<groupId>org.apache.tomcat.embed</groupId>
<artifactId>*</artifactId>
</exclusion>
</exclusions>
</dependency>
<!-- This can help with debugging in IDE; never do RAD or compile with it -->
<!--
<dependency>
<groupId>com.activiti</groupId>
<artifactId>activiti-app</artifactId>
<version>${aps.version}</version>
<classifier>classes</classifier>
<scope>provided</scope>
<exclusions>
<exclusion>
<groupId>*</groupId>
<artifactId>*</artifactId>
</exclusion>
</exclusions>
</dependency>
-->
<!-- MQ -->
<dependency>
<groupId>com.rabbitmq</groupId>
<artifactId>amqp-client</artifactId>
<version>${rabbitmq.version}</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>org.apache.activemq</groupId>
<artifactId>activemq-client</artifactId>
<version>${activemq.version}</version>
<exclusions>
<exclusion>
<groupId>org.slf4j</groupId>
<artifactId>*</artifactId>
</exclusion>
</exclusions>
</dependency>
<dependency>
<groupId>org.apache.activemq</groupId>
<artifactId>artemis-jms-client</artifactId>
<version>${activemq.jms.version}</version>
<exclusions>
<exclusion>
<groupId>commons-collections</groupId>
<artifactId>commons-collections</artifactId>
</exclusion>
<exclusion>
<groupId>org.slf4j</groupId>
<artifactId>*</artifactId>
</exclusion>
<exclusion>
<groupId>commons-beanutils</groupId>
<artifactId>*</artifactId>
</exclusion>
</exclusions>
</dependency>
<!-- Testing only -->
<dependency>
<groupId>org.junit.jupiter</groupId>
<artifactId>junit-jupiter-engine</artifactId>
<version>5.10.5</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-test</artifactId>
<version>${spring.version}</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.apache.httpcomponents</groupId>
<artifactId>httpclient</artifactId>
<version>4.5.9</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>com.mattbertolini</groupId>
<artifactId>liquibase-slf4j</artifactId>
<version>5.1.0</version>
<scope>test</scope>
</dependency>
</dependencies>
<build>
<pluginManagement>
<plugins>
<!-- avoids log4j dependency -->
<plugin>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.13.0</version>
</plugin>
<!-- avoids struts and vulnerable jetty dependency -->
<plugin>
<artifactId>maven-site-plugin</artifactId>
<version>3.21.0</version>
</plugin>
<plugin>
<artifactId>maven-surefire-plugin</artifactId>
<version>3.5.2</version>
</plugin>
<plugin>
<artifactId>maven-failsafe-plugin</artifactId>
<version>3.5.2</version>
</plugin>
</plugins>
</pluginManagement>
<plugins>
<!--
<plugin>
<artifactId>maven-jar-plugin</artifactId>
<executions>
<execution>
<id>package-stencil</id>
<phase>package</phase>
<goals><goal>jar</goal></goals>
<configuration>
<classesDirectory>${basedir}/src/main/activiti</classesDirectory>
<classifier>stencil</classifier>
<includes>
<include>**/*</include>
</includes>
</configuration>
</execution>
</executions>
</plugin>
-->
<plugin>
<artifactId>maven-assembly-plugin</artifactId>
<version>3.7.1</version>
<executions>
<execution>
<id>assemble-jar</id>
<phase>package</phase>
<goals><goal>single</goal></goals>
<configuration>
<descriptorRefs>
<descriptorRef>jar-with-dependencies</descriptorRef>
</descriptorRefs>
</configuration>
</execution>
<execution>
<id>package-stencil</id>
<phase>package</phase>
<goals><goal>single</goal></goals>
<configuration>
<inlineDescriptors>
<inlineDescriptor>
<id>stencil</id>
<formats>
<format>zip</format>
</formats>
<includeBaseDirectory>false</includeBaseDirectory>
<fileSets>
<fileSet>
<directory>src/main/activiti</directory>
<outputDirectory>.</outputDirectory>
</fileSet>
</fileSets>
</inlineDescriptor>
</inlineDescriptors>
</configuration>
</execution>
</executions>
</plugin>
<plugin>
<artifactId>maven-failsafe-plugin</artifactId>
<configuration>
<includes>
<include>**/*IT.java</include>
</includes>
</configuration>
</plugin>
<plugin>
<groupId>io.repaint.maven</groupId>
<artifactId>tiles-maven-plugin</artifactId>
<version>2.40</version>
<extensions>true</extensions>
<configuration>
<tiles>
<!-- Documentation: https://bitbucket.org/inteligr8/ootbee-beedk/src/stable/beedk-aps-ext-rad-tile -->
<tile>com.inteligr8.ootbee:beedk-aps-ext-rad-tile:[1.1,1.1.999)</tile>
<!-- Documentation: https://bitbucket.org/inteligr8/ootbee-beedk/src/stable/beedk-aps-ext-it-tile -->
<tile>com.inteligr8.ootbee:beedk-aps-ext-it-tile:[1.1,1.1.999)</tile>
</tiles>
</configuration>
</plugin>
</plugins>
</build>
<profiles>
<profile>
<id>rad-mq</id>
<activation>
<property>
<name>rad</name>
</property>
</activation>
<build>
<plugins>
<!-- Using Docker to host the web application -->
<plugin>
<groupId>io.fabric8</groupId>
<artifactId>docker-maven-plugin</artifactId>
<executions>
<execution>
<id>run-mq</id>
<phase>process-test-resources</phase>
<goals><goal>start</goal></goals>
<configuration>
<images>
<image>
<name>apache/activemq-classic:${activemq.version}</name>
<alias>mq</alias>
<run>
<env>
<ACTIVEMQ_WEBCONSOLE_USE_DEFAULT_ADDRESS>false</ACTIVEMQ_WEBCONSOLE_USE_DEFAULT_ADDRESS>
<ACTIVEMQ_USERNAME>alfresco</ACTIVEMQ_USERNAME>
<ACTIVEMQ_PASSWORD>alfresco</ACTIVEMQ_PASSWORD>
<ACTIVEMQ_WEBADMIN_USERNAME>admin</ACTIVEMQ_WEBADMIN_USERNAME>
<ACTIVEMQ_WEBADMIN_PASSWORD>admin</ACTIVEMQ_WEBADMIN_PASSWORD>
</env>
<ports>
<port>${activemq.httpPort}:8161</port>
</ports>
<network>
<mode>custom</mode>
<name>${project.artifactId}</name>
</network>
</run>
</image>
</images>
</configuration>
</execution>
</executions>
</plugin>
</plugins>
</build>
</profile>
<profile>
<id>non-rad</id>
<activation>
<property>
<name>!rad</name>
</property>
</activation>
<properties>
<docker.showLogs>true</docker.showLogs>
<aps.timeout>90000</aps.timeout> <!-- tests do some delays -->
</properties>
</profile>
<profile>
<id>apidoc</id>
<build>
<plugins>
<plugin>
<artifactId>maven-clean-plugin</artifactId>
<configuration>
<filesets>
<fileset>
<directory>${basedir}/apidocs</directory>
</fileset>
</filesets>
</configuration>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-javadoc-plugin</artifactId>
<version>3.8.0</version>
<executions>
<execution>
<id>generate-doclet</id>
<phase>generate-resources</phase>
<goals><goal>javadoc</goal></goals>
<configuration>
<doclet>com.inteligr8.activiti.doclet.ActivitiDoclet</doclet>
<docletArtifact>
<groupId>com.inteligr8.activiti</groupId>
<artifactId>activiti-api-doclet</artifactId>
<version>1.1.0</version>
</docletArtifact>
<useStandardDocletOptions>false</useStandardDocletOptions>
<destDir>apidocs</destDir>
<reportOutputDirectory>${basedir}</reportOutputDirectory>
<additionalOptions>
<additionalOption>--title 'API Documentation'</additionalOption>
<additionalOption>--apiName '${project.name}</additionalOption>
</additionalOptions>
<!-- This is required in maven-javadoc-plugin v3.5+ -->
<sourceFileIncludes>**/*.java</sourceFileIncludes>
</configuration>
</execution>
</executions>
</plugin>
</plugins>
</build>
</profile>
</profiles>
<repositories>
<repository>
<id>alfresco-public</id>
<url>https://artifacts.alfresco.com/nexus/content/groups/public</url>
</repository>
<repository>
<id>activiti-releases</id>
<url>https://artifacts.alfresco.com/nexus/content/repositories/activiti-enterprise-releases</url>
</repository>
</repositories>
</project>