<?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>closedsource-pom</artifactId>
        <version>5.0.26</version>
    </parent>

    <groupId>com.atlassian.ratelimiting</groupId>
    <artifactId>rate-limiting-parent</artifactId>
    <version>2.0.0</version>
    <packaging>pom</packaging>

    <name>Atlassian Rate Limiting Project</name>
    <description>Project for Atlassian Rate Limiting</description>
    <inceptionYear>2019</inceptionYear>
    <licenses>
        <license>
            <name>Atlassian Software License Agreement</name>
            <url>https://www.atlassian.com/legal/software-license-agreement</url>
        </license>
    </licenses>

    <issueManagement>
        <system>Jira</system>
        <url>https://bulldog.internal.atlassian.com/projects/RATE</url>
    </issueManagement>
    <scm>
        <connection>scm:git:ssh://git@bitbucket.org/atlassian/atlassian-ratelimiting.git</connection>
        <developerConnection>scm:git:ssh://git@bitbucket.org/atlassian/atlassian-ratelimiting.git</developerConnection>
        <url>ssh://git@bitbucket.org/atlassian/atlassian-ratelimiting.git</url>
        <tag>rate-limiting-parent-2.0.0</tag>
    </scm>

    <modules>
        <module>bamboo-specs</module>
        <module>api</module>
        <module>db</module>
        <module>core</module>
        <module>rest</module>
        <module>jira-spi</module>
        <module>confluence-spi</module>
        <module>refapp-spi</module>
        <module>plugin</module>
        <module>benchmark</module>
    </modules>

    <properties>
        <!-- Build Properties -->
        <failOnMilestoneOrReleaseCandidateDeps>false</failOnMilestoneOrReleaseCandidateDeps>
        <maven.compiler.source>1.8</maven.compiler.source>
        <maven.compiler.target>1.8</maven.compiler.target>
        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>

        <!-- Platform dependencies -->
        <refapp.version>5.0.2</refapp.version>
        <jira.version>8.8.0-QR-20200227105418</jira.version>
        <confluence.version>7.5.0-m20</confluence.version>
        <bitbucket.version>7.0.0-m13</bitbucket.version>
        <jira.software.version>8.4.2</jira.software.version>
        <jira.service.desk.version>4.4.0</jira.service.desk.version>
        <amps.version>8.0.0</amps.version>
        <analytics.version>5.7.2</analytics.version>
        <page.objects.version>2.5.5</page.objects.version>
        <atlassian.spring.scanner.version>2.1.9</atlassian.spring.scanner.version>
        <spring.version>5.0.10.RELEASE</spring.version>
        <scheduler.version>3.0.0</scheduler.version>
        <platform.version>5.0.11</platform.version>
        <soy.version>5.0.0</soy.version>
        <webdriver.version>2.6.0</webdriver.version>
        <plugin.testrunner.version>2.0.1</plugin.testrunner.version>
        <ao.version>3.0.0</ao.version>
        <atl.profiling.version>3.1.1</atl.profiling.version>
        <dropwizard.metrics.version>4.0.3</dropwizard.metrics.version>
        <aspectj.libversion>1.9.2</aspectj.libversion>
        <pocketknife.version>5.0.5</pocketknife.version>
        <crowd.version>2.10.5-j11</crowd.version>
        <atlassian.users.version>2.0</atlassian.users.version>
        <atlassian.audit.version>1.4.1</atlassian.audit.version>

        <!-- Platform 3rd Party -->
        <commons.lang3.version>3.9</commons.lang3.version>
        <functest-plugin.version>0.7.3</functest-plugin.version>
        <assertj.version>3.12.1</assertj.version>
        <lombok.version>1.18.6</lombok.version>
        <javamelody.version>1.76.0</javamelody.version>
        <jmh.version>1.21</jmh.version>
        <bucket4j.version>4.4.1</bucket4j.version>
        <h2.db.version>1.4.199</h2.db.version>
        <joda.version>2.10.4</joda.version>
        <commons.codec.version>1.13</commons.codec.version>
        <seraph.version>4.0.2</seraph.version>
        <servlet-api-version>3.0.1</servlet-api-version>
        <oauth-provider-version>20100601-atlassian-5</oauth-provider-version>

        <osgi.version>4.2.0</osgi.version>
        <osgi.gemini.version>3.0.0.M01</osgi.gemini.version>

        <!-- Sonar Integration -->
        <jacoco.version>0.8.4</jacoco.version>
        <sonar.maven.plugin.version>3.6.0.1398</sonar.maven.plugin.version>

        <sonar.projectName>${project.name}</sonar.projectName>
        <sonar.moduleKey>${project.artifactId}</sonar.moduleKey>
        <sonar.java.coveragePlugin>jacoco</sonar.java.coveragePlugin>
        <sonar.dynamicAnalysis>reuseReports</sonar.dynamicAnalysis>
        <sonar.global.exclusions>file:**/generated-sources/**</sonar.global.exclusions>
        <sonar.jacoco.reportPath>${project.basedir}/../target/jacoco.exec</sonar.jacoco.reportPath>
        <sonar.jacoco.itReportPath>${project.basedir}/../target/jacoco-it.exec</sonar.jacoco.itReportPath>
        <sonar.java.source>${maven.compiler.source}</sonar.java.source>

    </properties>

    <build>
        <plugins>
            <plugin>
                <groupId>org.sonarsource.scanner.maven</groupId>
                <artifactId>sonar-maven-plugin</artifactId>
                <version>${sonar.maven.plugin.version}</version>
            </plugin>
            <plugin>
                <groupId>org.jacoco</groupId>
                <artifactId>jacoco-maven-plugin</artifactId>
                <version>${jacoco.version}</version>
                <configuration>
                    <destFile>${sonar.jacoco.reportPath}</destFile>
                    <append>true</append>
                </configuration>
                <executions>
                    <execution>
                        <id>agent</id>
                        <goals>
                            <goal>prepare-agent</goal>
                        </goals>
                    </execution>
                </executions>
            </plugin>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-javadoc-plugin</artifactId>
                <version>3.1.1</version>
            </plugin>
        </plugins>
    </build>

    <dependencyManagement>
        <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>
            <dependency>
                <groupId>javax.annotation</groupId>
                <artifactId>javax.annotation-api</artifactId>
                <version>1.3.2</version>
            </dependency>
            <dependency>
                <groupId>com.atlassian.crowd</groupId>
                <artifactId>crowd-api</artifactId>
                <version>${crowd.version}</version>
            </dependency>
            <dependency>
                <groupId>com.atlassian.crowd</groupId>
                <artifactId>embedded-crowd-api</artifactId>
                <version>${crowd.version}</version>
            </dependency>
            <dependency>
                <groupId>com.atlassian.crowd</groupId>
                <artifactId>crowd-events</artifactId>
                <version>${crowd.version}</version>
            </dependency>
        </dependencies>
    </dependencyManagement>

    <profiles>
        <profile>
            <id>func-test</id>
            <activation>
                <activeByDefault>true</activeByDefault>
            </activation>
            <modules>
                <module>func-test</module>
            </modules>
        </profile>
    </profiles>

</project>
