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

    <parent>
        <groupId>io.dropwizard</groupId>
        <artifactId>dropwizard-parent</artifactId>
        <version>1.3.8</version>
    </parent>

    <artifactId>dropwizard-http2</artifactId>
    <name>Dropwizard HTTP/2 Support</name>

    <properties>
        <!-- Default alpn-boot version. See <profiles> for specific profiles. -->
        <alpn-boot.version>8.1.13.v20181017</alpn-boot.version>
        <argLine>"-Xbootclasspath/p:/${user.home}/.m2/repository/org/mortbay/jetty/alpn/alpn-boot/${alpn-boot.version}/alpn-boot-${alpn-boot.version}.jar" -Duser.language=en -Duser.region=US</argLine>
    </properties>

    <dependencyManagement>
        <dependencies>
            <dependency>
                <groupId>io.dropwizard</groupId>
                <artifactId>dropwizard-bom</artifactId>
                <version>${project.version}</version>
                <type>pom</type>
                <scope>import</scope>
            </dependency>
        </dependencies>
    </dependencyManagement>

    <dependencies>
        <dependency>
            <groupId>io.dropwizard</groupId>
            <artifactId>dropwizard-jetty</artifactId>
        </dependency>

        <dependency>
            <groupId>org.eclipse.jetty.http2</groupId>
            <artifactId>http2-server</artifactId>
        </dependency>

        <dependency>
            <groupId>org.eclipse.jetty.http2</groupId>
            <artifactId>http2-client</artifactId>
            <scope>test</scope>
        </dependency>

        <dependency>
            <groupId>org.eclipse.jetty</groupId>
            <artifactId>jetty-client</artifactId>
            <scope>test</scope>
        </dependency>

        <dependency>
            <groupId>org.eclipse.jetty.http2</groupId>
            <artifactId>http2-http-client-transport</artifactId>
            <scope>test</scope>
        </dependency>

        <dependency>
            <groupId>org.eclipse.jetty</groupId>
            <artifactId>jetty-alpn-openjdk8-client</artifactId>
            <scope>test</scope>
        </dependency>

        <dependency>
            <groupId>io.dropwizard</groupId>
            <artifactId>dropwizard-testing</artifactId>
            <scope>test</scope>
        </dependency>

        <dependency>
            <groupId>org.eclipse.jetty</groupId>
            <artifactId>jetty-alpn-conscrypt-server</artifactId>
            <scope>test</scope>
        </dependency>

        <dependency>
            <groupId>org.eclipse.jetty</groupId>
            <artifactId>jetty-alpn-openjdk8-server</artifactId>
        </dependency>

        <!-- This needs to be on your JVM's bootpath for HTTP2 to work with ALPN protocol
            -Xbootclasspath/p:/<path_to_alpn_boot_jar>/alpn-boot-${alpn-boot.version}.jar
             The correct version depends on the specific JVM version.
             Consult http://www.eclipse.org/jetty/documentation/current/alpn-chapter.html for the reference -->
        <dependency>
            <groupId>org.mortbay.jetty.alpn</groupId>
            <artifactId>alpn-boot</artifactId>
            <version>${alpn-boot.version}</version>
            <scope>test</scope>
        </dependency>
    </dependencies>

    <!-- Profiles for selecting the correct version of alpn-boot for each JDK.
         see http://www.eclipse.org/jetty/documentation/current/alpn-chapter.html for reference. -->
    <profiles>
        <profile>
            <id>jdk9+</id>
            <activation>
                <jdk>[9,)</jdk>
            </activation>
            <properties>
                <argLine>-Duser.language=en -Duser.region=US</argLine>
            </properties>
            <dependencies>
                <dependency>
                    <groupId>org.eclipse.jetty</groupId>
                    <artifactId>jetty-alpn-java-server</artifactId>
                </dependency>
                <dependency>
                    <groupId>org.eclipse.jetty</groupId>
                    <artifactId>jetty-alpn-java-client</artifactId>
                </dependency>
            </dependencies>
        </profile>
        <profile>
            <id>jdk-1.8.0</id>
            <activation>
                <property>
                    <name>java.version</name>
                    <value>1.8.0</value>
                </property>
            </activation>
            <properties>
                <alpn-boot.version>8.1.0.v20141016</alpn-boot.version>
            </properties>
        </profile>
        <profile>
            <id>jdk-1.8.0_05</id>
            <activation>
                <property>
                    <name>java.version</name>
                    <value>1.8.0_05</value>
                </property>
            </activation>
            <properties>
                <alpn-boot.version>8.1.0.v20141016</alpn-boot.version>
            </properties>
        </profile>
        <profile>
            <id>jdk-1.8.0_11</id>
            <activation>
                <property>
                    <name>java.version</name>
                    <value>1.8.0_11</value>
                </property>
            </activation>
            <properties>
                <alpn-boot.version>8.1.0.v20141016</alpn-boot.version>
            </properties>
        </profile>
        <profile>
            <id>jdk-1.8.0_20</id>
            <activation>
                <property>
                    <name>java.version</name>
                    <value>1.8.0_20</value>
                </property>
            </activation>
            <properties>
                <alpn-boot.version>8.1.0.v20141016</alpn-boot.version>
            </properties>
        </profile>
        <profile>
            <id>jdk-1.8.0_25</id>
            <activation>
                <property>
                    <name>java.version</name>
                    <value>1.8.0_25</value>
                </property>
            </activation>
            <properties>
                <alpn-boot.version>8.1.2.v20141202</alpn-boot.version>
            </properties>
        </profile>
        <profile>
            <id>jdk-1.8.0_31</id>
            <activation>
                <property>
                    <name>java.version</name>
                    <value>1.8.0_31</value>
                </property>
            </activation>
            <properties>
                <alpn-boot.version>8.1.3.v20150130</alpn-boot.version>
            </properties>
        </profile>
        <profile>
            <id>jdk-1.8.0_40</id>
            <activation>
                <property>
                    <name>java.version</name>
                    <value>1.8.0_40</value>
                </property>
            </activation>
            <properties>
                <alpn-boot.version>8.1.3.v20150130</alpn-boot.version>
            </properties>
        </profile>
        <profile>
            <id>jdk-1.8.0_45</id>
            <activation>
                <property>
                    <name>java.version</name>
                    <value>1.8.0_45</value>
                </property>
            </activation>
            <properties>
                <alpn-boot.version>8.1.3.v20150130</alpn-boot.version>
            </properties>
        </profile>
        <profile>
            <id>jdk-1.8.0_51</id>
            <activation>
                <property>
                    <name>java.version</name>
                    <value>1.8.0_51</value>
                </property>
            </activation>
            <properties>
                <alpn-boot.version>8.1.4.v20150727</alpn-boot.version>
            </properties>
        </profile>
        <profile>
            <id>jdk-1.8.0_60</id>
            <activation>
                <property>
                    <name>java.version</name>
                    <value>1.8.0_60</value>
                </property>
            </activation>
            <properties>
                <alpn-boot.version>8.1.5.v20150921</alpn-boot.version>
            </properties>
        </profile>
        <profile>
            <id>jdk-1.8.0_65</id>
            <activation>
                <property>
                    <name>java.version</name>
                    <value>1.8.0_65</value>
                </property>
            </activation>
            <properties>
                <alpn-boot.version>8.1.6.v20151105</alpn-boot.version>
            </properties>
        </profile>
        <profile>
            <id>jdk-1.8.0_66</id>
            <activation>
                <property>
                    <name>java.version</name>
                    <value>1.8.0_66</value>
                </property>
            </activation>
            <properties>
                <alpn-boot.version>8.1.6.v20151105</alpn-boot.version>
            </properties>
        </profile>
        <profile>
            <id>jdk-1.8.0_71</id>
            <activation>
                <property>
                    <name>java.version</name>
                    <value>1.8.0_71</value>
                </property>
            </activation>
            <properties>
                <alpn-boot.version>8.1.7.v20160121</alpn-boot.version>
            </properties>
        </profile>
        <profile>
            <id>jdk-1.8.0_72</id>
            <activation>
                <property>
                    <name>java.version</name>
                    <value>1.8.0_72</value>
                </property>
            </activation>
            <properties>
                <alpn-boot.version>8.1.7.v20160121</alpn-boot.version>
            </properties>
        </profile>
        <profile>
            <id>jdk-1.8.0_73</id>
            <activation>
                <property>
                    <name>java.version</name>
                    <value>1.8.0_73</value>
                </property>
            </activation>
            <properties>
                <alpn-boot.version>8.1.7.v20160121</alpn-boot.version>
            </properties>
        </profile>
        <profile>
            <id>jdk-1.8.0_74</id>
            <activation>
                <property>
                    <name>java.version</name>
                    <value>1.8.0_74</value>
                </property>
            </activation>
            <properties>
                <alpn-boot.version>8.1.7.v20160121</alpn-boot.version>
            </properties>
        </profile>
        <profile>
            <id>jdk-1.8.0_77</id>
            <activation>
                <property>
                    <name>java.version</name>
                    <value>1.8.0_77</value>
                </property>
            </activation>
            <properties>
                <alpn-boot.version>8.1.7.v20160121</alpn-boot.version>
            </properties>
        </profile>
        <profile>
            <id>jdk-1.8.0_91</id>
            <activation>
                <property>
                    <name>java.version</name>
                    <value>1.8.0_91</value>
                </property>
            </activation>
            <properties>
                <alpn-boot.version>8.1.7.v20160121</alpn-boot.version>
            </properties>
        </profile>
        <profile>
            <id>jdk-1.8.0_92</id>
            <activation>
                <property>
                    <name>java.version</name>
                    <value>1.8.0_92</value>
                </property>
            </activation>
            <properties>
                <alpn-boot.version>8.1.8.v20160420</alpn-boot.version>
            </properties>
        </profile>
        <profile>
            <id>jdk-1.8.0_101</id>
            <activation>
                <property>
                    <name>java.version</name>
                    <value>1.8.0_101</value>
                </property>
            </activation>
            <properties>
                <alpn-boot.version>8.1.9.v20160720</alpn-boot.version>
            </properties>
        </profile>
        <profile>
            <id>jdk-1.8.0_102</id>
            <activation>
                <property>
                    <name>java.version</name>
                    <value>1.8.0_102</value>
                </property>
            </activation>
            <properties>
                <alpn-boot.version>8.1.9.v20160720</alpn-boot.version>
            </properties>
        </profile>
        <profile>
            <id>jdk-1.8.0_111</id>
            <activation>
                <property>
                    <name>java.version</name>
                    <value>1.8.0_111</value>
                </property>
            </activation>
            <properties>
                <alpn-boot.version>8.1.9.v20160720</alpn-boot.version>
            </properties>
        </profile>
        <profile>
            <id>jdk-1.8.0_112</id>
            <activation>
                <property>
                    <name>java.version</name>
                    <value>1.8.0_112</value>
                </property>
            </activation>
            <properties>
                <alpn-boot.version>8.1.10.v20161026</alpn-boot.version>
            </properties>
        </profile>
        <profile>
            <id>jdk-1.8.0_121</id>
            <activation>
                <property>
                    <name>java.version</name>
                    <value>1.8.0_121</value>
                </property>
            </activation>
            <properties>
                <alpn-boot.version>8.1.11.v20170118</alpn-boot.version>
            </properties>
        </profile>
        <profile>
            <id>jdk-1.8.0_131</id>
            <activation>
                <property>
                    <name>java.version</name>
                    <value>1.8.0_131</value>
                </property>
            </activation>
            <properties>
                <alpn-boot.version>8.1.11.v20170118</alpn-boot.version>
            </properties>
        </profile>
        <profile>
            <id>jdk-1.8.0_141</id>
            <activation>
                <property>
                    <name>java.version</name>
                    <value>1.8.0_141</value>
                </property>
            </activation>
            <properties>
                <alpn-boot.version>8.1.11.v20170118</alpn-boot.version>
            </properties>
        </profile>
        <profile>
            <id>jdk-1.8.0_144</id>
            <activation>
                <property>
                    <name>java.version</name>
                    <value>1.8.0_144</value>
                </property>
            </activation>
            <properties>
                <alpn-boot.version>8.1.11.v20170118</alpn-boot.version>
            </properties>
        </profile>
        <profile>
            <id>jdk-1.8.0_151</id>
            <activation>
                <property>
                    <name>java.version</name>
                    <value>1.8.0_151</value>
                </property>
            </activation>
            <properties>
                <alpn-boot.version>8.1.11.v20170118</alpn-boot.version>
            </properties>
        </profile>
        <profile>
            <id>jdk-1.8.0_152</id>
            <activation>
                <property>
                    <name>java.version</name>
                    <value>1.8.0_152</value>
                </property>
            </activation>
            <properties>
                <alpn-boot.version>8.1.11.v20170118</alpn-boot.version>
            </properties>
        </profile>
        <profile>
            <id>jdk-1.8.0_161</id>
            <activation>
                <property>
                    <name>java.version</name>
                    <value>1.8.0_161</value>
                </property>
            </activation>
            <properties>
                <alpn-boot.version>8.1.12.v20180117</alpn-boot.version>
            </properties>
        </profile>
        <profile>
            <id>jdk-1.8.0_162</id>
            <activation>
                <property>
                    <name>java.version</name>
                    <value>1.8.0_162</value>
                </property>
            </activation>
            <properties>
                <alpn-boot.version>8.1.12.v20180117</alpn-boot.version>
            </properties>
        </profile>
        <profile>
            <id>jdk-1.8.0_171</id>
            <activation>
                <property>
                    <name>java.version</name>
                    <value>1.8.0_171</value>
                </property>
            </activation>
            <properties>
                <alpn-boot.version>8.1.12.v20180117</alpn-boot.version>
            </properties>
        </profile>
        <profile>
            <id>jdk-1.8.0_172</id>
            <activation>
                <property>
                    <name>java.version</name>
                    <value>1.8.0_172</value>
                </property>
            </activation>
            <properties>
                <alpn-boot.version>8.1.12.v20180117</alpn-boot.version>
            </properties>
        </profile>
        <profile>
            <id>jdk-1.8.0_181</id>
            <activation>
                <property>
                    <name>java.version</name>
                    <value>1.8.0_181</value>
                </property>
            </activation>
            <properties>
                <alpn-boot.version>8.1.12.v20180117</alpn-boot.version>
            </properties>
        </profile>
        <profile>
            <id>jdk-1.8.0_191</id>
            <activation>
                <property>
                    <name>java.version</name>
                    <value>1.8.0_191</value>
                </property>
            </activation>
            <properties>
                <alpn-boot.version>8.1.13.v20181017</alpn-boot.version>
            </properties>
        </profile>
        <profile>
            <id>jdk-1.8.0_192</id>
            <activation>
                <property>
                    <name>java.version</name>
                    <value>1.8.0_192</value>
                </property>
            </activation>
            <properties>
                <alpn-boot.version>8.1.13.v20181017</alpn-boot.version>
            </properties>
        </profile>
    </profiles>
</project>
