<?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.jira</groupId>
        <artifactId>jira-software-plugins</artifactId>
        <version>8.10.2-int-0034</version>
    </parent>

    <groupId>com.atlassian.jira.plugins</groupId>
    <artifactId>jira-transition-triggers-parent</artifactId>
    <version>8.10.2-int-0034</version>
    <packaging>pom</packaging>

    <name>Jira Transition Triggers Parent POM</name>
    <description>Allows Jira to automatically transition issues based on events</description>
    <inceptionYear>2014</inceptionYear>
    <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>jira-transition-triggers-api</module>
        <module>jira-sample-transition-triggers-plugin</module>
        <module>jira-transition-triggers-plugin</module>
    </modules>

    <issueManagement>
        <system>Jira</system>
        <url>https://jdog.jira-dev.com/browse/FUSE</url>
    </issueManagement>

    <properties>
        <!-- Non-version properties -->
        <atlassian-plugin.description>${project.description}</atlassian-plugin.description>

        <maven.compiler.source>1.8</maven.compiler.source>
        <maven.compiler.target>1.8</maven.compiler.target>
        <skipTests>false</skipTests>
        <source.encoding>UTF-8</source.encoding>
        <webdriver.browser>firefox:url=http://localhost:4444</webdriver.browser>

        <fusion.schema.version>1.13</fusion.schema.version>
        <jira.software.application.version>${project.version}</jira.software.application.version>
        <jira.software.application.version.force>${jira.software.application.version}</jira.software.application.version.force>

        <!-- Jira Platform and things driven by it -->
        <amps.version>6.3.22-3a3e6550e</amps.version>
        <activeobjects.version>3.0.1</activeobjects.version>
        <atlassian.rest.version>6.0.0-985fbb15</atlassian.rest.version>
        <analytics.version>5.6.0</analytics.version>
        <annotations.version>2.1.0</annotations.version>
        <atlassian-nav-links.version>5.0.0-7eadc4be</atlassian-nav-links.version>
        <atlassian.qunit.plugin.version>1.0.4</atlassian.qunit.plugin.version>
        <atlassian.selenium.version>2.5.1-jira-2</atlassian.selenium.version>
        <io.atlassian.util.concurrent>4.0.1</io.atlassian.util.concurrent>
        <commons.lang3.version>3.8</commons.lang3.version>
        <io.fugue.version>4.7.1</io.fugue.version>
        <guava.version>26.0-jre</guava.version>
        <hallelujah.version>3.6</hallelujah.version>
        <hamcrest.version>1.3</hamcrest.version>
        <jira.data.version>${jira.version}</jira.data.version>
        <jira.version.force>${jira.version}</jira.version.force>
        <junit.version>4.12</junit.version>
        <kickass.version>8.3.4</kickass.version>
        <mockito.version>1.10.19</mockito.version>
        <oauth.version>2.0.4</oauth.version>
        <plugins.version>5.0.0-b5ba2227</plugins.version>
        <pocketknife.version>0.80</pocketknife.version>
        <sal.version>4.0.0-ccaebc10</sal.version>
        <slf4j.version>1.7.25</slf4j.version>
        <spring.scanner.version>2.1.7</spring.scanner.version>
        <spring.version>5.0.7.RELEASE</spring.version>
        <testkit.version>8.1.15</testkit.version>

        <!-- Other versions of things -->
        <contract.test.version>0.1.16</contract.test.version>
        <!--embedded inside atlassian-it-contract, based on contract.test.version-->
        <ctk-test-resources.version>1.0-beta32</ctk-test-resources.version>
        <ctk.version>0.22</ctk.version>
        <jira.nimble.tests.version>0.2.1</jira.nimble.tests.version>
        <maven.min.version>3.5.4</maven.min.version>
        <plugin.buildhelper.version>3.0.0</plugin.buildhelper.version>
        <plugin.docker.version>0.26.0</plugin.docker.version>
        <plugin.testrunner.version>1.1</plugin.testrunner.version>
        <pocketknife-querydsl.version>3.0.3</pocketknife-querydsl.version>

        <!-- Sonar properties-->
        <sonar.host.url>http://sonar.internal.atlassian.com</sonar.host.url>
        <sonar.login>uss-admin</sonar.login>
        <sonar.password>uss-admin</sonar.password>

        <atlassian-browsers-auto.version>2.8.8</atlassian-browsers-auto.version>
    </properties>

    <dependencyManagement>
        <dependencies>
            <!-- API -->
            <dependency>
                <groupId>com.atlassian.jira.plugins</groupId>
                <artifactId>jira-transition-triggers-api</artifactId>
                <version>${project.version}</version>
            </dependency>
            <dependency>
                <groupId>com.atlassian.annotations</groupId>
                <artifactId>atlassian-annotations</artifactId>
                <version>${annotations.version}</version>
                <scope>provided</scope>
            </dependency>
            <!--Jira-->
            <dependency>
                <groupId>com.atlassian.jira</groupId>
                <artifactId>jira-api</artifactId>
                <version>${jira.version.force}</version>
                <scope>provided</scope>
                <exclusions>
                    <exclusion>
                        <groupId>com.atlassian.gzipfilter</groupId>
                        <artifactId>atlassian-gzipfilter</artifactId>
                    </exclusion>
                </exclusions>
            </dependency>
            <dependency>
                <groupId>com.atlassian.jira</groupId>
                <artifactId>jira-core</artifactId>
                <version>${jira.version.force}</version>
                <scope>provided</scope>
                <exclusions>
                    <!--exclude versions of commons-lang other than 3-->
                    <exclusion>
                        <groupId>commons-lang</groupId>
                        <artifactId>commons-lang</artifactId>
                    </exclusion>
                    <exclusion>
                        <groupId>com.atlassian.gzipfilter</groupId>
                        <artifactId>atlassian-gzipfilter</artifactId>
                    </exclusion>

                    <!-- excluded to avoid bringing in spring 3-->
                    <exclusion>
                        <groupId>com.atlassian.crowd</groupId>
                        <artifactId>crowd-core</artifactId>
                    </exclusion>
                </exclusions>
            </dependency>

            <!-- Jira bundled Spring version -->
            <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>

            <!--Jira bundled plugins-->
            <dependency>
                <groupId>com.atlassian.jira</groupId>
                <artifactId>jira-rest-plugin</artifactId>
                <version>${jira.version.force}</version>
                <scope>provided</scope>
            </dependency>
            <dependency>
                <groupId>com.atlassian.sal</groupId>
                <artifactId>sal-api</artifactId>
                <version>${sal.version}</version>
                <scope>provided</scope>
            </dependency>
            <dependency>
                <groupId>com.atlassian.activeobjects</groupId>
                <artifactId>activeobjects-plugin</artifactId>
                <version>${activeobjects.version}</version>
                <scope>provided</scope>
            </dependency>
            <dependency>
                <groupId>com.atlassian.activeobjects</groupId>
                <artifactId>activeobjects-test</artifactId>
                <version>${activeobjects.version}</version>
            </dependency>

            <!--Atlassian-->
            <dependency>
                <groupId>com.atlassian.analytics</groupId>
                <artifactId>analytics-api</artifactId>
                <version>${analytics.version}</version>
                <scope>provided</scope>
            </dependency>
            <dependency>
                <groupId>io.atlassian.fugue</groupId>
                <artifactId>fugue</artifactId>
                <version>${io.fugue.version}</version>
                <scope>provided</scope>
            </dependency>
            <dependency>
                <groupId>com.atlassian.oauth</groupId>
                <artifactId>atlassian-oauth-consumer-spi</artifactId>
                <version>${oauth.version}</version>
                <scope>provided</scope>
            </dependency>
            <dependency>
                <groupId>com.atlassian.plugins</groupId>
                <artifactId>atlassian-nav-links-api</artifactId>
                <version>${atlassian-nav-links.version}</version>
                <scope>provided</scope>
            </dependency>
            <dependency>
                <groupId>com.atlassian.plugins</groupId>
                <artifactId>atlassian-nav-links-plugin</artifactId>
                <version>${atlassian-nav-links.version}</version>
                <scope>provided</scope>
            </dependency>
            <dependency>
                <groupId>com.atlassian.plugins.rest</groupId>
                <artifactId>atlassian-rest-common</artifactId>
                <version>${atlassian.rest.version}</version>
                <scope>provided</scope>
            </dependency>
            <dependency>
                <groupId>com.atlassian.fusion</groupId>
                <artifactId>fusion-schema-api</artifactId>
                <version>${fusion.schema.version}</version>
            </dependency>
            <dependency>
                <groupId>com.atlassian.plugins</groupId>
                <artifactId>atlassian-plugins-osgi</artifactId>
                <version>${plugins.version}</version>
                <scope>provided</scope>
            </dependency>
            <dependency>
                <groupId>io.atlassian.util.concurrent</groupId>
                <artifactId>atlassian-util-concurrent</artifactId>
                <version>${io.atlassian.util.concurrent}</version>
                <scope>provided</scope>
            </dependency>

            <!--Others-->
            <dependency>
                <groupId>commons-collections</groupId>
                <artifactId>commons-collections</artifactId>
                <version>3.2.1</version>
                <scope>provided</scope>
            </dependency>

            <dependency>
                <groupId>com.google.guava</groupId>
                <artifactId>guava</artifactId>
                <version>${guava.version}</version>
            </dependency>

            <dependency>
                <groupId>javax.servlet</groupId>
                <artifactId>javax.servlet-api</artifactId>
                <version>${servlet-api-version}</version>
                <scope>provided</scope>
            </dependency>
            <dependency>
                <groupId>org.apache.commons</groupId>
                <artifactId>commons-lang3</artifactId>
                <version>${commons.lang3.version}</version>
                <scope>provided</scope>
            </dependency>
            <dependency>
                <groupId>org.slf4j</groupId>
                <artifactId>slf4j-api</artifactId>
                <version>${slf4j.version}</version>
                <scope>provided</scope>
            </dependency>
            <dependency>
                <groupId>org.slf4j</groupId>
                <artifactId>slf4j-log4j12</artifactId>
                <version>${slf4j.version}</version>
                <scope>provided</scope>
            </dependency>
            <dependency>
                <groupId>org.slf4j</groupId>
                <artifactId>jcl-over-slf4j</artifactId>
                <version>${slf4j.version}</version>
                <scope>provided</scope>
            </dependency>
            <dependency>
                <groupId>com.atlassian.plugin</groupId>
                <artifactId>atlassian-spring-scanner-annotation</artifactId>
                <version>${spring.scanner.version}</version>
                <scope>provided</scope>
            </dependency>
            <dependency>
                <groupId>javax.inject</groupId>
                <artifactId>javax.inject</artifactId>
                <version>1</version>
                <scope>provided</scope>
            </dependency>
            <dependency>
                <groupId>dom4j</groupId>
                <artifactId>dom4j</artifactId>
                <version>1.4</version>
            </dependency>

            <!--Tests-->
            <dependency>
                <groupId>com.atlassian.jira</groupId>
                <artifactId>jira-tests</artifactId>
                <version>${jira.version.force}</version>
                <scope>test</scope>
                <exclusions>
                    <exclusion>
                        <groupId>junit</groupId>
                        <artifactId>junit-dep</artifactId>
                    </exclusion>
                </exclusions>
            </dependency>
            <dependency>
                <groupId>com.atlassian.jira</groupId>
                <artifactId>atlassian-jira-pageobjects</artifactId>
                <version>${jira.version.force}</version>
                <scope>test</scope>
                <exclusions>
                    <exclusion>
                        <groupId>commons-lang</groupId>
                        <artifactId>commons-lang</artifactId>
                    </exclusion>
                    <exclusion>
                        <groupId>junit</groupId>
                        <artifactId>junit-dep</artifactId>
                    </exclusion>
                    <exclusion>
                        <groupId>org.mortbay.jetty</groupId>
                        <artifactId>jetty</artifactId>
                    </exclusion>
                    <exclusion>
                        <groupId>org.mortbay.jetty</groupId>
                        <artifactId>jetty-util</artifactId>
                    </exclusion>
                    <exclusion>
                        <groupId>org.slf4j</groupId>
                        <artifactId>slf4j-simple</artifactId>
                    </exclusion>
                </exclusions>
            </dependency>
            <dependency>
                <groupId>com.atlassian.qunit</groupId>
                <artifactId>atlassian-qunit-plugin</artifactId>
                <version>${atlassian.qunit.plugin.version}</version>
                <scope>test</scope>
            </dependency>
            <dependency>
                <groupId>com.atlassian.qunit</groupId>
                <artifactId>atlassian-qunit-plugin-util</artifactId>
                <version>${atlassian.qunit.plugin.version}</version>
                <scope>test</scope>
            </dependency>
            <dependency>
                <groupId>junit</groupId>
                <artifactId>junit</artifactId>
                <version>${junit.version}</version>
            </dependency>
            <dependency>
                <groupId>org.hamcrest</groupId>
                <artifactId>hamcrest-core</artifactId>
                <version>${hamcrest.version}</version>
                <scope>test</scope>
            </dependency>
            <dependency>
                <groupId>org.hamcrest</groupId>
                <artifactId>hamcrest-library</artifactId>
                <version>${hamcrest.version}</version>
                <scope>test</scope>
            </dependency>
            <dependency>
                <groupId>org.mockito</groupId>
                <artifactId>mockito-all</artifactId>
                <version>${mockito.version}</version>
                <scope>test</scope>
            </dependency>
            <dependency>
                <groupId>com.atlassian.federation</groupId>
                <artifactId>federated-api-ctk-test-utilities</artifactId>
                <version>${ctk.version}</version>
                <exclusions>
                    <!--exclude versions of commons-lang other than 3-->
                    <exclusion>
                        <groupId>commons-lang</groupId>
                        <artifactId>commons-lang</artifactId>
                    </exclusion>
                </exclusions>
            </dependency>
            <dependency>
                <!-- Provides NimbleFuncTestCase class, providing automatic restore via @Restore and environment data -->
                <groupId>com.atlassian.jira</groupId>
                <artifactId>jira-nimble-func-tests</artifactId>
                <version>${jira.nimble.tests.version}</version>
                <scope>test</scope>
            </dependency>
            <dependency>
                <!-- Provides access to the IssueDetailPage page object -->
                <groupId>com.atlassian.jira</groupId>
                <artifactId>ka-func-test-framework</artifactId>
                <version>${kickass.version}</version>
                <scope>test</scope>
            </dependency>
            <dependency>
                <groupId>com.atlassian.jira.tests</groupId>
                <artifactId>jira-testkit-client</artifactId>
                <version>${testkit.version}</version>
                <scope>test</scope>
                <exclusions>
                    <exclusion>
                        <groupId>junit</groupId>
                        <artifactId>junit-dep</artifactId>
                    </exclusion>
                </exclusions>
            </dependency>
            <dependency>
                <groupId>com.atlassian.plugins</groupId>
                <artifactId>atlassian-it-contract-plugin</artifactId>
                <version>${contract.test.version}</version>
                <scope>test</scope>
            </dependency>
            <dependency>
                <groupId>com.atlassian.fusion</groupId>
                <artifactId>ctk-test-resources</artifactId>
                <version>${ctk-test-resources.version}</version>
                <scope>test</scope>
            </dependency>
            <dependency>
                <groupId>com.atlassian.buildeng.hallelujah</groupId>
                <artifactId>client</artifactId>
                <version>${hallelujah.version}</version>
                <scope>test</scope>
            </dependency>
            <dependency>
                <groupId>com.atlassian.buildeng.hallelujah</groupId>
                <artifactId>server</artifactId>
                <version>${hallelujah.version}</version>
                <scope>test</scope>
            </dependency>
            <dependency>
                <groupId>com.atlassian.selenium</groupId>
                <artifactId>atlassian-pageobjects-api</artifactId>
                <version>${atlassian.selenium.version}</version>
            </dependency>
            <dependency>
                <groupId>com.atlassian.selenium</groupId>
                <artifactId>atlassian-pageobjects-elements</artifactId>
                <version>${atlassian.selenium.version}</version>
            </dependency>
            <dependency>
                <groupId>com.atlassian.selenium</groupId>
                <artifactId>atlassian-webdriver-core</artifactId>
                <version>${atlassian.selenium.version}</version>
            </dependency>

            <!-- QueryDSL -->
            <dependency>
                <groupId>com.atlassian.pocketknife</groupId>
                <artifactId>atlassian-pocketknife-querydsl</artifactId>
                <version>${pocketknife-querydsl.version}</version>
            </dependency>
            <dependency>
                <groupId>com.atlassian.pocketknife</groupId>
                <artifactId>atlassian-pocketknife-querydsl-test-util</artifactId>
                <version>${pocketknife-querydsl.version}</version>
            </dependency>

            <dependency>
                <groupId>com.atlassian.plugins</groupId>
                <artifactId>atlassian-plugins-api</artifactId>
                <version>${plugins.version}</version>
                <scope>provided</scope>
            </dependency>
            <dependency>
                <groupId>com.atlassian.plugins</groupId>
                <artifactId>atlassian-plugins-core</artifactId>
                <version>${plugins.version}</version>
                <scope>provided</scope>
            </dependency>
            <dependency>
                <groupId>com.atlassian.browsers</groupId>
                <artifactId>firefox-profile</artifactId>
                <!-- This version hides FireBug, making more of the page visible to Selenium -->
                <version>44.0-nofirebug</version>
            </dependency>
            <dependency>
                <groupId>com.atlassian.browsers</groupId>
                <artifactId>atlassian-browsers-auto</artifactId>
                <version>${atlassian-browsers-auto.version}</version>
                <scope>test</scope>
            </dependency>
        </dependencies>
    </dependencyManagement>

    <build>
        <pluginManagement>
            <plugins>
                <plugin>
                    <groupId>com.atlassian.maven.plugins</groupId>
                    <artifactId>maven-amps-dispatcher-plugin</artifactId>
                    <version>${amps.version}</version>
                </plugin>
                <plugin>
                    <groupId>com.atlassian.maven.plugins</groupId>
                    <artifactId>maven-amps-plugin</artifactId>
                    <version>${amps.version}</version>
                </plugin>
                <plugin>
                    <groupId>com.atlassian.maven.plugins</groupId>
                    <artifactId>maven-jira-plugin</artifactId>
                    <version>${amps.version}</version>
                </plugin>
                <plugin>
                    <!-- use local checkout with Git -->
                    <artifactId>maven-release-plugin</artifactId>
                    <configuration>
                        <localCheckout>true</localCheckout>
                    </configuration>
                </plugin>
                <plugin>
                    <groupId>com.atlassian.maven.plugins</groupId>
                    <artifactId>pseudo-loc-maven-plugin</artifactId>
                    <version>1.1</version>
                </plugin>
                <plugin>
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-javadoc-plugin</artifactId>
                    <version>3.0.1</version>
                    <configuration>
                        <encoding>${source.encoding}</encoding>
                        <excludePackageNames>
                            com.atlassian.jira.plugin.devstatus.impl*,com.atlassian.jira.plugin.devstatus.rest*,com.atlassian.jira.plugin.devstatus.web*
                        </excludePackageNames>
                    </configuration>
                </plugin>
                <plugin>
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-resources-plugin</artifactId>
                    <configuration>
                        <encoding>${source.encoding}</encoding>
                    </configuration>
                </plugin>
                <plugin>
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-enforcer-plugin</artifactId>
                    <configuration>
                        <rules>
                            <requireMavenVersion>
                                <version>${maven.min.version}</version>
                            </requireMavenVersion>
                        </rules>
                    </configuration>
                </plugin>
                <plugin>
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-checkstyle-plugin</artifactId>
                    <version>2.16</version>
                    <configuration>
                        <configLocation>checkstyle.xml</configLocation>
                        <encoding>${source.encoding}</encoding>
                        <includeTestSourceDirectory>true</includeTestSourceDirectory>
                        <consoleOutput>true</consoleOutput>
                    </configuration>
                    <dependencies>
                        <dependency>
                            <groupId>com.puppycrawl.tools</groupId>
                            <artifactId>checkstyle</artifactId>
                            <version>6.9</version>
                        </dependency>
                        <!--We are currently reusing the stash teams checkstyle-->
                        <dependency>
                            <groupId>com.atlassian.stash</groupId>
                            <artifactId>stash-checkstyle</artifactId>
                            <version>0.9.2</version>
                            <exclusions>
                                <exclusion>
                                    <groupId>checkstyle</groupId>
                                    <artifactId>checkstyle</artifactId>
                                </exclusion>
                            </exclusions>
                        </dependency>
                        <dependency>
                            <groupId>com.atlassian</groupId>
                            <artifactId>checkstyle-custom-checks</artifactId>
                            <version>0.9.3</version>
                            <exclusions>
                                <exclusion>
                                    <groupId>checkstyle</groupId>
                                    <artifactId>checkstyle</artifactId>
                                </exclusion>
                            </exclusions>
                        </dependency>
                    </dependencies>
                </plugin>
            </plugins>
        </pluginManagement>
    </build>
</project>
