<?xml version="1.0" encoding="UTF-8"?>
<project xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd" xmlns="http://maven.apache.org/POM/4.0.0"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
  <modelVersion>4.0.0</modelVersion>
  <parent>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-parent</artifactId>
    <version>3.2.4</version>
  </parent>
  <groupId>org.chenile</groupId>
  <artifactId>chenile-parent</artifactId>
  <version>2.0.3</version>
  <packaging>pom</packaging>
  <licenses>
    <license>
      <name>MIT License</name>
      <url>http://www.opensource.org/licenses/mit-license.php</url>
    </license>
  </licenses>
  <distributionManagement>
    <site>
      <id>website</id>
      <url>http://chenile.org</url>
    </site>
  </distributionManagement>
  <properties>
    <chenile.security.version>2.0.3</chenile.security.version>
    <rest.assured.version>5.5.0</rest.assured.version>
    <chenile.bdd.version>2.0.3</chenile.bdd.version>
    <chenile.query.workflow.blueprints.version>2.0.3</chenile.query.workflow.blueprints.version>
    <maven.gpg.version>3.2.4</maven.gpg.version>
    <mybatis.spring.version>3.0.3</mybatis.spring.version>
    <jacoco.version>0.8.11</jacoco.version>
    <revision>${chenile.parent.version}</revision>
    <cucumber.version>4.3.1</cucumber.version>
    <chenile.mqtt.version>2.0.3</chenile.mqtt.version>
    <chenile.parent.version>2.0.3</chenile.parent.version>
    <spring-boot.version>3.2.4</spring-boot.version>
    <chenile.version>2.0.3</chenile.version>
    <hazelcast.version>3.12.3</hazelcast.version>
    <springdoc.version>2.4.0</springdoc.version>
    <mqtt.paho.version>1.2.5</mqtt.paho.version>
    <chenile.others.version>2.0.3</chenile.others.version>
    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
    <java.version>17</java.version>
    <chenile.core.version>2.0.3</chenile.core.version>
    <hive.version>1.19.7</hive.version>
    <wire.mock.version>3.5.2</wire.mock.version>
  </properties>
  <dependencyManagement>
    <dependencies>
      <dependency>
        <groupId>org.chenile</groupId>
        <artifactId>chenile-filewatch</artifactId>
        <version>${chenile.others.version}</version>
      </dependency>
      <dependency>
        <groupId>org.chenile</groupId>
        <artifactId>chenile-scheduler</artifactId>
        <version>${chenile.others.version}</version>
      </dependency>
      <dependency>
        <groupId>org.chenile</groupId>
        <artifactId>chenile-http</artifactId>
        <version>${chenile.core.version}</version>
      </dependency>
      <dependency>
        <groupId>org.chenile</groupId>
        <artifactId>chenile-cache</artifactId>
        <version>${chenile.others.version}</version>
      </dependency>
      <dependency>
        <groupId>org.chenile</groupId>
        <artifactId>chenile-mqtt</artifactId>
        <version>${chenile.mqtt.version}</version>
      </dependency>
      <dependency>
        <groupId>org.chenile</groupId>
        <artifactId>jpa-utils</artifactId>
        <version>${chenile.core.version}</version>
      </dependency>
      <dependency>
        <groupId>org.chenile</groupId>
        <artifactId>chenile-security-api</artifactId>
        <version>${chenile.security.version}</version>
      </dependency>
      <dependency>
        <groupId>org.chenile.bdd</groupId>
        <artifactId>it-cucumber-utils</artifactId>
        <version>${chenile.bdd.version}</version>
      </dependency>
      <dependency>
        <groupId>org.chenile.bdd</groupId>
        <artifactId>it-cucumber-sec-utils</artifactId>
        <version>${chenile.bdd.version}</version>
      </dependency>
      <dependency>
        <groupId>org.chenile</groupId>
        <artifactId>chenile-proxy</artifactId>
        <version>${chenile.core.version}</version>
      </dependency>
      <dependency>
        <groupId>org.chenile</groupId>
        <artifactId>chenile-core</artifactId>
        <version>${chenile.core.version}</version>
      </dependency>
      <dependency>
        <groupId>org.chenile</groupId>
        <artifactId>chenile-base</artifactId>
        <version>${chenile.core.version}</version>
      </dependency>
      <dependency>
        <groupId>org.chenile</groupId>
        <artifactId>chenile-config-maven-plugin</artifactId>
        <version>${chenile.others.version}</version>
      </dependency>
      <dependency>
        <groupId>org.chenile</groupId>
        <artifactId>security-interceptor</artifactId>
        <version>${chenile.security.version}</version>
      </dependency>
      <dependency>
        <groupId>org.chenile</groupId>
        <artifactId>cucumber-utils</artifactId>
        <version>${chenile.core.version}</version>
      </dependency>
      <dependency>
        <groupId>org.chenile</groupId>
        <artifactId>cucumber-sec-utils</artifactId>
        <version>${chenile.security.version}</version>
      </dependency>
      <dependency>
        <groupId>org.chenile</groupId>
        <artifactId>cucumber-mqtt-utils</artifactId>
        <version>${chenile.mqtt.version}</version>
      </dependency>
      <dependency>
        <groupId>org.chenile</groupId>
        <artifactId>chenile-security</artifactId>
        <version>${chenile.security.version}</version>
      </dependency>
      <dependency>
        <groupId>org.chenile</groupId>
        <artifactId>stm</artifactId>
        <version>${chenile.core.version}</version>
        <exclusions>
          <exclusion>
            <groupId>javax.servlet</groupId>
            <artifactId>servlet-api</artifactId>
          </exclusion>
        </exclusions>
      </dependency>
      <dependency>
        <groupId>org.chenile</groupId>
        <artifactId>owiz</artifactId>
        <version>${chenile.core.version}</version>
      </dependency>
      <dependency>
        <groupId>org.chenile</groupId>
        <artifactId>utils</artifactId>
        <version>${chenile.core.version}</version>
      </dependency>
      <dependency>
        <groupId>org.chenile</groupId>
        <artifactId>workflow-api</artifactId>
        <version>${chenile.query.workflow.blueprints.version}</version>
      </dependency>
      <dependency>
        <groupId>org.chenile</groupId>
        <artifactId>workflow-service</artifactId>
        <version>${chenile.query.workflow.blueprints.version}</version>
      </dependency>
      <dependency>
        <groupId>org.chenile</groupId>
        <artifactId>query-api</artifactId>
        <version>${chenile.query.workflow.blueprints.version}</version>
      </dependency>
      <dependency>
        <groupId>org.chenile</groupId>
        <artifactId>security-api</artifactId>
        <version>${chenile.security.version}</version>
      </dependency>
      <dependency>
        <groupId>org.chenile</groupId>
        <artifactId>security-service</artifactId>
        <version>${chenile.security.version}</version>
      </dependency>
      <dependency>
        <groupId>org.chenile</groupId>
        <artifactId>chenile-query-service</artifactId>
        <version>${chenile.query.workflow.blueprints.version}</version>
      </dependency>
      <dependency>
        <groupId>org.chenile</groupId>
        <artifactId>chenile-query-controller</artifactId>
        <version>${chenile.query.workflow.blueprints.version}</version>
      </dependency>
      <dependency>
        <groupId>org.chenile</groupId>
        <artifactId>cloud-edge-switch</artifactId>
        <version>${chenile.mqtt.version}</version>
      </dependency>
      <dependency>
        <groupId>commons-lang</groupId>
        <artifactId>commons-lang</artifactId>
        <version>2.6</version>
      </dependency>
      <dependency>
        <groupId>io.cucumber</groupId>
        <artifactId>cucumber-java</artifactId>
        <version>${cucumber.version}</version>
      </dependency>
      <dependency>
        <groupId>io.cucumber</groupId>
        <artifactId>cucumber-spring</artifactId>
        <version>${cucumber.version}</version>
      </dependency>
      <dependency>
        <groupId>io.cucumber</groupId>
        <artifactId>cucumber-junit</artifactId>
        <version>${cucumber.version}</version>
      </dependency>
      <dependency>
        <groupId>org.springdoc</groupId>
        <artifactId>springdoc-openapi-starter-webmvc-ui</artifactId>
        <version>${springdoc.version}</version>
      </dependency>
      <dependency>
        <groupId>org.mybatis.spring.boot</groupId>
        <artifactId>mybatis-spring-boot-starter</artifactId>
        <version>${mybatis.spring.version}</version>
      </dependency>
      <dependency>
        <groupId>org.eclipse.paho</groupId>
        <artifactId>org.eclipse.paho.mqttv5.client</artifactId>
        <version>${mqtt.paho.version}</version>
      </dependency>
      <dependency>
        <groupId>com.hazelcast</groupId>
        <artifactId>hazelcast</artifactId>
        <version>${hazelcast.version}</version>
      </dependency>
      <dependency>
        <groupId>com.hazelcast</groupId>
        <artifactId>hazelcast-client</artifactId>
        <version>${hazelcast.version}</version>
      </dependency>
      <dependency>
        <groupId>org.testcontainers</groupId>
        <artifactId>testcontainers</artifactId>
        <version>1.19.7</version>
      </dependency>
      <dependency>
        <groupId>org.testcontainers</groupId>
        <artifactId>hivemq</artifactId>
        <version>1.19.7</version>
      </dependency>
      <dependency>
        <groupId>org.wiremock</groupId>
        <artifactId>wiremock-standalone</artifactId>
        <version>${wire.mock.version}</version>
        <scope>test</scope>
      </dependency>
      <dependency>
        <groupId>io.rest-assured</groupId>
        <artifactId>rest-assured</artifactId>
        <version>${rest.assured.version}</version>
      </dependency>
      <dependency>
        <groupId>io.rest-assured</groupId>
        <artifactId>json-path</artifactId>
        <version>${rest.assured.version}</version>
      </dependency>
    </dependencies>
  </dependencyManagement>
  <build>
    <plugins>
      <plugin>
        <groupId>org.codehaus.mojo</groupId>
        <artifactId>flatten-maven-plugin</artifactId>
        <version>1.1.0</version>
        <executions>
          <execution>
            <id>flatten</id>
            <phase>process-resources</phase>
            <goals>
              <goal>flatten</goal>
            </goals>
          </execution>
          <execution>
            <id>flatten.clean</id>
            <phase>clean</phase>
            <goals>
              <goal>clean</goal>
            </goals>
          </execution>
        </executions>
        <configuration>
          <updatePomFile>true</updatePomFile>
          <flattenMode>resolveCiFriendliesOnly</flattenMode>
        </configuration>
      </plugin>
      <plugin>
        <artifactId>maven-compiler-plugin</artifactId>
      </plugin>
      <plugin>
        <artifactId>maven-release-plugin</artifactId>
        <version>2.5.2</version>
        <configuration>
          <localCheckout>true</localCheckout>
        </configuration>
      </plugin>
      <plugin>
        <artifactId>maven-javadoc-plugin</artifactId>
        <configuration>
          <additionalOptions>
            <additionalOption>-Xdoclint:none</additionalOption>
          </additionalOptions>
          <failOnError>false</failOnError>
          <stylesheetfile>site-resources/styles-new.css</stylesheetfile>
          <top>&lt;h2>&lt;a href='https://chenile.org'>Chenile Framework Javadocs&lt;/a>&lt;/h2></top>
          <bottom>Generated from Source. &lt;a href="https://chenile.org">Chenile&lt;a></bottom>
          <includeDependencySources>true</includeDependencySources>
          <dependencySourceIncludes>
            <dependencySourceInclude>org.chenile:*</dependencySourceInclude>
          </dependencySourceIncludes>
          <links>
            <link>https://docs.spring.io/spring-framework/docs/current/javadoc-api/</link>
            <link>https://jakarta.ee/specifications/platform/9/apidocs/</link>
            <link>https://javadoc.io/doc/com.fasterxml.jackson.core/jackson-databind/2.3.1/</link>
            <link>https://javadoc.io/doc/org.apache.maven/maven-core/latest/</link>
          </links>
          <show>private</show>
          <groups>
            <group>
              <title>Core Packages</title>
              <packages>org.chenile.base*:org.chenile.core*:org.chenile.http*:org.chenile.proxy*:org.chenile.configuration.core:org.chenile.configuration.proxy:org.chenile.configuration.http:org.chenile.configuration.controller</packages>
            </group>
            <group>
              <title>MQTT</title>
              <packages>org.chenile.mqtt*:org.chenile.cloudedgeswitch*:org.chenile.configuration.mqtt:org.chenile.configuration.cloudedgeswitch</packages>
            </group>
            <group>
              <title>STM/OWIZ/Workflow</title>
              <packages>org.chenile.owiz*:org.chenile.stm*:org.chenile.ognl:org.chenile.workflow*:org.chenile.configuration.workflow</packages>
            </group>
            <group>
              <title>Testing</title>
              <packages>org.chenile.cucumber*:org.chenile.testutils*:org.chenile.security.test</packages>
            </group>
            <group>
              <title>Query</title>
              <packages>org.chenile.query*:org.chenile.configuration.query.service</packages>
            </group>
            <group>
              <title>Others</title>
              <packages>org.chenile.*:org.chenile.configuration.*</packages>
            </group>
          </groups>
        </configuration>
      </plugin>
      <plugin>
        <groupId>org.jacoco</groupId>
        <artifactId>jacoco-maven-plugin</artifactId>
        <version>${jacoco.version}</version>
        <executions>
          <execution>
            <id>prepare-agent</id>
            <goals>
              <goal>prepare-agent</goal>
            </goals>
          </execution>
          <execution>
            <id>report</id>
            <goals>
              <goal>report</goal>
            </goals>
          </execution>
        </executions>
        <configuration>
          <excludes>
            <exclude>**/*Driver*</exclude>
            <exclude>java*/**</exclude>
            <exclude>**/ietf/**</exclude>
            <exclude>sun/**</exclude>
            <exclude>jdk/**</exclude>
          </excludes>
        </configuration>
      </plugin>
      <plugin>
        <artifactId>maven-site-plugin</artifactId>
        <version>3.3</version>
      </plugin>
    </plugins>
  </build>
  <profiles>
    <profile>
      <id>release-sign-artifacts</id>
      <activation>
        <property>
          <name>performRelease</name>
          <value>true</value>
        </property>
      </activation>
      <build>
        <plugins>
          <plugin>
            <artifactId>maven-gpg-plugin</artifactId>
            <version>${maven.gpg.version}</version>
            <executions>
              <execution>
                <id>sign-artifacts</id>
                <phase>verify</phase>
                <goals>
                  <goal>sign</goal>
                </goals>
              </execution>
            </executions>
          </plugin>
          <plugin>
            <artifactId>maven-javadoc-plugin</artifactId>
            <executions>
              <execution>
                <id>attach-javadocs</id>
                <goals>
                  <goal>jar</goal>
                </goals>
              </execution>
            </executions>
            <configuration>
              <additionalOptions>
                <additionalOption>-Xdoclint:none</additionalOption>
              </additionalOptions>
            </configuration>
          </plugin>
          <plugin>
            <artifactId>maven-source-plugin</artifactId>
            <version>3.3.1</version>
            <executions>
              <execution>
                <id>attach-sources</id>
                <goals>
                  <goal>jar-no-fork</goal>
                </goals>
              </execution>
            </executions>
          </plugin>
          <plugin>
            <groupId>org.sonatype.central</groupId>
            <artifactId>central-publishing-maven-plugin</artifactId>
            <version>0.4.0</version>
            <extensions>true</extensions>
            <configuration>
              <publishingServerId>central</publishingServerId>
              <tokenAuth>true</tokenAuth>
              <autoPublish>true</autoPublish>
            </configuration>
          </plugin>
        </plugins>
      </build>
    </profile>
    <profile>
      <id>generate-aggregate-javadoc</id>
      <activation>
        <property>
          <name>generateAggregateJavadoc</name>
          <value>true</value>
        </property>
      </activation>
      <build>
        <plugins>
          <plugin>
            <artifactId>maven-javadoc-plugin</artifactId>
            <executions>
              <execution>
                <id>attach-javadocs</id>
                <goals>
                  <goal>jar</goal>
                </goals>
              </execution>
            </executions>
            <configuration>
              <additionalOptions>
                <additionalOption>-Xdoclint:none</additionalOption>
              </additionalOptions>
              <failOnError>false</failOnError>
              <stylesheetfile>site-resources/styles-new.css</stylesheetfile>
              <top>&lt;h2>&lt;a href='https://chenile.org'>Chenile Framework Javadocs&lt;/a>&lt;/h2></top>
              <bottom>Generated from Source. &lt;a href="https://chenile.org">Chenile&lt;a></bottom>
              <includeDependencySources>true</includeDependencySources>
              <dependencySourceIncludes>
                <dependencySourceInclude>org.chenile:*</dependencySourceInclude>
              </dependencySourceIncludes>
              <links>
                <link>https://docs.spring.io/spring-framework/docs/current/javadoc-api/</link>
                <link>https://jakarta.ee/specifications/platform/9/apidocs/</link>
                <link>https://javadoc.io/doc/com.fasterxml.jackson.core/jackson-databind/2.3.1/</link>
                <link>https://javadoc.io/doc/org.apache.maven/maven-core/latest/</link>
              </links>
              <show>private</show>
              <groups>
                <group>
                  <title>Core Packages</title>
                  <packages>org.chenile.base*:org.chenile.core*:org.chenile.http*:org.chenile.proxy*:org.chenile.configuration.core:org.chenile.configuration.proxy:org.chenile.configuration.http:org.chenile.configuration.controller</packages>
                </group>
                <group>
                  <title>MQTT</title>
                  <packages>org.chenile.mqtt*:org.chenile.cloudedgeswitch*:org.chenile.configuration.mqtt:org.chenile.configuration.cloudedgeswitch</packages>
                </group>
                <group>
                  <title>STM/OWIZ/Workflow</title>
                  <packages>org.chenile.owiz*:org.chenile.stm*:org.chenile.ognl:org.chenile.workflow*:org.chenile.configuration.workflow</packages>
                </group>
                <group>
                  <title>Testing</title>
                  <packages>org.chenile.cucumber*:org.chenile.testutils*:org.chenile.security.test</packages>
                </group>
                <group>
                  <title>Query</title>
                  <packages>org.chenile.query*:org.chenile.configuration.query.service</packages>
                </group>
                <group>
                  <title>Others</title>
                  <packages>org.chenile.*:org.chenile.configuration.*</packages>
                </group>
              </groups>
            </configuration>
          </plugin>
        </plugins>
      </build>
      <dependencies>
        <dependency>
          <groupId>org.chenile</groupId>
          <artifactId>chenile-filewatch</artifactId>
          <version>${chenile.others.version}</version>
        </dependency>
        <dependency>
          <groupId>org.chenile</groupId>
          <artifactId>chenile-scheduler</artifactId>
          <version>${chenile.others.version}</version>
        </dependency>
        <dependency>
          <groupId>org.chenile</groupId>
          <artifactId>chenile-http</artifactId>
          <version>${chenile.core.version}</version>
        </dependency>
        <dependency>
          <groupId>org.chenile</groupId>
          <artifactId>chenile-cache</artifactId>
          <version>${chenile.others.version}</version>
        </dependency>
        <dependency>
          <groupId>org.chenile</groupId>
          <artifactId>chenile-mqtt</artifactId>
          <version>${chenile.mqtt.version}</version>
        </dependency>
        <dependency>
          <groupId>org.chenile</groupId>
          <artifactId>jpa-utils</artifactId>
          <version>${chenile.core.version}</version>
        </dependency>
        <dependency>
          <groupId>org.chenile</groupId>
          <artifactId>chenile-security-api</artifactId>
          <version>${chenile.security.version}</version>
        </dependency>
        <dependency>
          <groupId>org.chenile.bdd</groupId>
          <artifactId>it-cucumber-utils</artifactId>
          <version>${chenile.bdd.version}</version>
        </dependency>
        <dependency>
          <groupId>org.chenile.bdd</groupId>
          <artifactId>it-cucumber-sec-utils</artifactId>
          <version>${chenile.bdd.version}</version>
        </dependency>
        <dependency>
          <groupId>org.chenile</groupId>
          <artifactId>chenile-proxy</artifactId>
          <version>${chenile.core.version}</version>
        </dependency>
        <dependency>
          <groupId>org.chenile</groupId>
          <artifactId>chenile-core</artifactId>
          <version>${chenile.core.version}</version>
        </dependency>
        <dependency>
          <groupId>org.chenile</groupId>
          <artifactId>chenile-base</artifactId>
          <version>${chenile.core.version}</version>
        </dependency>
        <dependency>
          <groupId>org.chenile</groupId>
          <artifactId>security-interceptor</artifactId>
          <version>${chenile.security.version}</version>
        </dependency>
        <dependency>
          <groupId>org.chenile</groupId>
          <artifactId>cucumber-utils</artifactId>
          <version>${chenile.core.version}</version>
        </dependency>
        <dependency>
          <groupId>org.chenile</groupId>
          <artifactId>cucumber-sec-utils</artifactId>
          <version>${chenile.security.version}</version>
        </dependency>
        <dependency>
          <groupId>org.chenile</groupId>
          <artifactId>cucumber-mqtt-utils</artifactId>
          <version>${chenile.mqtt.version}</version>
        </dependency>
        <dependency>
          <groupId>org.chenile</groupId>
          <artifactId>chenile-security</artifactId>
          <version>${chenile.security.version}</version>
        </dependency>
        <dependency>
          <groupId>org.chenile</groupId>
          <artifactId>stm</artifactId>
          <version>${chenile.core.version}</version>
          <exclusions>
            <exclusion>
              <groupId>javax.servlet</groupId>
              <artifactId>servlet-api</artifactId>
            </exclusion>
          </exclusions>
        </dependency>
        <dependency>
          <groupId>org.chenile</groupId>
          <artifactId>owiz</artifactId>
          <version>${chenile.core.version}</version>
        </dependency>
        <dependency>
          <groupId>org.chenile</groupId>
          <artifactId>utils</artifactId>
          <version>${chenile.core.version}</version>
        </dependency>
        <dependency>
          <groupId>org.chenile</groupId>
          <artifactId>workflow-api</artifactId>
          <version>${chenile.query.workflow.blueprints.version}</version>
        </dependency>
        <dependency>
          <groupId>org.chenile</groupId>
          <artifactId>workflow-service</artifactId>
          <version>${chenile.query.workflow.blueprints.version}</version>
        </dependency>
        <dependency>
          <groupId>org.chenile</groupId>
          <artifactId>query-api</artifactId>
          <version>${chenile.query.workflow.blueprints.version}</version>
        </dependency>
        <dependency>
          <groupId>org.chenile</groupId>
          <artifactId>chenile-query-service</artifactId>
          <version>${chenile.query.workflow.blueprints.version}</version>
        </dependency>
        <dependency>
          <groupId>org.chenile</groupId>
          <artifactId>chenile-query-controller</artifactId>
          <version>${chenile.query.workflow.blueprints.version}</version>
        </dependency>
        <dependency>
          <groupId>org.chenile</groupId>
          <artifactId>cloud-edge-switch</artifactId>
          <version>${chenile.mqtt.version}</version>
        </dependency>
      </dependencies>
    </profile>
  </profiles>
</project>
