<?xml version="1.0" encoding="UTF-8"?>
<!--
 * SPDX-FileCopyrightText: Copyright (c) 2012-2026 Yegor Bugayenko
 * SPDX-License-Identifier: MIT
-->
<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>
  <parent>
    <groupId>com.jcabi</groupId>
    <artifactId>jcabi</artifactId>
    <version>1.41.0</version>
  </parent>
  <artifactId>jcabi-dynamo</artifactId>
  <version>1.0.0</version>
  <packaging>jar</packaging>
  <name>jcabi-dynamo</name>
  <description>Object Oriented Wrapper of Amazon DynamoDB SDK</description>
  <issueManagement>
    <system>github</system>
    <url>https://github.com/jcabi/jcabi-dynamo/issues</url>
  </issueManagement>
  <ciManagement>
    <system>travis</system>
    <url>https://travis-ci.org/jcabi/jcabi-dynamo</url>
  </ciManagement>
  <scm>
    <connection>scm:git:github.com:jcabi/jcabi-dynamo.git</connection>
    <developerConnection>scm:git:github.com:jcabi/jcabi-dynamo.git</developerConnection>
    <url>https://github.com/jcabi/jcabi-dynamo</url>
  </scm>
  <distributionManagement>
    <site>
      <id>dynamo.jcabi.com</id>
      <url>https://dynamo.jcabi.com/</url>
    </site>
  </distributionManagement>
  <dependencies>
    <dependency>
      <groupId>javax.validation</groupId>
      <artifactId>validation-api</artifactId>
      <version>2.0.1.Final</version>
      <scope>provided</scope>
    </dependency>
    <dependency>
      <groupId>org.projectlombok</groupId>
      <artifactId>lombok</artifactId>
      <version>1.18.36</version>
    </dependency>
    <dependency>
      <groupId>com.jcabi</groupId>
      <artifactId>jcabi-log</artifactId>
      <version>0.24.3</version>
    </dependency>
    <dependency>
      <groupId>com.jcabi</groupId>
      <artifactId>jcabi-immutable</artifactId>
      <version>1.5</version>
    </dependency>
    <dependency>
      <groupId>software.amazon.awssdk</groupId>
      <artifactId>dynamodb</artifactId>
      <version>2.31.1</version>
    </dependency>
    <dependency>
      <groupId>software.amazon.awssdk</groupId>
      <artifactId>regions</artifactId>
      <version>2.31.1</version>
    </dependency>
    <dependency>
      <groupId>software.amazon.awssdk</groupId>
      <artifactId>auth</artifactId>
      <version>2.31.1</version>
    </dependency>
    <dependency>
      <groupId>software.amazon.awssdk</groupId>
      <artifactId>aws-core</artifactId>
      <version>2.31.1</version>
    </dependency>
    <dependency>
      <groupId>software.amazon.awssdk</groupId>
      <artifactId>sdk-core</artifactId>
      <version>2.31.1</version>
    </dependency>
    <dependency>
      <groupId>com.google.guava</groupId>
      <artifactId>guava</artifactId>
      <version>33.3.1-jre</version>
    </dependency>
    <dependency>
      <groupId>commons-codec</groupId>
      <artifactId>commons-codec</artifactId>
      <version>1.18.0</version>
    </dependency>
    <dependency>
      <groupId>org.aspectj</groupId>
      <artifactId>aspectjrt</artifactId>
      <version>1.9.25.1</version>
      <scope>runtime</scope>
    </dependency>
    <dependency>
      <groupId>com.jcabi</groupId>
      <artifactId>jcabi-jdbc</artifactId>
      <version>0.19.0</version>
      <optional>true</optional>
    </dependency>
    <dependency>
      <groupId>com.h2database</groupId>
      <artifactId>h2</artifactId>
      <version>2.4.240</version>
      <optional>true</optional>
    </dependency>
    <dependency>
      <groupId>org.apache.commons</groupId>
      <artifactId>commons-lang3</artifactId>
      <version>3.16.0</version>
      <scope>test</scope>
    </dependency>
    <dependency>
      <groupId>org.slf4j</groupId>
      <artifactId>slf4j-reload4j</artifactId>
      <version>2.0.16</version>
      <scope>test</scope>
    </dependency>
    <dependency>
      <groupId>log4j</groupId>
      <artifactId>log4j</artifactId>
      <version>1.2.17</version>
      <scope>test</scope>
    </dependency>
  </dependencies>
  <build>
    <pluginManagement>
      <plugins>
        <plugin>
          <artifactId>maven-failsafe-plugin</artifactId>
          <configuration>
            <systemPropertyVariables combine.children="append">
              <failsafe.port>${dynamodb.port}</failsafe.port>
            </systemPropertyVariables>
          </configuration>
        </plugin>
      </plugins>
    </pluginManagement>
    <plugins>
      <plugin>
        <groupId>org.codehaus.mojo</groupId>
        <artifactId>build-helper-maven-plugin</artifactId>
        <version>3.6.0</version>
        <executions>
          <execution>
            <goals>
              <goal>reserve-network-port</goal>
            </goals>
            <configuration>
              <portNames>
                <portName>dynamodb.port</portName>
              </portNames>
            </configuration>
          </execution>
        </executions>
      </plugin>
      <plugin>
        <artifactId>maven-dependency-plugin</artifactId>
        <executions>
          <execution>
            <goals>
              <goal>unpack</goal>
            </goals>
            <configuration>
              <artifactItems>
                <artifactItem>
                  <groupId>com.jcabi</groupId>
                  <artifactId>DynamoDBLocal</artifactId>
                  <version>2023-05-26</version>
                  <type>zip</type>
                  <outputDirectory>${project.build.directory}/dynamodb-dist</outputDirectory>
                  <overWrite>false</overWrite>
                </artifactItem>
              </artifactItems>
            </configuration>
          </execution>
        </executions>
      </plugin>
      <plugin>
        <groupId>com.jcabi</groupId>
        <artifactId>jcabi-dynamodb-maven-plugin</artifactId>
        <version>0.10.1</version>
        <configuration>
          <port>${dynamodb.port}</port>
          <dist>${project.build.directory}/dynamodb-dist</dist>
        </configuration>
        <executions>
          <execution>
            <goals>
              <goal>start</goal>
              <goal>stop</goal>
            </goals>
          </execution>
        </executions>
      </plugin>
      <plugin>
        <artifactId>maven-failsafe-plugin</artifactId>
        <executions>
          <execution>
            <goals>
              <goal>integration-test</goal>
              <goal>verify</goal>
            </goals>
          </execution>
        </executions>
      </plugin>
    </plugins>
  </build>
  <profiles>
    <profile>
      <id>dynamodb-local</id>
      <activation>
        <property>
          <name>!skipTests</name>
        </property>
      </activation>
      <properties>
        <failsafe.ddl.key>AAAAABBBBBAAAAABBBBB</failsafe.ddl.key>
        <failsafe.ddl.secret>ABCDABCDABCDABCDABCDABCDABCDABCDABCDABCD</failsafe.ddl.secret>
      </properties>
      <build>
        <plugins>
          <plugin>
            <artifactId>maven-dependency-plugin</artifactId>
            <executions>
              <execution>
                <goals>
                  <goal>unpack</goal>
                </goals>
                <configuration>
                  <artifactItems>
                    <artifactItem>
                      <groupId>com.jcabi</groupId>
                      <artifactId>DynamoDBLocal</artifactId>
                      <version>2023-05-26</version>
                      <type>zip</type>
                      <outputDirectory>${project.build.directory}/dynamodb-dist</outputDirectory>
                      <overWrite>false</overWrite>
                    </artifactItem>
                  </artifactItems>
                </configuration>
              </execution>
            </executions>
          </plugin>
          <plugin>
            <groupId>org.codehaus.mojo</groupId>
            <artifactId>build-helper-maven-plugin</artifactId>
            <executions>
              <execution>
                <id>reserver-dynamodb-port</id>
                <goals>
                  <goal>reserve-network-port</goal>
                </goals>
                <configuration>
                  <portNames>
                    <portName>failsafe.ddl.port</portName>
                  </portNames>
                </configuration>
              </execution>
            </executions>
          </plugin>
          <plugin>
            <groupId>com.jcabi</groupId>
            <artifactId>jcabi-dynamodb-maven-plugin</artifactId>
            <executions>
              <execution>
                <id>dynamodb-integration-test</id>
                <goals>
                  <goal>start</goal>
                  <goal>create-tables</goal>
                  <goal>stop</goal>
                </goals>
                <configuration>
                  <port>${failsafe.ddl.port}</port>
                  <dist>${project.build.directory}/dynamodb-dist</dist>
                  <key>${failsafe.ddl.key}</key>
                  <secret>${failsafe.ddl.secret}</secret>
                  <tables>
                    <table>${basedir}/src/test/dynamodb/talks.json</table>
                  </tables>
                </configuration>
              </execution>
            </executions>
          </plugin>
          <plugin>
            <artifactId>maven-failsafe-plugin</artifactId>
            <configuration>
              <parallel>none</parallel>
              <systemPropertyVariables combine.children="append">
                <failsafe.ddl.port>${failsafe.ddl.port}</failsafe.ddl.port>
                <failsafe.ddl.key>${failsafe.ddl.key}</failsafe.ddl.key>
                <failsafe.ddl.secret>${failsafe.ddl.secret}</failsafe.ddl.secret>
              </systemPropertyVariables>
            </configuration>
          </plugin>
        </plugins>
      </build>
    </profile>
    <profile>
      <id>qulice</id>
      <build>
        <plugins>
          <plugin>
            <groupId>com.qulice</groupId>
            <artifactId>qulice-maven-plugin</artifactId>
            <version>0.24.0</version>
            <configuration>
              <excludes combine.children="append">
                <exclude>findbugs:.*</exclude>
                <exclude>duplicatefinder:.*</exclude>
              </excludes>
            </configuration>
          </plugin>
        </plugins>
      </build>
    </profile>
  </profiles>
</project>
