<?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/maven-v4_0_0.xsd">
    <modelVersion>4.0.0</modelVersion>

    <parent>
        <groupId>com.atlassian.pom</groupId>
        <artifactId>closedsource-pom</artifactId>
        <version>5.0.21</version>
    </parent>

    <groupId>com.atlassian.plugins</groupId>
    <artifactId>atlassian-remote-event-parent</artifactId>
    <version>6.1.0</version>
    <packaging>pom</packaging>

    <name>Atlassian Remote Event Parent</name>
    <description>Remote Event parent POM</description>
    <licenses>
        <license>
            <name>Atlassian End User License</name>
            <url>https://www.atlassian.com/end-user-agreement/</url>
            <comments>Atlassian 3.0 End User License Agreement</comments>
        </license>
    </licenses>

    <modules>
        <module>api</module>
        <module>common</module>
        <module>consumer</module>
        <module>func-test</module>
        <module>producer</module>
        <module>it/it-api</module>
        <module>it/it-consumer</module>
        <module>it/it-diagnostic</module>
        <module>it/it-producer</module>
    </modules>

    <scm>
        <connection>scm:git:ssh://git@stash.atlassian.com:7997/fuse/atlassian-remote-event-server.git</connection>
        <developerConnection>scm:git:ssh://git@stash.atlassian.com:7997/fuse/atlassian-remote-event-server.git</developerConnection>
        <url>https://stash.atlassian.com/projects/FUSE/repos/atlassian-remote-event-server</url>
        <tag>atlassian-remote-event-6.1.0</tag>
    </scm>
    <issueManagement>
        <system>Jira</system>
        <url>https://bulldog.internal.atlassian.com/projects/BBSDEV</url>
    </issueManagement>
    <ciManagement>
        <system>Bamboo</system>
        <url>https://server-syd-bamboo.internal.atlassian.com/browse/REV</url>
    </ciManagement>

    <properties>
        <maven.compiler.source>8</maven.compiler.source>
        <maven.compiler.target>8</maven.compiler.target>
        <atlassian-plugin.description>${project.description}</atlassian-plugin.description>
        <failOnMilestoneOrReleaseCandidateDeps>false</failOnMilestoneOrReleaseCandidateDeps>

        <!-- If this is updated, update the versions in the next section -->
        <platform.version>5.0.0-9725690</platform.version>

        <!-- Mirrors the platforms version because the version string is needed locally -->
        <plug.version>5.0.0-b5ba2227</plug.version>
        <failure-cache.version>2.0.0-m1</failure-cache.version>
        <httpclient.version>4.5.5</httpclient.version>

        <!-- Other dependencies -->
        <amps.version>8.0.0-m5</amps.version>
        <atlassian.spring.scanner.version>2.1.7</atlassian.spring.scanner.version>
        <atlassian.navlinks.version>5.0.0-7eadc4be</atlassian.navlinks.version>
        <fasterxml.jackson.version>2.3.2</fasterxml.jackson.version>
        <hamcrest.version>1.3</hamcrest.version>
        <joda.time.version>2.9.9</joda.time.version>
        <junit.version>4.12</junit.version>
        <mockito.version>2.21.0</mockito.version>

        <!-- Product versions for testing (typically this is the oldest version of the product this plugin supports) -->
        <bamboo.version>5.13.0</bamboo.version>
        <bitbucket.version>6.0.0-platform5-2</bitbucket.version>
        <confluence.version>6.0.7</confluence.version>
        <fecru.version>4.1.2-20160816153147</fecru.version>
        <jira.version>8.0.0-QR-20181016061321</jira.version>
    </properties>

    <dependencyManagement>
        <dependencies>
            <!-- Local modules -->
            <dependency>
                <groupId>com.atlassian.plugins</groupId>
                <artifactId>atlassian-remote-event-api</artifactId>
                <version>${project.version}</version>
            </dependency>
            <dependency>
                <groupId>com.atlassian.plugins</groupId>
                <artifactId>atlassian-remote-event-common-plugin</artifactId>
                <version>${project.version}</version>
            </dependency>
            <dependency>
                <groupId>com.atlassian.plugins</groupId>
                <artifactId>atlassian-remote-event-consumer-plugin</artifactId>
                <version>${project.version}</version>
            </dependency>
            <dependency>
                <groupId>com.atlassian.plugins</groupId>
                <artifactId>atlassian-remote-event-it-api</artifactId>
                <version>${project.version}</version>
            </dependency>
            <dependency>
                <groupId>com.atlassian.plugins</groupId>
                <artifactId>atlassian-remote-event-producer-plugin</artifactId>
                <version>${project.version}</version>
            </dependency>

            <!-- Platform dependencies -->
            <dependency>
                <groupId>com.atlassian.platform</groupId>
                <artifactId>platform</artifactId>
                <version>${platform.version}</version>
                <type>pom</type>
                <scope>import</scope>
            </dependency>
            <dependency>
                <groupId>com.atlassian.platform</groupId>
                <artifactId>third-party</artifactId>
                <version>${platform.version}</version>
                <type>pom</type>
                <scope>import</scope>
            </dependency>

            <!-- Non-platform dependencies -->
            <dependency>
                <groupId>com.atlassian</groupId>
                <artifactId>atlassian-failure-cache</artifactId>
                <version>${failure-cache.version}</version>
            </dependency>
            <dependency>
                <groupId>com.atlassian.plugin</groupId>
                <artifactId>atlassian-spring-scanner-annotation</artifactId>
                <version>${atlassian.spring.scanner.version}</version>
            </dependency>
            <dependency>
                <groupId>com.atlassian.plugins</groupId>
                <artifactId>atlassian-nav-links-api</artifactId>
                <version>${atlassian.navlinks.version}</version>
            </dependency>
            <dependency>
                <groupId>com.atlassian.plugins</groupId>
                <artifactId>atlassian-plugins-core</artifactId>
                <version>${plug.version}</version>
                <exclusions>
                    <exclusion>
                        <groupId>xml-apis</groupId>
                        <artifactId>xml-apis</artifactId>
                    </exclusion>
                </exclusions>
            </dependency>
            <dependency>
                <groupId>com.fasterxml.jackson.core</groupId>
                <artifactId>jackson-databind</artifactId>
                <version>${fasterxml.jackson.version}</version>
            </dependency>
            <dependency>
                <groupId>javax.inject</groupId>
                <artifactId>javax.inject</artifactId>
                <version>1</version>
            </dependency>
            <dependency>
                <groupId>javax.ws.rs</groupId>
                <artifactId>jsr311-api</artifactId>
                <version>1.1.1</version>
            </dependency>
            <dependency>
                <groupId>joda-time</groupId>
                <artifactId>joda-time</artifactId>
                <version>${joda.time.version}</version>
            </dependency>
            <dependency>
                <groupId>org.apache.httpcomponents</groupId>
                <artifactId>httpclient</artifactId>
                <version>${httpclient.version}</version>
                <exclusions>
                    <exclusion>
                        <!-- Already provided by host products -->
                        <groupId>commons-codec</groupId>
                        <artifactId>commons-codec</artifactId>
                    </exclusion>
                    <exclusion>
                        <!-- Already provided by host products (or jcl-over-slf4j) -->
                        <groupId>commons-logging</groupId>
                        <artifactId>commons-logging</artifactId>
                    </exclusion>
                </exclusions>
            </dependency>
            <dependency>
                <groupId>junit</groupId>
                <artifactId>junit</artifactId>
                <version>${junit.version}</version>
            </dependency>
            <dependency>
                <groupId>org.mockito</groupId>
                <artifactId>mockito-core</artifactId>
                <version>${mockito.version}</version>
            </dependency>
            <dependency>
                <groupId>org.hamcrest</groupId>
                <artifactId>hamcrest-all</artifactId>
                <version>${hamcrest.version}</version>
            </dependency>
        </dependencies>
    </dependencyManagement>

    <build>
        <pluginManagement>
            <plugins>
                <plugin>
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-surefire-plugin</artifactId>
                    <configuration>
                        <includes>
                            <include>**/*Test.*</include>
                            <include>**/*Spec.*</include>
                        </includes>
                    </configuration>
                </plugin>
                <plugin>
                    <groupId>com.atlassian.maven.plugins</groupId>
                    <artifactId>amps-dispatcher-maven-plugin</artifactId>
                    <version>${amps.version}</version>
                </plugin>
                <plugin>
                    <groupId>com.atlassian.maven.plugins</groupId>
                    <artifactId>amps-maven-plugin</artifactId>
                    <version>${amps.version}</version>
                    <extensions>true</extensions>
                    <configuration>
                        <!-- sensible defaults -->
                        <extractDependencies>false</extractDependencies>
                        <!-- disable AMPS bloat -->
                        <skipAllPrompts>true</skipAllPrompts>
                        <enableDevToolbox>false</enableDevToolbox>
                    </configuration>
                </plugin>
                <plugin>
                    <!-- use local checkout with Git -->
                    <artifactId>maven-release-plugin</artifactId>
                    <configuration>
                        <localCheckout>true</localCheckout>
                    </configuration>
                </plugin>
                <!-- Build test JAR for AT/SLAT execution -->
                <plugin>
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-jar-plugin</artifactId>
                    <executions>
                        <execution>
                            <goals>
                                <goal>test-jar</goal>
                            </goals>
                            <configuration>
                                <forceCreation>true</forceCreation>
                            </configuration>
                        </execution>
                    </executions>
                </plugin>
                <plugin>
                    <groupId>com.atlassian.plugin</groupId>
                    <artifactId>atlassian-spring-scanner-maven-plugin</artifactId>
                    <version>${atlassian.spring.scanner.version}</version>
                    <executions>
                        <execution>
                            <goals>
                                <goal>atlassian-spring-scanner</goal>
                            </goals>
                            <phase>process-classes</phase>
                        </execution>
                    </executions>
                    <configuration>
                        <includeExclude>+com.atlassian.event.remote.impl.*</includeExclude>
                    </configuration>
                </plugin>
                <plugin>
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-enforcer-plugin</artifactId>
                    <configuration>
                        <fail>${failOnMilestoneOrReleaseCandidateDeps}</fail>
                    </configuration>
                </plugin>

            </plugins>
        </pluginManagement>
    </build>

</project>
