<?xml version="1.0" encoding="UTF-8"?>
<!--
 Copyright 2022 Goldman Sachs

 Licensed under the Apache License, Version 2.0 (the "License");
 you may not use this file except in compliance with the License.
 You may obtain a copy of the License at

      http://www.apache.org/licenses/LICENSE-2.0

 Unless required by applicable law or agreed to in writing, software
 distributed under the License is distributed on an "AS IS" BASIS,
 WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 See the License for the specific language governing permissions and
 limitations under the 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>
        <groupId>org.finos.legend.engine</groupId>
        <artifactId>legend-engine-xts-persistence</artifactId>
        <version>4.121.5</version>
    </parent>
    <modelVersion>4.0.0</modelVersion>

    <artifactId>legend-engine-xt-persistence-component</artifactId>
    <packaging>pom</packaging>
    <name>Legend Engine - XT - Persistence - Component</name>

    <modules>
        <module>legend-engine-xt-persistence-component-logical-plan</module>
        <module>legend-engine-xt-persistence-component-physical-plan</module>
        <module>legend-engine-xt-persistence-component-relational-core</module>
        <module>legend-engine-xt-persistence-component-relational-test</module>
        <module>legend-engine-xt-persistence-component-relational-ansi</module>
        <module>legend-engine-xt-persistence-component-relational-h2</module>
        <module>legend-engine-xt-persistence-component-relational-memsql</module>
        <module>legend-engine-xt-persistence-component-relational-snowflake</module>
        <module>legend-engine-xt-persistence-component-relational-bigquery</module>
        <module>legend-engine-xt-persistence-component-relational-postgres</module>
        <module>legend-engine-xt-persistence-component-relational-duckdb</module>
    </modules>

    <properties>
        <immutable.version>2.8.2</immutable.version>
        <junit-jupiter.version>5.11.0</junit-jupiter.version>
    </properties>

    <build>
        <pluginManagement>
            <plugins>
                <plugin>
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-javadoc-plugin</artifactId>
                    <version>${maven.javadoc.plugin.version}</version>
                    <configuration>
                        <skip>${javadoc.skip}</skip>
                        <source>8</source>
                        <doclint>none</doclint>
                        <sourcepath>
                            ${project.build.sourceDirectory}:${project.build.directory}/generated-sources/annotations
                        </sourcepath>

                        <additionalDependencies>
                            <additionalDependency>
                                <groupId>javax.annotation</groupId>
                                <artifactId>javax.annotation-api</artifactId>
                                <version>1.3.2</version>
                            </additionalDependency>
                        </additionalDependencies>
                    </configuration>
                </plugin>
            </plugins>
        </pluginManagement>
    </build>

    <dependencyManagement>
        <dependencies>
            <!-- IMMUTABLES -->
            <dependency>
                <groupId>org.immutables</groupId>
                <artifactId>value</artifactId>
                <version>${immutable.version}</version>
                <scope>provided</scope>
            </dependency>

            <!-- JACKSON -->
            <dependency>
                <groupId>com.fasterxml.jackson.core</groupId>
                <artifactId>jackson-core</artifactId>
                <version>${jackson.version}</version>
            </dependency>
            <dependency>
                <groupId>com.fasterxml.jackson.core</groupId>
                <artifactId>jackson-databind</artifactId>
                <version>${jackson.databind.version}</version>
            </dependency>

            <!-- LOGGING -->
            <dependency>
                <groupId>org.slf4j</groupId>
                <artifactId>slf4j-api</artifactId>
                <version>${slf4j.version}</version>
            </dependency>

            <!-- MISC -->
            <dependency>
                <groupId>commons-codec</groupId>
                <artifactId>commons-codec</artifactId>
                <version>${commons-codec.version}</version>
            </dependency>

            <!-- TEST -->
            <dependency>
                <groupId>org.finos.legend.engine</groupId>
                <artifactId>legend-engine-xt-persistence-component-relational-test</artifactId>
                <type>test-jar</type>
                <version>${project.version}</version>
                <scope>test</scope>
            </dependency>
            <dependency>
                <groupId>org.finos.legend.engine</groupId>
                <artifactId>legend-engine-xt-persistence-component-relational-ansi</artifactId>
                <type>test-jar</type>
                <version>${project.version}</version>
                <scope>test</scope>
            </dependency>
            <dependency>
                <groupId>org.junit.jupiter</groupId>
                <artifactId>junit-jupiter-api</artifactId>
                <version>${junit-jupiter.version}</version>
                <scope>test</scope>
            </dependency>
            <dependency>
                <groupId>org.junit.jupiter</groupId>
                <artifactId>junit-jupiter-engine</artifactId>
                <version>${junit-jupiter.version}</version>
                <scope>test</scope>
            </dependency>
        </dependencies>
    </dependencyManagement>
</project>
