<?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">

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

    <groupId>com.atlassian.servicedesk</groupId>
    <artifactId>jira-servicedesk-application-parent</artifactId>
    <version>4.17.2-REL-0129</version>

    <modelVersion>4.0.0</modelVersion>

    <name>JIRA Service Management Parent POM</name>
    <description>JIRA Service Management application definition.</description>
    <packaging>pom</packaging>

    <licenses>
        <license>
            <distribution>repo</distribution>
            <name>Atlassian 3.0 End User License Agreement</name>
            <url>http://www.atlassian.com/end-user-agreement/</url>
        </license>
    </licenses>

    <modules>
        <!--
            When adding a new module to this project, be sure to manage it to the current version (in this POM) and
            add a provided <dependency> on it to the application plugin POM, even if it's not a bundled plugin!

            If the application plugin only depends on the module through one or more bundled plugins that live outside
            this repository, Maven will refuse to build the application plugin until it has access to an artifact for
            the module, even though no such artifact could possibly affect the resultant OBR at this point.

            This won't happen if such an artifact happens to be installed in a local or remote repository, but there
            are many reasons why this might not be the case, so you can guarantee success by overriding the versions
            of all of these spurious dependencies and satisfying them with artifacts that Maven has just built.
        -->
        <module>jira-servicedesk-application</module>
        <module>sd-public-api</module>
        <module>sd-public-rest-api</module>
        <module>automation</module>
    </modules>

    <organization>
        <name>Atlassian</name>
        <url>http://www.atlassian.com</url>
    </organization>

    <build>
        <plugins>
            <plugin>
                <artifactId>maven-compiler-plugin</artifactId>
                <configuration>
                    <source>1.8</source>
                    <target>1.8</target>
                </configuration>
            </plugin>
            <plugin>
                <groupId>com.atlassian.maven.plugins</groupId>
                <artifactId>jira-maven-plugin</artifactId>
                <version>${amps.version}</version>
            </plugin>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-javadoc-plugin</artifactId>
                <executions>
                    <execution>
                        <inherited>false</inherited>
                        <id>aggregate-documentation</id>
                        <phase>package</phase>
                        <goals>
                            <goal>aggregate-jar</goal>
                        </goals>
                        <configuration>
                            <doctitle>Jira Service Management ${project.version} API</doctitle>
                            <windowtitle>Jira Service Management ${project.version} API</windowtitle>
                        </configuration>
                    </execution>
                </executions>
            </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>

            <!-- see <modules> in this POM -->

            <dependency>
                <groupId>${project.groupId}</groupId>
                <artifactId>jira-servicedesk-api</artifactId>
                <version>${project.version}</version>
            </dependency>

            <dependency>
                <groupId>${project.groupId}</groupId>
                <artifactId>jira-servicedesk-rest-api</artifactId>
                <version>${project.version}</version>
            </dependency>

            <dependency>
                <groupId>${project.groupId}</groupId>
                <artifactId>jira-servicedesk-automation-api</artifactId>
                <version>${project.version}</version>
            </dependency>

            <dependency>
                <groupId>${project.groupId}</groupId>
                <artifactId>jira-servicedesk-automation-spi</artifactId>
                <version>${project.version}</version>
            </dependency>

            <dependency>
                <groupId>com.atlassian.frontend</groupId>
                <artifactId>atlassian-frontend-runtime-plugin</artifactId>
                <version>${frontend.runtime.plugin.version}</version>
            </dependency>

            <!-- jira-servicedesk-api -->

            <dependency>
                <groupId>com.atlassian.jira</groupId>
                <artifactId>jira-api</artifactId>
                <version>${jira.version}</version>
                <scope>provided</scope>
                <exclusions>
                    <exclusion>
                        <artifactId>javax.servlet</artifactId>
                        <groupId>servlet-api</groupId>
                    </exclusion>
                    <exclusion>
                        <groupId>com.google.javascript</groupId>
                        <artifactId>closure-compiler</artifactId>
                    </exclusion>
                </exclusions>
            </dependency>

            <dependency>
                <groupId>joda-time</groupId>
                <artifactId>joda-time</artifactId>
                <version>${joda.time.version}</version>
            </dependency>

            <dependency>
                <groupId>org.joda</groupId>
                <artifactId>joda-convert</artifactId>
                <version>${joda.convert.version}</version>
                <scope>provided</scope>
            </dependency>

            <dependency>
                <groupId>jakarta.mail</groupId>
                <artifactId>jakarta.mail-api</artifactId>
                <version>${jakarta.mail.version}</version>
            </dependency>

            <dependency>
                <groupId>com.atlassian.pocketknife</groupId>
                <artifactId>atlassian-pocketknife-api-commons-jira</artifactId>
                <version>${pocketknife.api.commons.version}</version>
                <scope>provided</scope>
            </dependency>

            <dependency>
                <groupId>com.atlassian.pocketknife</groupId>
                <artifactId>atlassian-pocketknife-api-commons</artifactId>
                <version>${pocketknife.api.commons.version}</version>
                <scope>provided</scope>
            </dependency>

            <dependency>
                <groupId>com.atlassian.annotations</groupId>
                <artifactId>atlassian-annotations</artifactId>
                <version>${atlassian.annotations.version}</version>
                <scope>provided</scope>
            </dependency>

            <dependency>
                <groupId>io.atlassian.util.concurrent</groupId>
                <artifactId>atlassian-util-concurrent</artifactId>
                <version>${atlassian.util.concurrent.version}</version>
            </dependency>

            <!-- jira-servicedesk-rest-api -->

            <dependency>
                <groupId>org.codehaus.jackson</groupId>
                <artifactId>jackson-core-asl</artifactId>
                <version>${jackson.version}</version>
                <scope>provided</scope>
            </dependency>

            <dependency>
                <groupId>org.codehaus.jackson</groupId>
                <artifactId>jackson-mapper-asl</artifactId>
                <version>${jackson.version}</version>
                <scope>provided</scope>
            </dependency>

            <dependency>
                <groupId>com.atlassian.jira</groupId>
                <artifactId>jira-rest-api</artifactId>
                <version>${jira.version}</version>
                <scope>provided</scope>
            </dependency>

            <!-- jira-servicedesk-api + jira-servicedesk-rest-api -->

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

            <dependency>
                <groupId>com.google.code.findbugs</groupId>
                <artifactId>jsr305</artifactId>
                <version>${jsr305.version}</version>
                <scope>provided</scope>
            </dependency>

            <dependency>
                <groupId>javax.ws.rs</groupId>
                <artifactId>jsr311-api</artifactId>
                <version>${jsr311.version}</version>
            </dependency>

            <dependency>
                <groupId>junit</groupId>
                <artifactId>junit</artifactId>
                <version>${junit.version}</version>
                <scope>test</scope>
            </dependency>

        </dependencies>

    </dependencyManagement>

    <properties>
        <platform.version>5.0.0-m1</platform.version>
        <!-- Don't override jira.version and servicedesk.version when merge to platform -->
        <!-- Jira version that we compile, test and run against -->
        <!-- This is the *minimal compatible version* of Jira's REST & Java APIs. -->
        <jira.version>8.0.0-QR-20190118152954</jira.version>
        <servicedesk.version>4.17.2-REL-0093</servicedesk.version>
        <!-- Don't override jira.version and servicedesk.version when merge to platform -->

        <!-- Core -->
        <amps.version>8.0.0-m6</amps.version>
        <automation.version>${servicedesk.version}</automation.version>
        <timed.promise.version>${servicedesk.version}</timed.promise.version>
        <jira.email.processor.plugin.version>${servicedesk.version}</jira.email.processor.plugin.version>
        <atlassian.client.resource.version>${servicedesk.version}</atlassian.client.resource.version>
        <pocketknife.api.commons.version>1.0.7</pocketknife.api.commons.version>
        <jsr311.version>1.1.1</jsr311.version>

        <!-- Insight Plugin -->
        <insight.version>9.0.7</insight.version>

        <jwt.plugin.version>3.2.0</jwt.plugin.version>
        <!-- The reason I need to put the required version is in server release upm is also export com.atlassian.jwt
         (they only compiled jwt-api and jwt-core with them) so when upm resolve our servicedesk-applciation and
         resolve its dependency which is jwt-plugin, it see that upm already provided it and ignore jwt-plugin.
          Therefore, we have to put a required version, so upm will not ignore our dependency and install jwt-plugin -->
        <jwt.plugin.osgi.required.version>${jwt.plugin.version}</jwt.plugin.osgi.required.version>

        <!-- in cloud querydsl is provided by JIRA but not in server, hence this provider plugin -->
        <querydsl.provider.version>1.0</querydsl.provider.version>

        <!-- Language packs -->
        <language.pack.german>4.15.rc1.v20201223235627</language.pack.german>
        <language.pack.french>4.15.rc1.v20201223235627</language.pack.french>
        <language.pack.japanese>4.15.rc1.v20201223235627</language.pack.japanese>
        <language.pack.spanish>4.15.rc1.v20201223235627</language.pack.spanish>
        <language.pack.korean>4.15.rc1.v20201223235627</language.pack.korean>
        <language.pack.brazil>4.15.rc1.v20201223235627</language.pack.brazil>
        <language.pack.portugese>4.11.rc2.v20200624</language.pack.portugese><!-- no longer supported -->
        <language.pack.russian>4.15.rc1.v20201223235627</language.pack.russian>
        <language.pack.sweden>4.15.rc1.v20201223235627</language.pack.sweden>
        <language.pack.slovak>4.11.rc2.v20200624</language.pack.slovak><!-- no longer supported -->
        <language.pack.italian>4.15.rc1.v20201223235627</language.pack.italian>
        <language.pack.romanian>3.9.0.m0124-v2r588-2017-10-26</language.pack.romanian><!-- no longer supported -->
        <language.pack.polish>4.15.rc1.v20201223235627</language.pack.polish>
        <language.pack.norwegian>4.11.rc2.v20200624</language.pack.norwegian><!-- no longer supported -->
        <language.pack.icelandic>3.9.0.m0124-v2r106-2017-10-26</language.pack.icelandic><!-- no longer supported -->
        <language.pack.hungarian>4.11.rc2.v20200624</language.pack.hungarian><!-- no longer supported -->
        <language.pack.estonian>4.11.rc2.v20200624</language.pack.estonian><!-- no longer supported -->
        <language.pack.danish>4.11.rc2.v20200624</language.pack.danish><!-- no longer supported -->
        <language.pack.czech>4.15.rc1.v20201223235627</language.pack.czech>
        <language.pack.finnish>4.15.rc1.v20201223235627</language.pack.finnish>
        <language.pack.chinese.simplified>4.15.rc1.v20201223235627</language.pack.chinese.simplified>
        <language.pack.dutch>4.15.rc1.v20201223235627</language.pack.dutch>

        <!-- jira-servicedesk-api -->
        <atlassian.annotations.version>2.1.0</atlassian.annotations.version>
        <atlassian.util.concurrent.version>4.0.1</atlassian.util.concurrent.version>
        <javadoc.additional.params>-Xdoclint:none</javadoc.additional.params>
        <jakarta.mail.version>1.6.5</jakarta.mail.version>

        <frontend.runtime.plugin.version>0.2.0</frontend.runtime.plugin.version>

        <!-- jira-servicedesk-rest-api -->
        <jackson.version>1.9.13-atlassian-3</jackson.version>

        <!-- thirdparty -->
        <joda.time.version>2.8.2</joda.time.version>
        <joda.convert.version>1.1</joda.convert.version>
        <apache.commons.lang3.version>3.8</apache.commons.lang3.version>
        <jsr305.version>3.0.2</jsr305.version>
        <guava.version>26.0-jre</guava.version>

        <!-- Test -->
        <atlassian.selenium.version>2.3-m01</atlassian.selenium.version>
        <xvfb.enable>false</xvfb.enable>
        <junit.version>4.13.2</junit.version>

        <!-- Skip all of the tests -->
        <skipTests>false</skipTests>

        <!-- Skip only the integration tests -->
        <skipITs>${skipTests}</skipITs>

        <!-- Skip most of the unit tests. Can't seem to skip them all -->
        <skipUTs>${skipTests}</skipUTs>

        <!-- Take out when we don't use rc versions of jira and servicedesk -->
        <failOnMilestoneOrReleaseCandidateDeps>false</failOnMilestoneOrReleaseCandidateDeps>

        <!-- this is specified in base-pom and is used to specify the Java Version for this plugin -->
        <jdkLevel>1.8</jdkLevel>
        <!-- maven-compiler-plugin config -->
        <maven.compiler.source>${jdkLevel}</maven.compiler.source>
        <maven.compiler.target>${jdkLevel}</maven.compiler.target>

        <!-- maven-javadoc-plugin config -->
        <maven.javadoc.skip>true</maven.javadoc.skip>
    </properties>

    <scm>
        <connection>scm:git:ssh://git@stash.atlassian.com:7997/sdserver/jira-servicedesk-application.git</connection>
        <developerConnection>scm:git:ssh://git@stash.atlassian.com:7997/sdserver/jira-servicedesk-application.git</developerConnection>
        <url>https://stash.atlassian.com/projects/SDSERVER/repos/jira-servicedesk-application</url>
        <tag>HEAD</tag>
    </scm>

    <!--
    <ciManagement>
        <system>Bamboo</system>
        <url>https://servicedesk-bamboo.internal.atlassian.com/browse/SDA</url>
    </ciManagement>
    -->

    <profiles>
        <profile>
            <id>release-profile</id>
            <properties>
                <maven.javadoc.skip>false</maven.javadoc.skip>
            </properties>
        </profile>
    </profiles>

</project>