<?xml version="1.0" encoding="UTF-8"?>
<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>imageio-ext-plugin</artifactId>
        <groupId>it.geosolutions.imageio-ext</groupId>
        <version>1.4.16</version>
    </parent>
    <modelVersion>4.0.0</modelVersion>

    <artifactId>imageio-ext-cog</artifactId>
    <packaging>pom</packaging>
    <name>cog</name>

    <properties>
        <okhttp.version>4.12.0</okhttp.version>
        <aws.version>2.27.23</aws.version>
        <azure.version>12.27.1</azure.version>
        <ehcache.version>3.4.0</ehcache.version>
        <online.skip.pattern>**/*OnlineTest.java</online.skip.pattern>
    </properties>

    <modules>
        <module>cog-reader</module>
        <module>cog-commons</module>
        <module>cog-streams</module>
        <module>cog-rangereader-http</module>
        <module>cog-rangereader-s3</module>
        <module>cog-rangereader-gs</module>
        <module>cog-rangereader-azure</module>
    </modules>

    <dependencyManagement>
        <dependencies>
            <dependency>
                <groupId>it.geosolutions.imageio-ext</groupId>
                <artifactId>imageio-ext-tiff</artifactId>
                <version>${project.version}</version>
            </dependency>
            <dependency>
                <groupId>it.geosolutions.imageio-ext</groupId>
                <artifactId>imageio-ext-cog-commons</artifactId>
                <version>${project.version}</version>
            </dependency>
            <dependency>
                <groupId>it.geosolutions.imageio-ext</groupId>
                <artifactId>imageio-ext-cog-rangereader-http</artifactId>
                <version>${project.version}</version>
            </dependency>
            <dependency>
                <groupId>it.geosolutions.imageio-ext</groupId>
                <artifactId>imageio-ext-cog-rangereader-s3</artifactId>
                <version>${project.version}</version>
            </dependency>
            <dependency>
                <groupId>it.geosolutions.imageio-ext</groupId>
                <artifactId>imageio-ext-cog-rangereader-gs</artifactId>
                <version>${project.version}</version>
            </dependency>
            <dependency>
                <groupId>it.geosolutions.imageio-ext</groupId>
                <artifactId>imageio-ext-cog-rangereader-azure</artifactId>
                <version>${project.version}</version>
            </dependency>
            <dependency>
                <groupId>it.geosolutions.imageio-ext</groupId>
                <artifactId>imageio-ext-cog-streams</artifactId>
                <version>${project.version}</version>
            </dependency>
            <dependency>
                <groupId>com.squareup.okhttp3</groupId>
                <artifactId>okhttp</artifactId>
                <version>${okhttp.version}</version>
            </dependency>
            <dependency>
                <groupId>software.amazon.awssdk</groupId>
                <artifactId>s3</artifactId>
                <version>${aws.version}</version>
            </dependency>
            <dependency>
                <groupId>software.amazon.awssdk</groupId>
                <artifactId>auth</artifactId>
                <version>${aws.version}</version>
            </dependency>
            <dependency>
                <groupId>software.amazon.awssdk</groupId>
                <artifactId>sts</artifactId>
                <version>${aws.version}</version>
            </dependency>
            <dependency>
                <groupId>org.ehcache</groupId>
                <artifactId>ehcache</artifactId>
                <version>${ehcache.version}</version>
            </dependency>
            <dependency>
                <groupId>com.azure</groupId>
                <artifactId>azure-storage-blob</artifactId>
                <version>${azure.version}</version>
            </dependency>
        </dependencies>
    </dependencyManagement>
    
    <profiles>
        <profile>
            <!--
             Converges the netty dependency version from cog-rangereader-s3 and cog-rangereader-azure
             to a common version that works with both, so that both plugins can co-exist without
             adding netty libs with slightly different versions to the dependencies.

             From cog-rangereader-azure:

             com.azure:azure-storage-blob:jar:12.27.1
             +- com.azure:azure-core-http-netty:jar:1.15.3
                +- io.netty:netty-handler:jar:4.1.110.Final

             From cog-rangereader-s3:
             software.amazon.awssdk:s3:jar:2.24.13
             +- software.amazon.awssdk:netty-nio-client:jar:2.24.13
                +- io.netty:netty-codec-http:jar:4.1.107.Final
            -->
            <id>dependencyConvergence</id>
            <activation>
                <activeByDefault>true</activeByDefault>
            </activation>
            <dependencyManagement>
                <dependencies>
                    <dependency>
                        <groupId>io.netty</groupId>
                        <artifactId>netty-bom</artifactId>
                        <version>4.1.113.Final</version>
                        <type>pom</type>
                        <scope>import</scope>
                    </dependency>
                </dependencies>
            </dependencyManagement>
        </profile>
    </profiles>
</project>
