<?xml version="1.0" encoding="UTF-8"?>
<!--
  ~ The contents of this file are subject to the license and copyright
  ~ detailed in the LICENSE and NOTICE files at the root of the source
  ~ tree and available online at
  ~
  ~ http://www.dspace.org/license/
  -->

<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
    <parent>
        <artifactId>xoai</artifactId>
        <groupId>io.gdcc</groupId>
        <version>5.2.2</version>
    </parent>
    <modelVersion>4.0.0</modelVersion>

    <name>XOAI Commons</name>
    <artifactId>xoai-common</artifactId>
    <description>OAI-PMH base functionality used for both data and service providers.</description>

    <dependencies>
        <dependency>
            <groupId>jakarta.xml.bind</groupId>
            <artifactId>jakarta.xml.bind-api</artifactId>
        </dependency>
        <dependency>
            <groupId>org.hamcrest</groupId>
            <artifactId>hamcrest</artifactId>
            <!-- This library is not just used within tests, we also use it to match within real code! -->
            <scope>compile</scope>
        </dependency>
        <dependency>
            <groupId>io.gdcc</groupId>
            <artifactId>xoai-xmlio</artifactId>
        </dependency>
        <dependency>
            <groupId>org.codehaus.woodstox</groupId>
            <artifactId>stax2-api</artifactId>
        </dependency>
        <!--
        We need an actual StAX2 implementation at runtime (thus the scope). Yet appservers like Payara already ship
        their version and using it should be just fine, so we prevent packaging the dep in the JAR via <optional>.
        (Someone might also want to switch to another StAX2 engine like Aalto.)
        -->
        <dependency>
            <groupId>com.fasterxml.woodstox</groupId>
            <artifactId>woodstox-core</artifactId>
            <scope>runtime</scope>
            <optional>true</optional>
        </dependency>

        <!-- TESTING DEPENDENCIES -->
        <dependency>
            <groupId>org.junit.jupiter</groupId>
            <artifactId>junit-jupiter</artifactId>
            <scope>test</scope>
        </dependency>
        <dependency>
            <groupId>org.xmlunit</groupId>
            <artifactId>xmlunit-core</artifactId>
            <scope>test</scope>
        </dependency>
        <dependency>
            <groupId>org.xmlunit</groupId>
            <artifactId>xmlunit-matchers</artifactId>
            <scope>test</scope>
        </dependency>
        <dependency>
            <groupId>org.openjdk.jmh</groupId>
            <artifactId>jmh-core</artifactId>
            <version>1.37</version>
            <scope>test</scope>
        </dependency>
        <dependency>
            <groupId>org.openjdk.jmh</groupId>
            <artifactId>jmh-generator-annprocess</artifactId>
            <version>1.37</version>
            <scope>test</scope>
        </dependency>
    </dependencies>
</project>
