<?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>com.atlassian.pom</groupId>
        <artifactId>public-pom</artifactId>
        <version>5.0.29</version>
    </parent>

    <groupId>com.atlassian.applinks</groupId>
    <artifactId>applinks-parent</artifactId>
    <version>9.0.2</version>
    <packaging>pom</packaging>

    <name>AppLinks - Parent POM</name>

    <modules>
        <module>applinks-api</module>
        <module>applinks-spi</module>
        <module>applinks-host</module>
        <module>common</module>
        <module>applinks-plugin</module>
        <module>applinks-basicauth-plugin</module>
        <module>applinks-trustedapps-plugin</module>
        <module>applinks-oauth-plugin</module>
        <module>applinks-cors-plugin</module>
        <module>applinks-pageobjects</module>
        <module>test-common</module>
        <module>func-test</module>
        <module>applinks-tests</module>
        <module>sonar-aggregator</module>
    </modules>

    <properties>
        <amps.version>8.3.3</amps.version>
        <applinks.api.reference.version>5.0.5</applinks.api.reference.version>
        <applinks.api.version>3.0</applinks.api.version>
        <atlassian.activeobjects.version>3.1.11</atlassian.activeobjects.version>
        <atlassian.analytics.version>3.21</atlassian.analytics.version>
        <atlassian.annotations.version>2.2.2</atlassian.annotations.version>
        <atlassian.aui.pageobjects.version>1.0.0</atlassian.aui.pageobjects.version>
        <atlassian.aui.version>${atlassian.aui80.version}</atlassian.aui.version>
        <!-- Minimum supported AUI version is 8.0.0. Currently only Jira, BBS, Refapp support AUI8+ -->
        <atlassian.aui6x.version>6.1.3</atlassian.aui6x.version>
        <atlassian.aui80.version>8.0.0</atlassian.aui80.version>
        <atlassian.aui85.version>8.5.3</atlassian.aui85.version>
        <atlassian.aui90.version>9.0.6</atlassian.aui90.version>
        <atlassian.beehive.version>2.0.2</atlassian.beehive.version>
        <atlassian.cache.version>4.0.3</atlassian.cache.version>
        <atlassian.event.version>4.0.4</atlassian.event.version>
        <atlassian.fugue.version>4.7.2</atlassian.fugue.version>
        <atlassian.healthcheck.version>6.0.2</atlassian.healthcheck.version>
        <atlassian.http.version>2.0.8</atlassian.http.version>
        <atlassian.httpclient.version>2.0.5</atlassian.httpclient.version>
        <atlassian.javaconfig.version>0.3.1</atlassian.javaconfig.version>
        <atlassian.jslibs.version>0.5.0</atlassian.jslibs.version>
        <atlassian.json.version>0.9</atlassian.json.version>
        <atlassian.marshalling.version>1.0.2</atlassian.marshalling.version>
        <atlassian.oauth.version>4.5.0</atlassian.oauth.version>
        <atlassian.oauth2.version>2.1.0</atlassian.oauth2.version>
        <atlassian.plugins.rest.version>7.0.0</atlassian.plugins.rest.version>
        <atlassian.plugins.version>7.0.0</atlassian.plugins.version>
        <atlassian.plugins.webfragment.version>5.0.0</atlassian.plugins.webfragment.version>
        <atlassian.plugins.webresource.version>4.1.8</atlassian.plugins.webresource.version>
        <atlassian.sal.version>4.0.2</atlassian.sal.version>
        <atlassian.scheduler.caesium.version>3.0.4</atlassian.scheduler.caesium.version>
        <atlassian.scheduler.version>3.0.1</atlassian.scheduler.version>
        <atlassian.soy.version>5.0.3</atlassian.soy.version>
        <atlassian.templaterenderer.version>4.0.3</atlassian.templaterenderer.version>
        <atlassian.tenancy.version>3.0.1</atlassian.tenancy.version>
        <atlassian.trustedapps.version>5.0.4</atlassian.trustedapps.version>
        <atlassian.user.version>3.1.12</atlassian.user.version>
        <atlassian.util.concurrent.version>4.0.1</atlassian.util.concurrent.version>
        <atlassian.vcache.version>1.12.2</atlassian.vcache.version>
        <atlassian.velocity.htmlsafe.version>3.1.2</atlassian.velocity.htmlsafe.version>
        <atlassian.webdriver.version>3.1.0-confluence</atlassian.webdriver.version>
        <bamboo.java.home>${java.home}</bamboo.java.home>
        <bitbucket.java.home>${java.home}</bitbucket.java.home>
        <commons.logging.version>1.2</commons.logging.version>
        <confluence.java.home>${java.home}</confluence.java.home>
        <confluence.pageobjects.version>10.11.2</confluence.pageobjects.version>
        <confluence.version>7.12.5</confluence.version>
        <darkfeatures.rest.version>0.9.13</darkfeatures.rest.version>
        <dev.mode>true</dev.mode>
        <failOnMilestoneOrReleaseCandidateDeps>false</failOnMilestoneOrReleaseCandidateDeps>
        <fasterxml.jackson.version>2.12.6</fasterxml.jackson.version>
        <fecru.java.home>${java.home}</fecru.java.home>
        <felix.version>4.0.3</felix.version>
        <forked.process.timeout>30</forked.process.timeout>
        <gson.version>2.8.9</gson.version>
        <htmlsafe.osgi.import.version>1.4</htmlsafe.osgi.import.version>
        <io.rest.assured.version>4.1.1</io.rest.assured.version>
        <jacoco.report.file>sonar-aggregator/target/site/jacoco-aggregate/jacoco.xml</jacoco.report.file>
        <jaxb.version>2.3.0</jaxb.version>
        <jetty.version>9.4.44.v20210927</jetty.version>
        <jira.java.home>${java.home}</jira.java.home>
        <jira.software.version>8.3.0</jira.software.version>
        <jira.version>8.15.0</jira.version>
        <junit.jupiter.version>5.7.2</junit.jupiter.version>
        <junit.platform.version>1.7.2</junit.platform.version>
        <org.json.version>20080701</org.json.version>
        <platform.version>6.0.0-m08</platform.version>
        <product.jvmArgs />
        <quickreload.version>1.30.5</quickreload.version>
        <refapp.java.home>${java.home}</refapp.java.home>
        <refapp.version>5.0.7</refapp.version>
        <reflections.version>0.9.11</reflections.version>
        <rest.assured.version>2.4.1</rest.assured.version>
        <skip.integration.tests>true</skip.integration.tests>
        <skip.unit.tests>false</skip.unit.tests>
        <skipNpmInstall>false</skipNpmInstall>
        <sonar.coverage.exclusions>applinks-pageobjects/**,
            applinks-tests/**,
            func-test/**,
            test-common/**</sonar.coverage.exclusions>
        <spring.core.version>5.3.14</spring.core.version>
        <spring.version>5.0.20.RELEASE</spring.version>
        <spring.web.version>5.1.20.RELEASE</spring.web.version>
        <swagger.annotations.version>1.5.24</swagger.annotations.version>
    </properties>

    <dependencyManagement>
        <dependencies>

            <!-- Applinks dependencies -->
            <dependency>
                <groupId>${project.groupId}</groupId>
                <artifactId>applinks-api</artifactId>
                <version>${project.version}</version>
            </dependency>
            <dependency>
                <groupId>${project.groupId}</groupId>
                <artifactId>applinks-spi</artifactId>
                <version>${project.version}</version>
            </dependency>
            <dependency>
                <groupId>${project.groupId}</groupId>
                <artifactId>applinks-host</artifactId>
                <version>${project.version}</version>
            </dependency>
            <dependency>
                <groupId>${project.groupId}</groupId>
                <artifactId>applinks-common</artifactId>
                <version>${project.version}</version>
            </dependency>
            <dependency>
                <groupId>${project.groupId}</groupId>
                <artifactId>applinks-plugin</artifactId>
                <version>${project.version}</version>
            </dependency>
            <dependency>
                <groupId>${project.groupId}</groupId>
                <artifactId>applinks-oauth-plugin</artifactId>
                <version>${project.version}</version>
            </dependency>
            <dependency>
                <groupId>${project.groupId}</groupId>
                <artifactId>applinks-basicauth-plugin</artifactId>
                <version>${project.version}</version>
            </dependency>
            <dependency>
                <groupId>${project.groupId}</groupId>
                <artifactId>applinks-cors-plugin</artifactId>
                <version>${project.version}</version>
            </dependency>
            <dependency>
                <groupId>${project.groupId}</groupId>
                <artifactId>applinks-trustedapps-plugin</artifactId>
                <version>${project.version}</version>
            </dependency>

            <!-- Atlassian dependencies -->
            <dependency>
                <groupId>com.atlassian.analytics</groupId>
                <artifactId>analytics-api</artifactId>
                <version>${atlassian.analytics.version}</version>
            </dependency>
            <dependency>
                <groupId>com.atlassian.plugin</groupId>
                <artifactId>jslibs</artifactId>
                <version>${atlassian.jslibs.version}</version>
            </dependency>
            <dependency>
                <groupId>com.atlassian.plugins</groupId>
                <artifactId>atlassian-plugins-osgi-javaconfig</artifactId>
                <version>${atlassian.javaconfig.version}</version>
            </dependency>
            <dependency>
                <groupId>com.atlassian</groupId>
                <artifactId>atlassian-localhost</artifactId>
                <version>1.1.1</version>
            </dependency>
            <dependency>
                <groupId>com.atlassian.json</groupId>
                <artifactId>atlassian-json-api</artifactId>
                <version>${atlassian.json.version}</version>
            </dependency>
            <dependency>
                <groupId>com.atlassian.user</groupId>
                <artifactId>atlassian-user</artifactId>
                <version>${atlassian.user.version}</version>
            </dependency>
            <!-- This is here because of legacy Confluence action for space links. Entity links will die at some
                 point, and then this will disappear too.-->
            <dependency>
                <groupId>com.atlassian.confluence</groupId>
                <artifactId>confluence</artifactId>
                <version>${confluence.version}</version>
                <exclusions>
                    <!-- In order to be able to use slf4j-nop for tests, this must be excluded -->
                    <exclusion>
                        <groupId>org.jdom</groupId>
                        <artifactId>jdom</artifactId>
                    </exclusion>
                    <exclusion>
                        <groupId>org.slf4j</groupId>
                        <artifactId>slf4j-log4j12</artifactId>
                    </exclusion>
                    <exclusion>
                        <groupId>com.octo.captcha</groupId>
                        <artifactId>jcaptcha-all</artifactId>
                    </exclusion>
                    <exclusion>
                        <groupId>com.atlassian.sal</groupId>
                        <artifactId>sal-spi</artifactId>
                    </exclusion>
                    <exclusion>
                        <groupId>org.jdom</groupId>
                        <artifactId>jdom</artifactId>
                    </exclusion>
                </exclusions>
            </dependency>
            <dependency>
                <groupId>com.atlassian.refapp</groupId>
                <artifactId>atlassian-refapp-sal-plugin</artifactId>
                <version>${refapp.version}</version>
                <exclusions>
                    <exclusion>
                        <groupId>com.atlassian.sal</groupId>
                        <artifactId>sal-api</artifactId>
                    </exclusion>
                    <exclusion>
                        <groupId>com.atlassian.sal</groupId>
                        <artifactId>sal-spi</artifactId>
                    </exclusion>
                    <exclusion>
                        <groupId>com.atlassian.sal</groupId>
                        <artifactId>sal-core</artifactId>
                    </exclusion>
                </exclusions>
            </dependency>
            <dependency>
                <groupId>com.atlassian.jira</groupId>
                <artifactId>jira-api</artifactId>
                <version>${jira.version}</version>
            </dependency>

            <!-- Javax dependencies -->
            <dependency>
                <groupId>javax.inject</groupId>
                <artifactId>javax.inject</artifactId>
                <version>1</version>
            </dependency>
            <dependency>
                <groupId>javax.annotation</groupId>
                <artifactId>jsr250-api</artifactId>
                <version>1.0</version>
            </dependency>

            <!-- 3rd party dependencies -->
            <dependency>
                <groupId>log4j</groupId>
                <artifactId>log4j</artifactId>
                <version>1.2.17-atlassian-15</version>
            </dependency>
            <dependency>
                <groupId>commons-io</groupId>
                <artifactId>commons-io</artifactId>
                <version>2.8.0</version>
            </dependency>
            <dependency>
                <groupId>commons-logging</groupId>
                <artifactId>commons-logging</artifactId>
                <version>${commons.logging.version}</version>
            </dependency>
            <dependency>
                <groupId>org.json</groupId>
                <artifactId>json</artifactId>
                <version>${org.json.version}</version>
            </dependency>
            <dependency>
                <groupId>org.mortbay.jetty</groupId>
                <artifactId>jetty</artifactId>
                <version>6.1.26</version>
                <exclusions>
                    <exclusion>
                        <groupId>org.mortbay.jetty</groupId>
                        <artifactId>servlet-api</artifactId>
                    </exclusion>
                </exclusions>
            </dependency>
            <dependency>
                <groupId>org.codehaus.jettison</groupId>
                <artifactId>jettison</artifactId>
                <version>1.3.8</version>
            </dependency>
            <dependency>
                <groupId>org.springframework</groupId>
                <artifactId>spring-web</artifactId>
                <version>${spring.web.version}</version>
            </dependency>
            <dependency>
                <groupId>org.springframework</groupId>
                <artifactId>spring-webmvc</artifactId>
                <version>${spring.web.version}</version>
            </dependency>
            <dependency>
                <groupId>net.oauth.core</groupId>
                <artifactId>oauth</artifactId>
                <version>20090617</version>
            </dependency>
            <dependency>
                <groupId>org.apache.felix</groupId>
                <artifactId>org.apache.felix.framework</artifactId>
                <version>${felix.version}</version>
            </dependency>
            <dependency>
                <groupId>org.springframework</groupId>
                <artifactId>spring-beans</artifactId>
                <version>${spring.version}</version>
            </dependency>
            <dependency>
                <groupId>org.springframework</groupId>
                <artifactId>spring-context</artifactId>
                <version>${spring.version}</version>
            </dependency>
            <dependency>
                <groupId>org.springframework</groupId>
                <artifactId>spring-core</artifactId>
                <version>${spring.core.version}</version>
            </dependency>

            <dependency>
                <groupId>xerces</groupId>
                <artifactId>xercesImpl</artifactId>
                <version>2.12.1</version>
            </dependency>
            <dependency>
                <groupId>org.eclipse.jetty</groupId>
                <artifactId>jetty-util</artifactId>
                <version>${jetty.version}</version>
            </dependency>
            <dependency>
                <groupId>org.eclipse.jetty</groupId>
                <artifactId>jetty-io</artifactId>
                <version>${jetty.version}</version>
            </dependency>
            <dependency>
                <groupId>net.sourceforge.htmlunit</groupId>
                <artifactId>htmlunit</artifactId>
                <version>2.54.0</version>
            </dependency>
            <dependency>
                <groupId>dom4j</groupId>
                <artifactId>dom4j</artifactId>
                <version>1.6.1-atlassian-3</version>
            </dependency>

            <!-- Test dependencies - Applinks -->
            <dependency>
                <groupId>com.atlassian.applinks</groupId>
                <artifactId>applinks-test-common</artifactId>
                <version>${project.version}</version>
            </dependency>
            <dependency>
                <groupId>com.atlassian.applinks</groupId>
                <artifactId>applinks-common</artifactId>
                <version>${project.version}</version>
                <type>test-jar</type>
            </dependency>
            <dependency>
                <groupId>com.atlassian.applinks</groupId>
                <artifactId>applinks-func-test-shared</artifactId>
                <version>${project.version}</version>
            </dependency>
            <dependency>
                <groupId>com.atlassian.applinks</groupId>
                <artifactId>applinks-func-test-common</artifactId>
                <version>${project.version}</version>
            </dependency>
            <dependency>
                <groupId>com.atlassian.applinks</groupId>
                <artifactId>applinks-func-test-rest-common</artifactId>
                <version>${project.version}</version>
            </dependency>
            <dependency>
                <groupId>com.atlassian.applinks</groupId>
                <artifactId>applinks-func-test-setup</artifactId>
                <version>${project.version}</version>
            </dependency>
            <dependency>
                <groupId>com.atlassian.applinks</groupId>
                <artifactId>applinks-pageobjects</artifactId>
                <version>${project.version}</version>
            </dependency>

            <!-- Test dependencies - Atlassian -->
            <dependency>
                <groupId>com.atlassian.plugins</groupId>
                <artifactId>atlassian-dark-features-rest-plugin</artifactId>
                <version>${darkfeatures.rest.version}</version>
            </dependency>
            <dependency>
                <groupId>com.atlassian.plugins</groupId>
                <artifactId>atlassian-dark-features-test-utils</artifactId>
                <version>${darkfeatures.rest.version}</version>
            </dependency>
            <dependency>
                <groupId>com.atlassian.selenium</groupId>
                <artifactId>atlassian-pageobjects-api</artifactId>
                <version>${atlassian.webdriver.version}</version>
                <exclusions>
                    <exclusion>
                        <groupId>com.google.collections</groupId>
                        <artifactId>google-collections</artifactId>
                    </exclusion>
                    <exclusion>
                        <groupId>junit</groupId>
                        <artifactId>junit-dep</artifactId>
                    </exclusion>
                </exclusions>
            </dependency>
            <dependency>
                <groupId>com.atlassian.selenium</groupId>
                <artifactId>atlassian-pageobjects-elements</artifactId>
                <version>${atlassian.webdriver.version}</version>
                <exclusions>
                    <exclusion>
                        <groupId>com.google.collections</groupId>
                        <artifactId>google-collections</artifactId>
                    </exclusion>
                    <exclusion>
                        <groupId>junit</groupId>
                        <artifactId>junit-dep</artifactId>
                    </exclusion>
                    <exclusion>
                        <groupId>io.netty</groupId>
                        <artifactId>netty</artifactId>
                    </exclusion>
                </exclusions>
            </dependency>
            <dependency>
                <groupId>com.atlassian.confluence.plugins</groupId>
                <artifactId>confluence-functestrpc-plugin</artifactId>
                <version>${confluence.version}</version>
            </dependency>
            <dependency>
                <groupId>com.atlassian.confluence</groupId>
                <artifactId>confluence-webdriver-pageobjects</artifactId>
                <version>${confluence.pageobjects.version}</version>
                <exclusions>
                    <exclusion>
                        <groupId>com.atlassian.selenium</groupId>
                        <artifactId>atlassian-webdriver-core</artifactId>
                    </exclusion>
                </exclusions>
            </dependency>
            <dependency>
                <groupId>com.atlassian.aui</groupId>
                <artifactId>aui-pageobjects</artifactId>
                <version>${atlassian.aui.pageobjects.version}</version>
            </dependency>

            <!-- Test dependencies - 3rd party -->
            <dependency>
                <groupId>com.github.stefanbirkner</groupId>
                <artifactId>system-rules</artifactId>
                <version>1.5.0</version>
            </dependency>
            <dependency>
                <groupId>org.reflections</groupId>
                <artifactId>reflections</artifactId>
                <version>${reflections.version}</version>
            </dependency>
            <dependency>
                <groupId>com.jayway.restassured</groupId>
                <artifactId>rest-assured</artifactId>
                <version>${rest.assured.version}</version>
            </dependency>
            <dependency>
                <groupId>com.google.code.gson</groupId>
                <artifactId>gson</artifactId>
                <version>${gson.version}</version>
            </dependency>
            <!--  for testing for API breaking changes  -->
            <dependency>
                <groupId>com.marvelution.jira.plugins</groupId>
                <artifactId>jira-jenkins-plugin</artifactId>
                <version>1.5.5</version>
            </dependency>

            <dependency>
                <groupId>com.fasterxml.jackson.core</groupId>
                <artifactId>jackson-databind</artifactId>
                <version>${fasterxml.jackson.version}</version>
            </dependency>
            <dependency>
                <groupId>com.fasterxml.jackson.core</groupId>
                <artifactId>jackson-core</artifactId>
                <version>${fasterxml.jackson.version}</version>
            </dependency>
            <dependency>
                <groupId>com.fasterxml.jackson.module</groupId>
                <artifactId>jackson-module-jaxb-annotations</artifactId>
                <version>${fasterxml.jackson.version}</version>
            </dependency>
            <dependency>
                <groupId>com.fasterxml.jackson.core</groupId>
                <artifactId>jackson-annotations</artifactId>
                <version>${fasterxml.jackson.version}</version>
            </dependency>

            <dependency>
                <groupId>io.swagger</groupId>
                <artifactId>swagger-annotations</artifactId>
                <version>${swagger.annotations.version}</version>
            </dependency>
            <dependency>
                <groupId>io.swagger</groupId>
                <artifactId>swagger-core</artifactId>
                <version>${swagger.annotations.version}</version>
            </dependency>
            <dependency>
                <groupId>javax.xml.bind</groupId>
                <artifactId>jaxb-api</artifactId>
                <version>2.3.1</version>
            </dependency>
            <dependency>
                <groupId>com.sun.xml.bind</groupId>
                <artifactId>jaxb-core</artifactId>
                <version>2.3.0.1</version>
            </dependency>
            <dependency>
                <groupId>com.sun.xml.bind</groupId>
                <artifactId>jaxb-impl</artifactId>
                <version>2.3.5</version>
            </dependency>
            <!-- Platform dependencies -->
            <dependency>
                <groupId>com.atlassian.activeobjects</groupId>
                <artifactId>activeobjects-dbex</artifactId>
                <version>${atlassian.activeobjects.version}</version>
            </dependency>
            <dependency>
                <groupId>com.atlassian.activeobjects</groupId>
                <artifactId>activeobjects-spi</artifactId>
                <version>${atlassian.activeobjects.version}</version>
            </dependency>
            <dependency>
                <groupId>com.atlassian.annotations</groupId>
                <artifactId>atlassian-annotations</artifactId>
                <version>${atlassian.annotations.version}</version>
            </dependency>
            <dependency>
                <groupId>com.atlassian.beehive</groupId>
                <artifactId>beehive-api</artifactId>
                <version>${atlassian.beehive.version}</version>
            </dependency>
            <dependency>
                <groupId>com.atlassian.beehive</groupId>
                <artifactId>beehive-core</artifactId>
                <version>${atlassian.beehive.version}</version>
            </dependency>
            <dependency>
                <groupId>com.atlassian.beehive</groupId>
                <artifactId>beehive-db</artifactId>
                <version>${atlassian.beehive.version}</version>
            </dependency>
            <dependency>
                <groupId>com.atlassian.beehive</groupId>
                <artifactId>beehive-single-node</artifactId>
                <version>${atlassian.beehive.version}</version>
            </dependency>
            <dependency>
                <groupId>com.atlassian.cache</groupId>
                <artifactId>atlassian-cache-api</artifactId>
                <version>${atlassian.cache.version}</version>
            </dependency>
            <dependency>
                <groupId>com.atlassian.cache</groupId>
                <artifactId>atlassian-cache-memory</artifactId>
                <version>${atlassian.cache.version}</version>
            </dependency>
            <dependency>
                <groupId>com.atlassian.event</groupId>
                <artifactId>atlassian-event</artifactId>
                <version>${atlassian.event.version}</version>
            </dependency>
            <dependency>
                <groupId>com.atlassian.healthcheck</groupId>
                <artifactId>atlassian-healthcheck-spi</artifactId>
                <version>${atlassian.healthcheck.version}</version>
            </dependency>
            <dependency>
                <groupId>com.atlassian.http</groupId>
                <artifactId>atlassian-http</artifactId>
                <version>${atlassian.http.version}</version>
            </dependency>
            <dependency>
                <groupId>com.atlassian.httpclient</groupId>
                <artifactId>atlassian-httpclient-api</artifactId>
                <version>${atlassian.httpclient.version}</version>
            </dependency>
            <dependency>
                <groupId>com.atlassian.httpclient</groupId>
                <artifactId>atlassian-httpclient-plugin</artifactId>
                <version>${atlassian.httpclient.version}</version>
            </dependency>
            <dependency>
                <groupId>com.atlassian.marshalling</groupId>
                <artifactId>atlassian-marshalling-api</artifactId>
                <version>${atlassian.marshalling.version}</version>
            </dependency>
            <dependency>
                <groupId>com.atlassian.oauth</groupId>
                <artifactId>atlassian-oauth-api</artifactId>
                <version>${atlassian.oauth.version}</version>
            </dependency>
            <dependency>
                <groupId>com.atlassian.oauth</groupId>
                <artifactId>atlassian-oauth-consumer-spi</artifactId>
                <version>${atlassian.oauth.version}</version>
            </dependency>
            <dependency>
                <groupId>com.atlassian.oauth</groupId>
                <artifactId>atlassian-oauth-service-provider-spi</artifactId>
                <version>${atlassian.oauth.version}</version>
            </dependency>
            <dependency>
                <groupId>com.atlassian.plugins.rest</groupId>
                <artifactId>atlassian-rest-common</artifactId>
                <version>${atlassian.plugins.rest.version}</version>
            </dependency>
            <dependency>
                <groupId>com.atlassian.plugins.rest</groupId>
                <artifactId>atlassian-rest-doclet</artifactId>
                <version>${atlassian.plugins.rest.version}</version>
            </dependency>
            <dependency>
                <groupId>com.atlassian.plugins.rest</groupId>
                <artifactId>atlassian-rest-module</artifactId>
                <version>${atlassian.plugins.rest.version}</version>
            </dependency>
            <dependency>
                <groupId>com.atlassian.plugins.rest</groupId>
                <artifactId>com.atlassian.jersey-library</artifactId>
                <version>${atlassian.plugins.rest.version}</version>
            </dependency>
            <dependency>
                <groupId>com.atlassian.plugins.test</groupId>
                <artifactId>atlassian-plugins-test</artifactId>
                <version>${atlassian.plugins.version}</version>
            </dependency>
            <dependency>
                <groupId>com.atlassian.plugins</groupId>
                <artifactId>atlassian-plugins-api</artifactId>
                <version>${atlassian.plugins.version}</version>
            </dependency>
            <dependency>
                <groupId>com.atlassian.plugins</groupId>
                <artifactId>atlassian-plugins-core</artifactId>
                <version>${atlassian.plugins.version}</version>
            </dependency>
            <dependency>
                <groupId>com.atlassian.plugins</groupId>
                <artifactId>atlassian-plugins-eventlistener</artifactId>
                <version>${atlassian.plugins.version}</version>
            </dependency>
            <dependency>
                <groupId>com.atlassian.plugins</groupId>
                <artifactId>atlassian-plugins-osgi</artifactId>
                <version>${atlassian.plugins.version}</version>
            </dependency>
            <dependency>
                <groupId>com.atlassian.plugins</groupId>
                <artifactId>atlassian-plugins-schema</artifactId>
                <version>${atlassian.plugins.version}</version>
            </dependency>
            <dependency>
                <groupId>com.atlassian.plugins</groupId>
                <artifactId>atlassian-plugins-servlet</artifactId>
                <version>${atlassian.plugins.version}</version>
            </dependency>
            <dependency>
                <groupId>com.atlassian.plugins</groupId>
                <artifactId>atlassian-plugins-spring</artifactId>
                <version>${atlassian.plugins.version}</version>
            </dependency>
            <dependency>
                <groupId>com.atlassian.plugins</groupId>
                <artifactId>atlassian-plugins-webfragment-api</artifactId>
                <version>${atlassian.plugins.webfragment.version}</version>
            </dependency>
            <dependency>
                <groupId>com.atlassian.plugins</groupId>
                <artifactId>atlassian-plugins-webfragment</artifactId>
                <version>${atlassian.plugins.webfragment.version}</version>
            </dependency>
            <dependency>
                <groupId>com.atlassian.plugins</groupId>
                <artifactId>atlassian-plugins-webresource-api</artifactId>
                <version>${atlassian.plugins.webresource.version}</version>
            </dependency>
            <dependency>
                <groupId>org.codehaus.groovy</groupId>
                <artifactId>groovy</artifactId>
                <version>2.5.15</version>
            </dependency>
            <dependency>
                <groupId>com.atlassian.plugins</groupId>
                <artifactId>atlassian-plugins-webresource-common</artifactId>
                <version>${atlassian.plugins.version}</version>
            </dependency>
            <dependency>
                <groupId>com.atlassian.plugins</groupId>
                <artifactId>atlassian-plugins-webresource</artifactId>
                <version>${atlassian.plugins.webresource.version}</version>
            </dependency>
            <dependency>
                <groupId>com.atlassian.sal</groupId>
                <artifactId>sal-api</artifactId>
                <version>${atlassian.sal.version}</version>
            </dependency>
            <dependency>
                <groupId>com.atlassian.sal</groupId>
                <artifactId>sal-core</artifactId>
                <version>${atlassian.sal.version}</version>
            </dependency>
            <dependency>
                <groupId>com.atlassian.sal</groupId>
                <artifactId>sal-spi</artifactId>
                <version>${atlassian.sal.version}</version>
            </dependency>
            <dependency>
                <groupId>com.atlassian.sal</groupId>
                <artifactId>sal-spring</artifactId>
                <version>${atlassian.sal.version}</version>
            </dependency>
            <dependency>
                <groupId>com.atlassian.sal</groupId>
                <artifactId>sal-test-resources</artifactId>
                <version>${atlassian.sal.version}</version>
            </dependency>
            <dependency>
                <groupId>com.atlassian.sal</groupId>
                <artifactId>sal-trust-api</artifactId>
                <version>${atlassian.sal.version}</version>
            </dependency>
            <dependency>
                <groupId>com.atlassian.scheduler.caesium</groupId>
                <artifactId>atlassian-scheduler-caesium</artifactId>
                <version>${atlassian.scheduler.caesium.version}</version>
            </dependency>
            <dependency>
                <groupId>com.atlassian.scheduler</groupId>
                <artifactId>atlassian-scheduler-api</artifactId>
                <version>${atlassian.scheduler.version}</version>
            </dependency>
            <dependency>
                <groupId>com.atlassian.scheduler</groupId>
                <artifactId>atlassian-scheduler-core</artifactId>
                <version>${atlassian.scheduler.version}</version>
            </dependency>
            <dependency>
                <groupId>com.atlassian.security.auth.trustedapps</groupId>
                <artifactId>atlassian-trusted-apps-core</artifactId>
                <version>${atlassian.trustedapps.version}</version>
            </dependency>
            <dependency>
                <groupId>com.atlassian.security.auth.trustedapps</groupId>
                <artifactId>atlassian-trusted-apps-seraph-integration</artifactId>
                <version>${atlassian.trustedapps.version}</version>
            </dependency>
            <dependency>
                <groupId>com.atlassian.soy</groupId>
                <artifactId>soy-template-renderer-api</artifactId>
                <version>${atlassian.soy.version}</version>
            </dependency>
            <dependency>
                <groupId>com.atlassian.soy</groupId>
                <artifactId>soy-template-renderer-plugin-api</artifactId>
                <version>${atlassian.soy.version}</version>
            </dependency>
            <dependency>
                <groupId>com.atlassian.templaterenderer</groupId>
                <artifactId>atlassian-template-renderer-api</artifactId>
                <version>${atlassian.templaterenderer.version}</version>
            </dependency>
            <dependency>
                <groupId>com.atlassian.tenancy</groupId>
                <artifactId>atlassian-tenancy-api</artifactId>
                <version>${atlassian.tenancy.version}</version>
            </dependency>
            <dependency>
                <groupId>com.atlassian.vcache</groupId>
                <artifactId>atlassian-vcache-api</artifactId>
                <version>${atlassian.vcache.version}</version>
            </dependency>
            <dependency>
                <groupId>com.atlassian.vcache</groupId>
                <artifactId>atlassian-vcache-internal-api</artifactId>
                <version>${atlassian.vcache.version}</version>
            </dependency>
            <dependency>
                <groupId>com.atlassian.vcache</groupId>
                <artifactId>atlassian-vcache-internal-core</artifactId>
                <version>${atlassian.vcache.version}</version>
            </dependency>
            <dependency>
                <groupId>com.atlassian.vcache</groupId>
                <artifactId>atlassian-vcache-internal-guava</artifactId>
                <version>${atlassian.vcache.version}</version>
            </dependency>
            <dependency>
                <groupId>com.atlassian.vcache</groupId>
                <artifactId>atlassian-vcache-internal-legacy</artifactId>
                <version>${atlassian.vcache.version}</version>
            </dependency>
            <dependency>
                <groupId>com.atlassian.vcache</groupId>
                <artifactId>atlassian-vcache-internal-memcached</artifactId>
                <version>${atlassian.vcache.version}</version>
            </dependency>
            <dependency>
                <groupId>com.atlassian.velocity.htmlsafe</groupId>
                <artifactId>velocity-htmlsafe</artifactId>
                <version>${atlassian.velocity.htmlsafe.version}</version>
            </dependency>
            <dependency>
                <groupId>io.atlassian.fugue</groupId>
                <artifactId>fugue</artifactId>
                <version>${atlassian.fugue.version}</version>
            </dependency>
            <dependency>
                <groupId>io.atlassian.util.concurrent</groupId>
                <artifactId>atlassian-util-concurrent</artifactId>
                <version>${atlassian.util.concurrent.version}</version>
            </dependency>
            <!-- Import platform dependencies -->
            <dependency>
                <groupId>org.junit.vintage</groupId>
                <artifactId>junit-vintage-engine</artifactId>
                <version>${junit.jupiter.version}</version>
            </dependency>
            <dependency>
                <groupId>org.junit.jupiter</groupId>
                <artifactId>junit-jupiter-api</artifactId>
                <version>${junit.jupiter.version}</version>
            </dependency>
            <dependency>
                <groupId>org.junit.jupiter</groupId>
                <artifactId>junit-jupiter-engine</artifactId>
                <version>${junit.jupiter.version}</version>
            </dependency>
            <dependency>
                <groupId>org.junit.jupiter</groupId>
                <artifactId>junit-jupiter-params</artifactId>
                <version>${junit.jupiter.version}</version>
            </dependency>
            <dependency>
                <groupId>org.junit.platform</groupId>
                <artifactId>junit-platform-commons</artifactId>
                <version>${junit.platform.version}</version>
            </dependency>
            <dependency>
                <groupId>org.junit.platform</groupId>
                <artifactId>junit-platform-engine</artifactId>
                <version>${junit.platform.version}</version>
            </dependency>
            <dependency>
                <groupId>com.atlassian.oauth2</groupId>
                <artifactId>oauth2-client-api</artifactId>
                <version>${atlassian.oauth2.version}</version>
                <scope>provided</scope>
            </dependency>
            <dependency>
                <groupId>com.atlassian.oauth2</groupId>
                <artifactId>oauth2-scopes-api</artifactId>
                <version>${atlassian.oauth2.version}</version>
                <scope>provided</scope>
            </dependency>
            <dependency>
                <groupId>com.atlassian.oauth2</groupId>
                <artifactId>oauth2-provider-api</artifactId>
                <version>${atlassian.oauth2.version}</version>
                <scope>provided</scope>
            </dependency>
            <dependency>
                <groupId>com.atlassian.aui</groupId>
                <artifactId>auiplugin</artifactId>
                <version>${atlassian.aui.version}</version>
                <scope>provided</scope>
            </dependency>
            <!-- Common 3rd party dependencies -->
            <dependency>
                <groupId>com.atlassian.platform</groupId>
                <artifactId>third-party</artifactId>
                <version>${platform.version}</version>
                <type>pom</type>
                <scope>import</scope>
            </dependency>
        </dependencies>
    </dependencyManagement>

    <build>
        <pluginManagement>
            <plugins>
                <plugin>
                    <groupId>org.jacoco</groupId>
                    <artifactId>jacoco-maven-plugin</artifactId>
                    <version>0.8.7</version>
                </plugin>
                <plugin>
                    <groupId>com.atlassian.maven.plugins</groupId>
                    <artifactId>api-compat-maven-plugin</artifactId>
                    <version>0.7</version>
                    <configuration>
                        <includes>
                            <include>com.atlassian.applinks.api.**</include>
                            <include>com.atlassian.applinks.spi.**</include>
                            <include>com.atlassian.applinks.host.**</include>
                        </includes>
                        <excludes>
                            <exclude>com.atlassian.applinks.internal.**</exclude>
                        </excludes>
                        <suppressionsFile>${basedir}/src/test/etc/api-compat-suppressions.txt</suppressionsFile>
                        <traverse>true</traverse>
                        <oldVersion>
                            <dependency>
                                <groupId>${project.groupId}</groupId>
                                <artifactId>${project.artifactId}</artifactId>
                                <version>${applinks.api.reference.version}</version>
                            </dependency>
                        </oldVersion>
                        <newVersion>
                            <dependency>
                                <groupId>${project.groupId}</groupId>
                                <artifactId>${project.artifactId}</artifactId>
                                <version>${project.version}</version>
                            </dependency>
                        </newVersion>
                    </configuration>
                    <executions>
                        <execution>
                            <id>api-compat</id>
                            <goals>
                                <goal>check</goal>
                            </goals>
                            <phase>verify</phase>
                        </execution>
                    </executions>
                </plugin>
                <plugin>
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-clean-plugin</artifactId>
                    <configuration>
                        <filesets>
                            <fileset>
                                <directory>etc/karma-runner/target</directory>
                            </fileset>
                        </filesets>
                    </configuration>
                </plugin>
                <plugin>
                    <groupId>com.atlassian.maven.plugins</groupId>
                    <artifactId>amps-maven-plugin</artifactId>
                    <version>${amps.version}</version>
                    <extensions>true</extensions>
                    <configuration>
                        <skipAllPrompts>true</skipAllPrompts>
                        <systemPropertyVariables>
                            <upm.pac.disable>true</upm.pac.disable>
                            <atlassian.upm.server.data.disable>true</atlassian.upm.server.data.disable>
                        </systemPropertyVariables>
                    </configuration>
                </plugin>
                <plugin>
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-surefire-plugin</artifactId>
                    <configuration>
                        <skipTests>${skip.unit.tests}</skipTests>
                        <includes>
                            <include>**/Test*.java</include>
                            <include>**/*Test.java</include>
                        </includes>
                        <excludes>
                            <exclude>it/**/*</exclude>
                            <exclude>selenium/**/*</exclude>
                            <exclude>**/*$*</exclude>
                        </excludes>
                        <groups>${it.categories}</groups>
                    </configuration>
                </plugin>
                <plugin>
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-failsafe-plugin</artifactId>
                    <configuration>
                        <forkedProcessExitTimeoutInSeconds>${forked.process.timeout}</forkedProcessExitTimeoutInSeconds>
                        <skipITs>${skip.integration.tests}</skipITs>
                    </configuration>
                </plugin>
                <plugin>
                    <groupId>com.atlassian.maven.plugins</groupId>
                    <artifactId>amps-dispatcher-maven-plugin</artifactId>
                    <version>${amps.version}</version>
                </plugin>

                <plugin>
                    <groupId>com.github.kongchen</groupId>
                    <artifactId>swagger-maven-plugin</artifactId>
                    <version>3.1.8</version>
                    <configuration>
                        <apiSources>
                            <apiSource>
                                <locations>
                                    <location>com.atlassian.applinks.core.rest</location>
                                    <location>com.atlassian.applinks.internal.rest.status</location>
                                    <location>com.atlassian.applinks.core.rest.ui</location>
                                    <location>com.atlassian.applinks.core.v2.rest</location>
                                    <location>com.atlassian.applinks.oauth.rest</location>
                                </locations>
                                <info>
                                    <title>Applinks</title>
                                    <version>${applinks.api.version}</version>
                                </info>
                                <swaggerDirectory>swagger</swaggerDirectory>
                                <basePath>/rest/applinks/${applinks.api.version}</basePath>
                                <modelSubstitute>/overrides.map</modelSubstitute>
                                <securityDefinitions>
                                    <securityDefinition>
                                        <name>Admin</name>
                                        <type>basic</type>
                                    </securityDefinition>
                                    <securityDefinition>
                                        <name>SysAdmin</name>
                                        <type>basic</type>
                                    </securityDefinition>
                                </securityDefinitions>
                                <outputFormats>json</outputFormats>
                            </apiSource>
                        </apiSources>
                    </configuration>
                    <executions>
                        <execution>
                            <goals>
                                <goal>generate</goal>
                            </goals>
                            <phase>compile</phase>
                        </execution>
                    </executions>
                </plugin>
            </plugins>
        </pluginManagement>
        <plugins>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-enforcer-plugin</artifactId>
                <executions>
                    <execution>
                        <id>ban-milestones-and-release-candidates</id>
                        <phase>none</phase>
                    </execution>
                </executions>
            </plugin>

            <!-- Use `mvn sortpom:sort` via command line to resolve errors -->
            <plugin>
                <groupId>com.github.ekryd.sortpom</groupId>
                <artifactId>sortpom-maven-plugin</artifactId>
                <version>2.12.0</version>
                <configuration>
                    <encoding>${project.build.sourceEncoding}</encoding>
                    <keepBlankLines>true</keepBlankLines>
                    <nrOfIndentSpace>4</nrOfIndentSpace>
                    <predefinedSortOrder>custom_1</predefinedSortOrder>
                    <sortDependencies>scope</sortDependencies>
                    <sortProperties>true</sortProperties>
                    <verifyFail>stop</verifyFail>
                </configuration>
                <executions>
                    <execution>
                        <goals>
                            <goal>verify</goal>
                        </goals>
                        <phase>validate</phase>
                    </execution>
                </executions>
            </plugin>
        </plugins>
    </build>
    <licenses>
        <license>
            <name>Apache 2</name>
            <url>https://www.apache.org/licenses/LICENSE-2.0.txt</url>
            <distribution>repo</distribution>
        </license>
    </licenses>

    <scm>
        <connection>scm:git:git@bitbucket.org:atlassian/application-links.git</connection>
        <developerConnection>scm:git:git@bitbucket.org:atlassian/application-links.git</developerConnection>
        <url>https://bitbucket.org/atlassian/application-links</url>
        <tag>applinks-parent-9.0.2</tag>
    </scm>
    <issueManagement>
        <system>Jira</system>
        <url>https://ecosystem.atlassian.net/browse/APL</url>
    </issueManagement>
    <ciManagement>
        <system>Bamboo</system>
        <url>https://ecosystem-bamboo.internal.atlassian.com/browse/APL</url>
    </ciManagement>

    <profiles>
        <profile>
            <id>jacoco</id>
            <properties>
                <jacoco.include.pattern>com/atlassian/applinks/**</jacoco.include.pattern>
            </properties>
            <build>
                <plugins>
                    <!-- Code coverage -->
                    <plugin>
                        <groupId>org.jacoco</groupId>
                        <artifactId>jacoco-maven-plugin</artifactId>
                        <executions>
                            <execution>
                                <id>agent-for-ut</id>
                                <goals>
                                    <goal>prepare-agent</goal>
                                </goals>
                                <configuration>
                                    <propertyName>jacoco.agent.argLine</propertyName>
                                    <includes>
                                        <include>${jacoco.include.pattern}</include>
                                    </includes>
                                </configuration>
                            </execution>
                            <execution>
                                <id>agent-for-it</id>
                                <goals>
                                    <goal>prepare-agent-integration</goal>
                                </goals>
                                <phase>initialize</phase>
                                <configuration>
                                    <propertyName>jacoco.agent.it.argLine</propertyName>
                                    <includes>
                                        <include>${jacoco.include.pattern}</include>
                                    </includes>
                                </configuration>
                            </execution>
                        </executions>
                    </plugin>
                    <plugin>
                        <groupId>org.apache.maven.plugins</groupId>
                        <artifactId>maven-surefire-plugin</artifactId>
                        <configuration>
                            <argLine>@{jacoco.agent.argLine}</argLine>
                        </configuration>
                    </plugin>
                    <plugin>
                        <groupId>org.apache.maven.plugins</groupId>
                        <artifactId>maven-failsafe-plugin</artifactId>
                        <configuration>
                            <argLine>@{jacoco.agent.it.argLine}</argLine>
                        </configuration>
                    </plugin>
                </plugins>
            </build>
        </profile>

        <!-- To run integration tests (ITs) -->
        <profile>
            <id>it</id>
            <properties>
                <skip.integration.tests>false</skip.integration.tests>
            </properties>
        </profile>

        <!-- Skip all tests when -DskipTests is on -->
        <profile>
            <id>skip-tests</id>
            <activation>
                <property>
                    <name>skipTests</name>
                </property>
            </activation>
            <properties>
                <skip.integration.tests>true</skip.integration.tests>
                <skip.unit.tests>true</skip.unit.tests>
            </properties>
        </profile>
        <!-- Skip all tests when the old-skul -Dmaven.test.skip is on -->
        <profile>
            <id>skip-tests-compilation</id>
            <activation>
                <property>
                    <name>maven.test.skip</name>
                    <value>true</value>
                </property>
            </activation>
            <properties>
                <skip.integration.tests>true</skip.integration.tests>
                <skip.unit.tests>true</skip.unit.tests>
            </properties>
        </profile>

        <!-- This is for the CI build running integration tests. Disables dev mode and unit tests. -->
        <profile>
            <id>it.ci</id>
            <activation>
                <property>
                    <name>it.ci</name>
                </property>
            </activation>
            <properties>
                <dev.mode>false</dev.mode>
                <skip.integration.tests>false</skip.integration.tests>
                <skip.unit.tests>true</skip.unit.tests>
            </properties>
        </profile>

        <!-- This is for the CI build running smoke tests. Currently same as it.ci, but can be adjusted to
             accommodate extra switches if required. -->
        <profile>
            <id>it.ci.smoke</id>
            <activation>
                <property>
                    <name>it.ci.smoke</name>
                </property>
            </activation>
            <properties>
                <dev.mode>false</dev.mode>
                <forked.process.timeout>600</forked.process.timeout>
                <product.jvmArgs>-Datlassian.oauth2.client.skip.base.url.https.requirement=true</product.jvmArgs>
                <skip.integration.tests>false</skip.integration.tests>
                <skip.unit.tests>true</skip.unit.tests>
            </properties>
        </profile>

        <profile>
            <id>api-compat</id>
            <activation>
                <activeByDefault>true</activeByDefault>
            </activation>
            <modules>
                <module>common</module>
                <module>applinks-trustedapps-plugin</module>
                <module>applinks-spi</module>
                <module>applinks-plugin</module>
                <module>applinks-oauth-plugin</module>
                <module>applinks-host</module>
                <module>applinks-cors-plugin</module>
                <module>applinks-basicauth-plugin</module>
                <module>applinks-trustedapps-plugin</module>
                <module>applinks-api</module>
            </modules>
        </profile>
    </profiles>
</project>
