<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">
    <modelVersion>4.0.0</modelVersion>

    <parent>
        <groupId>com.facebook.airlift</groupId>
        <artifactId>airbase</artifactId>
        <version>108</version>
    </parent>

    <groupId>com.facebook.airlift.resolver</groupId>
    <artifactId>resolver-root</artifactId>
    <version>1.8</version>
    <packaging>pom</packaging>

    <description>Resolve the dependencies of Maven coordinates or POM file</description>
    <name>${project.artifactId}</name>
    <inceptionYear>2013</inceptionYear>

    <scm>
        <connection>scm:git:git://github.com/prestodb/resolver.git</connection>
        <url>https://github.com/prestodb/resolver</url>
        <tag>1.8</tag>
    </scm>

    <properties>
        <dep.aether.version>1.9.6</dep.aether.version>
        <dep.maven.version>3.8.7</dep.maven.version>

        <air.check.skip-extended>true</air.check.skip-extended>
    </properties>

    <modules>
        <module>resolver</module>
        <module>resolver-integration</module>
    </modules>

    <dependencyManagement>
        <dependencies>
            <dependency>
                <groupId>com.facebook.airlift.resolver</groupId>
                <artifactId>resolver</artifactId>
                <version>${project.version}</version>
            </dependency>

            <dependency>
                <groupId>org.apache.maven.resolver</groupId>
                <artifactId>maven-resolver-spi</artifactId>
                <version>${dep.aether.version}</version>
            </dependency>

            <dependency>
                <groupId>org.apache.maven.resolver</groupId>
                <artifactId>maven-resolver-api</artifactId>
                <version>${dep.aether.version}</version>
            </dependency>

            <dependency>
                <groupId>org.apache.maven.resolver</groupId>
                <artifactId>maven-resolver-impl</artifactId>
                <version>${dep.aether.version}</version>
            </dependency>

            <dependency>
                <groupId>org.apache.maven.resolver</groupId>
                <artifactId>maven-resolver-util</artifactId>
                <version>${dep.aether.version}</version>
            </dependency>

            <dependency>
                <groupId>org.apache.maven.resolver</groupId>
                <artifactId>maven-resolver-connector-basic</artifactId>
                <version>${dep.aether.version}</version>
            </dependency>

            <dependency>
                <groupId>org.apache.maven.resolver</groupId>
                <artifactId>maven-resolver-transport-file</artifactId>
                <version>${dep.aether.version}</version>
            </dependency>

            <dependency>
                <groupId>org.apache.maven.resolver</groupId>
                <artifactId>maven-resolver-transport-http</artifactId>
                <version>${dep.aether.version}</version>
            </dependency>

            <!-- http-client 4.5.x uses old 1.11 -->
            <dependency>
                <groupId>commons-codec</groupId>
                <artifactId>commons-codec</artifactId>
                <version>1.15</version>
            </dependency>

            <dependency>
                <groupId>org.apache.maven</groupId>
                <artifactId>maven-model</artifactId>
                <version>${dep.maven.version}</version>
            </dependency>

            <dependency>
                <groupId>org.apache.maven</groupId>
                <artifactId>maven-artifact</artifactId>
                <version>${dep.maven.version}</version>
            </dependency>

            <dependency>
                <groupId>org.apache.maven</groupId>
                <artifactId>maven-resolver-provider</artifactId>
                <version>${dep.maven.version}</version>
            </dependency>

            <dependency>
                <groupId>org.apache.maven</groupId>
                <artifactId>maven-core</artifactId>
                <version>${dep.maven.version}</version>
            </dependency>

            <!-- TODO: remove Maven2 compat bits -->
            <dependency>
                <groupId>org.apache.maven</groupId>
                <artifactId>maven-compat</artifactId>
                <version>${dep.maven.version}</version>
                <scope>runtime</scope>
            </dependency>

            <dependency>
                <groupId>org.codehaus.plexus</groupId>
                <artifactId>plexus-utils</artifactId>
                <version>3.5.1</version>
            </dependency>

            <!-- DI: Sisu -->
            <dependency>
                <groupId>javax.inject</groupId>
                <artifactId>javax.inject</artifactId>
                <version>1</version>
            </dependency>
            <dependency>
                <groupId>org.eclipse.sisu</groupId>
                <artifactId>org.eclipse.sisu.inject</artifactId>
                <version>0.3.5</version>
                <scope>runtime</scope>
            </dependency>
            <!-- TODO: remove Plexus DI bits -->
            <dependency>
                <groupId>org.codehaus.plexus</groupId>
                <artifactId>plexus-classworlds</artifactId>
                <version>2.6.0</version>
            </dependency>
            <!-- TODO: remove Plexus DI bits -->
            <dependency>
                <groupId>org.eclipse.sisu</groupId>
                <artifactId>org.eclipse.sisu.plexus</artifactId>
                <version>0.3.5</version>
            </dependency>
            <dependency>
                <groupId>com.google.inject</groupId>
                <artifactId>guice</artifactId>
                <version>4.2.3</version>
                <scope>runtime</scope>
            </dependency>
            <dependency>
                <groupId>com.google.guava</groupId>
                <artifactId>guava</artifactId>
                <version>31.1-jre</version>
                <exclusions>
                    <exclusion>
                        <groupId>com.google.guava</groupId>
                        <artifactId>listenablefuture</artifactId>
                    </exclusion>
                </exclusions>
            </dependency>
            <dependency>
                <groupId>com.google.guava</groupId>
                <artifactId>failureaccess</artifactId>
                <version>1.0.1</version>
                <scope>runtime</scope>
            </dependency>
        </dependencies>
    </dependencyManagement>

    <build>
        <pluginManagement>
            <plugins>
                <plugin>
                    <groupId>com.ning.maven.plugins</groupId>
                    <artifactId>maven-duplicate-finder-plugin</artifactId>
                    <configuration>
                        <exceptions combine.children="append">
                            <exception>
                                <conflictingDependencies>
                                    <dependency>
                                        <groupId>aopalliance</groupId>
                                        <artifactId>aopalliance</artifactId>
                                    </dependency>
                                    <dependency>
                                        <groupId>org.sonatype.sisu</groupId>
                                        <artifactId>sisu-inject-bean</artifactId>
                                    </dependency>
                                </conflictingDependencies>
                                <classes>
                                    <class>org.aopalliance.aop.Advice</class>
                                    <class>org.aopalliance.aop.AspectException</class>
                                    <class>org.aopalliance.intercept.ConstructorInterceptor</class>
                                    <class>org.aopalliance.intercept.ConstructorInvocation</class>
                                    <class>org.aopalliance.intercept.Interceptor</class>
                                    <class>org.aopalliance.intercept.Invocation</class>
                                    <class>org.aopalliance.intercept.Joinpoint</class>
                                    <class>org.aopalliance.intercept.MethodInterceptor</class>
                                    <class>org.aopalliance.intercept.MethodInvocation</class>
                                </classes>
                            </exception>
                            <exception>
                                <conflictingDependencies>
                                    <dependency>
                                        <groupId>javax.inject</groupId>
                                        <artifactId>javax.inject</artifactId>
                                    </dependency>
                                    <dependency>
                                        <groupId>org.sonatype.sisu</groupId>
                                        <artifactId>sisu-inject-bean</artifactId>
                                    </dependency>
                                </conflictingDependencies>
                                <classes>
                                    <class>javax.inject.Inject</class>
                                    <class>javax.inject.Named</class>
                                    <class>javax.inject.Provider</class>
                                    <class>javax.inject.Qualifier</class>
                                    <class>javax.inject.Scope</class>
                                    <class>javax.inject.Singleton</class>
                                </classes>
                            </exception>
                        </exceptions>
                    </configuration>
                </plugin>
            </plugins>
        </pluginManagement>
    </build>
</project>
