<?xml version="1.0" encoding="UTF-8"?>
<!--

    Copyright (c) 2019, 2022 Oracle and/or its affiliates. All rights reserved.

    This program and the accompanying materials are made available under the
    terms of the Eclipse Public License v. 2.0 which is available at
    http://www.eclipse.org/legal/epl-2.0,
    or the Eclipse Distribution License v. 1.0 which is available at
    http://www.eclipse.org/org/documents/edl-v10.php.

    SPDX-License-Identifier: EPL-2.0 OR BSD-3-Clause

-->

<project xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://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>

    <name>EclipseLink NoSQL Extension</name>
    <groupId>org.eclipse.persistence</groupId>
    <artifactId>org.eclipse.persistence.nosql</artifactId>
    <packaging>jar</packaging>

    <parent>
        <groupId>org.eclipse.persistence</groupId>
        <artifactId>org.eclipse.persistence.parent</artifactId>
        <version>4.0.0-SNAPSHOT</version>
        <relativePath>../../pom.xml</relativePath>
    </parent>

    <properties>
        <test-skip-nosql>true</test-skip-nosql>
    </properties>

    <dependencies>
        <!--API dependecies-->
        <dependency>
            <groupId>jakarta.resource</groupId>
            <artifactId>jakarta.resource-api</artifactId>
        </dependency>
        <dependency>
            <groupId>jakarta.enterprise</groupId>
            <artifactId>jakarta.enterprise.cdi-api</artifactId>
            <optional>true</optional>
        </dependency>
        <dependency>
            <groupId>jakarta.jms</groupId>
            <artifactId>jakarta.jms-api</artifactId>
            <optional>true</optional>
        </dependency>

        <!--Other modules-->
        <dependency>
            <groupId>org.eclipse.persistence</groupId>
            <artifactId>org.eclipse.persistence.core</artifactId>
        </dependency>

        <!--Other libraries dependencies-->
        <!--Mongo DB-->
        <dependency>
            <groupId>org.mongodb</groupId>
            <artifactId>mongo-java-driver</artifactId>
            <scope>provided</scope>
            <optional>true</optional>
        </dependency>

        <!--Test dependencies-->
        <dependency>
            <groupId>junit</groupId>
            <artifactId>junit</artifactId>
            <scope>test</scope>
        </dependency>
        <!--EclipseLink JPA-->
        <dependency>
            <groupId>org.eclipse.persistence</groupId>
            <artifactId>org.eclipse.persistence.jpa</artifactId>
            <scope>test</scope>
        </dependency>
        <!--EclipseLink Core test framework-->
        <dependency>
            <groupId>org.eclipse.persistence</groupId>
            <artifactId>org.eclipse.persistence.core.test.framework</artifactId>
            <scope>test</scope>
        </dependency>
        <!--EclipseLink JPA test framework-->
        <dependency>
            <groupId>org.eclipse.persistence</groupId>
            <artifactId>org.eclipse.persistence.jpa.test.framework</artifactId>
            <scope>test</scope>
        </dependency>
        <!--EclipseLink Core test classes-->
        <dependency>
            <groupId>org.eclipse.persistence</groupId>
            <artifactId>org.eclipse.persistence.core.test</artifactId>
            <type>test-jar</type>
            <scope>test</scope>
        </dependency>
        <!--EclipseLink JPA test classes (test framework) additional classes-->
        <dependency>
            <groupId>org.eclipse.persistence</groupId>
            <artifactId>org.eclipse.persistence.jpa.test</artifactId>
            <type>test-jar</type>
            <scope>test</scope>
        </dependency>
    </dependencies>

    <build>
        <plugins>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-compiler-plugin</artifactId>
                <configuration>
                    <compilerArgs>
                        <arg>--add-reads</arg>
                        <arg>org.eclipse.persistence.core=ALL-UNNAMED</arg>
                        <arg>--add-reads</arg>
                        <arg>org.eclipse.persistence.nosql=ALL-UNNAMED</arg>
                    </compilerArgs>
                </configuration>
            </plugin>
            <plugin>
                <groupId>org.apache.felix</groupId>
                <artifactId>maven-bundle-plugin</artifactId>
                <configuration>
                    <instructions>
                        <Fragment-Host>org.eclipse.persistence.core</Fragment-Host>
                        <Import-Package>
                            com.mongodb;version=!,
                            com.mongodb.client;version=!,
                            com.mongodb.client.model;version=!,
                            com.mongodb.client.result;version=!,
                            org.bson;version=!,
                            org.bson.codecs;version=!,
                            org.bson.codecs.configuration;version=!,
                            org.bson.conversions;version=!,
                            org.bson.types;version=!,
                            *
                        </Import-Package>
                    </instructions>
                </configuration>
            </plugin>
            <!--Pack test classes due dependency to other modules (JPA)-->
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-jar-plugin</artifactId>
                <executions>
                    <execution>
                        <id>jar-tests</id>
                        <phase>package</phase>
                        <goals>
                            <goal>test-jar</goal>
                        </goals>
                    </execution>
                </executions>
            </plugin>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-surefire-plugin</artifactId>
                <configuration>
                    <skip>true</skip>
                </configuration>
            </plugin>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-failsafe-plugin</artifactId>
                <configuration>
                    <!--Set system properties required for tests-->
                    <systemPropertiesFile>${test.mongodb.properties.file}</systemPropertiesFile>
                </configuration>
                <executions>
                    <execution>
                        <id>test-nosql</id>
                        <goals>
                            <goal>integration-test</goal>
                        </goals>
                        <configuration>
                            <skipTests>${test-skip-nosql}</skipTests>
                            <reportNameSuffix>test-nosql</reportNameSuffix>
                            <includes>
                                <include>org.eclipse.persistence.testing.tests.NoSQLJPATestSuite</include>
                            </includes>
                        </configuration>
                    </execution>
                    <execution>
                        <id>verify-integration-tests</id>
                        <goals>
                            <goal>verify</goal>
                        </goals>
                        <configuration>
                            <skip>${integration.test.skip.verify}</skip>
                        </configuration>
                    </execution>
                </executions>
            </plugin>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-javadoc-plugin</artifactId>
                <configuration>
                    <additionalOptions>
                        --add-reads org.eclipse.persistence.core=ALL-UNNAMED
                        --add-reads org.eclipse.persistence.nosql=ALL-UNNAMED
                    </additionalOptions>
                </configuration>
            </plugin>
        </plugins>
    </build>

    <profiles>
        <profile>
            <id>mongodb</id>
            <properties>
                <test-skip-nosql>false</test-skip-nosql>
            </properties>
        </profile>

        <profile>
            <id>test-nosql</id>
            <properties>
                <test-skip-nosql>false</test-skip-nosql>
            </properties>
        </profile>
    </profiles>
</project>
