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

    <parent>
        <artifactId>servicedesk-components</artifactId>
        <groupId>com.atlassian.servicedesk</groupId>
        <version>1000.202.0</version>
    </parent>

    <artifactId>jira-servicedesk-application-cloud</artifactId>

    <modelVersion>4.0.0</modelVersion>

    <name>JIRA Service Desk Application</name>
    <description>JIRA Service Desk application definition plugin</description>
    <packaging>atlassian-plugin</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>

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

    <properties>
        <servicedesk.application.plugin.info.version>3.3.0-OD-${project.version}</servicedesk.application.plugin.info.version>
    </properties>

    <profiles>
        <profile>
            <id>third-party-licensing</id>
            <build>
                <plugins>
                    <plugin>
                        <groupId>org.apache.maven.plugins</groupId>
                        <artifactId>maven-dependency-plugin</artifactId>
                        <executions>
                            <execution>
                                <id>copy-bom.csv-to-classpath</id>
                                <phase>prepare-package</phase>
                                <goals>
                                    <goal>copy</goal>
                                </goals>
                                <configuration>
                                    <artifactItems>
                                        <artifactItem>
                                            <groupId>com.atlassian.servicedesk</groupId>
                                            <artifactId>servicedesk-parent-pom</artifactId>
                                            <version>${project.version}</version>
                                            <classifier>bom</classifier>
                                            <type>csv</type>
                                            <overWrite>true</overWrite>
                                            <outputDirectory>${project.build.outputDirectory}</outputDirectory>
                                            <destFileName>bom.csv</destFileName>
                                        </artifactItem>
                                    </artifactItems>
                                </configuration>
                            </execution>
                        </executions>
                    </plugin>
                </plugins>
            </build>
        </profile>
    </profiles>

    <build>
        <plugins>
            <plugin>
                <groupId>com.atlassian.maven.plugins</groupId>
                <artifactId>docsversion-maven-plugin</artifactId>
                <version>1.1</version>
                <executions>
                    <execution>
                        <id>set-docs-version-property</id>
                        <phase>initialize</phase>
                        <goals>
                            <goal>set-property</goal>
                        </goals>
                        <configuration>
                            <property>docs.version</property>
                        </configuration>
                    </execution>
                </executions>
            </plugin>
            <plugin>
                <groupId>org.codehaus.mojo</groupId>
                <artifactId>build-helper-maven-plugin</artifactId>
                <version>1.9.1</version>
                <executions>
                    <!-- osgiVersion for ${atlassian.client.resource.version} -->
                    <execution>
                        <id>parse-version-1</id>
                        <phase>validate</phase>
                        <goals>
                            <goal>parse-version</goal>
                        </goals>
                        <configuration>
                            <propertyPrefix>parsedAtlassianClientResourceVersion</propertyPrefix>
                            <versionString>${atlassian.client.resource.version}</versionString>
                        </configuration>
                    </execution>
                    <!-- osgiVersion for ${chaperone.version} -->
                    <execution>
                        <id>parse-version-2</id>
                        <phase>validate</phase>
                        <goals>
                            <goal>parse-version</goal>
                        </goals>
                        <configuration>
                            <propertyPrefix>parsedChaperoneVersion</propertyPrefix>
                            <versionString>${chaperone.version}</versionString>
                        </configuration>
                    </execution>
                    <!-- osgiVersion for ${project.parent.version} -->
                    <execution>
                        <id>parse-version-3</id>
                        <phase>validate</phase>
                        <goals>
                            <goal>parse-version</goal>
                        </goals>
                        <configuration>
                            <propertyPrefix>parsedServiceDeskVersion</propertyPrefix>
                            <versionString>${project.parent.version}</versionString>
                        </configuration>
                    </execution>
                </executions>
            </plugin>
            <!--
              This config defines the Service Desk Application plugin and OBR generation
            -->
            <plugin>
                <groupId>com.atlassian.maven.plugins</groupId>
                <artifactId>maven-jira-plugin</artifactId>
                <version>${amps.version}</version>
                <extensions>true</extensions>
                <configuration>
                    <productVersion>${jira.version}</productVersion>
                    <!--<productDataVersion>${jira.version}</productDataVersion>-->
                    <skipRestDocGeneration>true</skipRestDocGeneration>
                    <!--<skipManifestValidation>true</skipManifestValidation>-->

                    <!--These are copied into the installed plugins directory when running JIRA using amps -->
                    <pluginArtifacts>
                        <pluginArtifact>
                            <groupId>com.atlassian.servicedesk</groupId>
                            <artifactId>jira-servicedesk</artifactId>
                        </pluginArtifact>
                        <pluginArtifact>
                            <groupId>com.atlassian.servicedesk</groupId>
                            <artifactId>jira-servicedesk-public-rest-api-plugin</artifactId>
                        </pluginArtifact>
                        <pluginArtifact>
                            <groupId>com.atlassian.plugins</groupId>
                            <artifactId>atlassian-client-resource</artifactId>
                        </pluginArtifact>
                        <pluginArtifact>
                            <groupId>com.atlassian.plugins</groupId>
                            <artifactId>atlassian-chaperone</artifactId>
                        </pluginArtifact>
                        <pluginArtifact>
                            <groupId>com.atlassian.jira.plugins.workinghours</groupId>
                            <artifactId>jira-workinghours-plugin</artifactId>
                        </pluginArtifact>
                        <pluginArtifact>
                            <groupId>com.atlassian.servicedesk.plugins.automation</groupId>
                            <artifactId>servicedesk-automation-plugin</artifactId>
                        </pluginArtifact>
                        <pluginArtifact>
                            <groupId>com.atlassian.servicedesk.plugins.automation</groupId>
                            <artifactId>servicedesk-automation-modules-plugin</artifactId>
                        </pluginArtifact>
                        <pluginArtifact>
                            <groupId>com.atlassian.servicedesk.plugins.automation</groupId>
                            <artifactId>servicedesk-automation-then-webhook-plugin</artifactId>
                        </pluginArtifact>
                        <pluginArtifact>
                            <groupId>com.atlassian.servicedesk.plugins</groupId>
                            <artifactId>servicedesk-search-plugin</artifactId>
                        </pluginArtifact>
                        <pluginArtifact>
                            <groupId>com.atlassian.jira</groupId>
                            <artifactId>jira-email-processor-plugin</artifactId>
                        </pluginArtifact>
                        <pluginArtifact>
                            <groupId>com.atlassian.plugin.timedpromise</groupId>
                            <artifactId>atlassian-timed-promise-plugin</artifactId>
                        </pluginArtifact>
                        <pluginArtifact>
                            <groupId>com.atlassian.pocketknife</groupId>
                            <artifactId>atlassian-pocketknife-api-commons-plugin</artifactId>
                        </pluginArtifact>
                        <pluginArtifact>
                            <groupId>com.atlassian.pocketknife</groupId>
                            <artifactId>pocketknife-features-plugin</artifactId>
                        </pluginArtifact>
                        <pluginArtifact>
                            <groupId>${project.groupId}</groupId>
                            <artifactId>servicedesk-core-ui-plugin</artifactId>
                        </pluginArtifact>
                        <pluginArtifact>
                            <groupId>${project.groupId}</groupId>
                            <artifactId>servicedesk-project-ui-plugin</artifactId>
                        </pluginArtifact>
                        <pluginArtifact>
                            <groupId>${project.groupId}</groupId>
                            <artifactId>servicedesk-reports-plugin</artifactId>
                        </pluginArtifact>
                        <pluginArtifact>
                            <groupId>com.atlassian.servicedesk</groupId>
                            <artifactId>servicedesk-knowledge-base-plugin</artifactId>
                        </pluginArtifact>
                        <pluginArtifact>
                            <groupId>com.atlassian.servicedesk</groupId>
                            <artifactId>servicedesk-approvals-plugin</artifactId>
                        </pluginArtifact>
                        <pluginArtifact>
                            <groupId>com.atlassian.servicedesk</groupId>
                            <artifactId>servicedesk-notifications-plugin</artifactId>
                        </pluginArtifact>
                        <pluginArtifact>
                            <groupId>com.atlassian.jwt</groupId>
                            <artifactId>jwt-plugin</artifactId>
                        </pluginArtifact>
                        <pluginArtifact>
                            <groupId>com.atlassian.servicedesk</groupId>
                            <artifactId>servicedesk-lingo-plugin</artifactId>
                            <version>${project.version}</version>
                        </pluginArtifact>
                        <pluginArtifact>
                            <groupId>com.atlassian.psmq</groupId>
                            <artifactId>psmq-plugin</artifactId>
                            <version>${psmq.version}</version>
                        </pluginArtifact>
                    </pluginArtifacts>


                    <!--These go into the OBR -->
                    <pluginDependencies>
                        <pluginDependency>
                            <groupId>com.atlassian.servicedesk</groupId>
                            <artifactId>jira-servicedesk</artifactId>
                        </pluginDependency>
                        <pluginDependency>
                            <groupId>com.atlassian.plugins</groupId>
                            <artifactId>atlassian-client-resource</artifactId>
                        </pluginDependency>
                        <pluginDependency>
                            <groupId>com.atlassian.plugins</groupId>
                            <artifactId>atlassian-chaperone</artifactId>
                        </pluginDependency>
                        <pluginDependency>
                            <groupId>com.atlassian.jira.plugins.workinghours</groupId>
                            <artifactId>jira-workinghours-plugin</artifactId>
                        </pluginDependency>
                        <pluginDependency>
                            <groupId>com.atlassian.servicedesk.plugins.automation</groupId>
                            <artifactId>servicedesk-automation-plugin</artifactId>
                        </pluginDependency>
                        <pluginDependency>
                            <groupId>com.atlassian.servicedesk.plugins.automation</groupId>
                            <artifactId>servicedesk-automation-modules-plugin</artifactId>
                        </pluginDependency>
                        <pluginDependency>
                            <groupId>com.atlassian.servicedesk.plugins.automation</groupId>
                            <artifactId>servicedesk-automation-then-webhook-plugin</artifactId>
                        </pluginDependency>
                        <pluginDependency>
                            <groupId>com.atlassian.servicedesk.plugins</groupId>
                            <artifactId>servicedesk-search-plugin</artifactId>
                        </pluginDependency>
                        <pluginDependency>
                            <groupId>com.atlassian.jira</groupId>
                            <artifactId>jira-email-processor-plugin</artifactId>
                        </pluginDependency>
                        <pluginDependency>
                            <groupId>com.atlassian.plugin.timedpromise</groupId>
                            <artifactId>atlassian-timed-promise-plugin</artifactId>
                        </pluginDependency>
                        <pluginDependency>
                            <groupId>com.atlassian.pocketknife</groupId>
                            <artifactId>atlassian-pocketknife-api-commons-plugin</artifactId>
                        </pluginDependency>
                        <pluginDependency>
                            <groupId>com.atlassian.pocketknife</groupId>
                            <artifactId>pocketknife-features-plugin</artifactId>
                        </pluginDependency>
                        <pluginDependency>
                            <groupId>${project.groupId}</groupId>
                            <artifactId>servicedesk-core-ui-plugin</artifactId>
                        </pluginDependency>
                        <pluginDependency>
                            <groupId>${project.groupId}</groupId>
                            <artifactId>servicedesk-project-ui-plugin</artifactId>
                        </pluginDependency>
                        <pluginDependency>
                            <groupId>${project.groupId}</groupId>
                            <artifactId>servicedesk-reports-plugin</artifactId>
                        </pluginDependency>
                        <pluginDependency>
                            <groupId>com.atlassian.servicedesk</groupId>
                            <artifactId>jira-servicedesk-public-rest-api-plugin</artifactId>
                        </pluginDependency>
                        <pluginDependency>
                            <groupId>com.atlassian.servicedesk</groupId>
                            <artifactId>servicedesk-knowledge-base-plugin</artifactId>
                        </pluginDependency>
                        <pluginDependency>
                            <groupId>com.atlassian.servicedesk</groupId>
                            <artifactId>servicedesk-approvals-plugin</artifactId>
                        </pluginDependency>
                        <pluginDependency>
                            <groupId>com.atlassian.servicedesk</groupId>
                            <artifactId>servicedesk-notifications-plugin</artifactId>
                        </pluginDependency>
                        <pluginDependency>
                            <groupId>com.atlassian.jwt</groupId>
                            <artifactId>jwt-plugin</artifactId>
                        </pluginDependency>
                        <pluginDependency>
                            <groupId>com.atlassian.servicedesk</groupId>
                            <artifactId>servicedesk-lingo-plugin</artifactId>
                        </pluginDependency>
                    </pluginDependencies>

                    <!--
                    ***************************************************

                    Keep this section at the very bottom of the pom file since we need to update it frequently and hence
                    going to the bottom of the file will make us all better developers and be able to live in peace and
                    git merge harmony

                    ***************************************************
                    -->
                    <instructions>

                        <!--
                        When we go fully transformer-less this Atlassian-Plugin-Key entry needs to be added
                        to cause it to actually happen
                        -->
                        <Atlassian-Plugin-Key>com.atlassian.servicedesk.application</Atlassian-Plugin-Key>
                        <Bundle-SymbolicName>com.atlassian.servicedesk.application</Bundle-SymbolicName>
                        <Private-Package/>
                        <!--
                            Warning: Only use proper osgi versions in Require-Bundle!
                            Configure appropriate version conversions in the build-helper-maven-plugin above.
                        -->
                        <Require-Bundle>
                            com.atlassian.plugins.atlassian-client-resource;bundle-version=${parsedAtlassianClientResourceVersion.osgiVersion},
                            com.atlassian.plugins.atlassian-chaperone;bundle-version=${parsedChaperoneVersion.osgiVersion},
                            com.atlassian.servicedesk.public-rest-api;bundle-version=${parsedServiceDeskVersion.osgiVersion}
                        </Require-Bundle>
                        <Export-Package/>
                        <Import-Package>
                            com.atlassian.servicedesk.api,
                            com.atlassian.servicedesk.project.internal.obr.install,
                            com.atlassian.servicedesk.plugins.automation.api.configuration.ruleset,
                            com.atlassian.servicedesk.plugins.automation.modules.obr.install,
                            com.atlassian.servicedesk.plugins.kb.internal.obr.install,
                            com.atlassian.servicedesk.plugins.coreui.internal.utils,
                            com.atlassian.servicedesk.plugins.search.obr.install,
                            com.atlassian.servicedesk.plugins.reports.internal.obr.install,
                            com.atlassian.servicedesk.plugins.notifications.internal.obr.install,
                            com.atlassian.servicedesk.plugins.approvals.internal.obr.install,
                            com.atlassian.servicedesk.plugins.lingo.internal.obr.install,
                            com.atlassian.jira.plugins.workinghours.api.calendar,
                            com.atlassian.jira.mail.processor.api.channel,
                            com.atlassian.scheduler.timedpromise,
                            com.atlassian.pocketknife.api.featureflags,
                            com.atlassian.pocketknife.api.commons.result,
                            com.atlassian.jwt;version="${jwt.plugin.osgi.required.version}"
                        </Import-Package>
                        <Spring-Context>*</Spring-Context>
                    </instructions>
                </configuration>
            </plugin>
        </plugins>
        <testResources>
            <testResource>
                <directory>src/test/resources</directory>
            </testResource>
        </testResources>
    </build>

    <dependencies>

        <!-- TAC translations -->
        <!--
            Use compile time dependency for language packs as OSGI magic, i.e. treating language packs as plugins
            isn't properly working when they are bundled into the OBR
        -->
        <dependency>
            <groupId>com.atlassian.translations</groupId>
            <artifactId>jira-service-desk-language-pack-de_DE</artifactId>
            <version>${language.pack.german}</version>
            <scope>compile</scope>
        </dependency>
        <dependency>
            <groupId>com.atlassian.translations</groupId>
            <artifactId>jira-service-desk-language-pack-fr_FR</artifactId>
            <version>${language.pack.french}</version>
            <scope>compile</scope>
        </dependency>
        <dependency>
            <groupId>com.atlassian.translations</groupId>
            <artifactId>jira-service-desk-language-pack-ja_JP</artifactId>
            <version>${language.pack.japanese}</version>
            <scope>compile</scope>
        </dependency>
        <dependency>
            <groupId>com.atlassian.translations</groupId>
            <artifactId>jira-service-desk-language-pack-es_ES</artifactId>
            <version>${language.pack.spanish}</version>
            <scope>compile</scope>
        </dependency>
        <dependency>
            <groupId>com.atlassian.translations</groupId>
            <artifactId>jira-service-desk-language-pack-ko_KR</artifactId>
            <version>${language.pack.korean}</version>
            <scope>compile</scope>
        </dependency>
        <dependency>
            <groupId>com.atlassian.translations</groupId>
            <artifactId>jira-service-desk-language-pack-pt_BR</artifactId>
            <version>${language.pack.brazil}</version>
            <scope>compile</scope>
        </dependency>
        <dependency>
            <groupId>com.atlassian.translations</groupId>
            <artifactId>jira-service-desk-language-pack-ru_RU</artifactId>
            <version>${language.pack.russian}</version>
            <scope>compile</scope>
        </dependency>

        <!-- Bundled plugins -->
        <dependency>
            <groupId>com.atlassian.servicedesk</groupId>
            <artifactId>jira-servicedesk</artifactId>
            <version>${project.parent.version}</version>
            <scope>provided</scope>
        </dependency>
        <dependency>
            <groupId>com.atlassian.servicedesk</groupId>
            <artifactId>servicedesk-core-ui-plugin</artifactId>
            <version>${project.parent.version}</version>
            <scope>provided</scope>
        </dependency>
        <dependency>
            <groupId>com.atlassian.servicedesk</groupId>
            <artifactId>jira-servicedesk-public-rest-api-plugin</artifactId>
            <version>${project.parent.version}</version>
            <scope>provided</scope>
        </dependency>
        <dependency>
            <groupId>com.atlassian.plugins</groupId>
            <artifactId>atlassian-chaperone</artifactId>
            <version>${chaperone.version}</version>
            <scope>provided</scope>
        </dependency>
        <dependency>
            <groupId>com.atlassian.plugins</groupId>
            <artifactId>atlassian-client-resource</artifactId>
            <version>${atlassian.client.resource.version}</version>
            <scope>provided</scope>
        </dependency>
        <dependency>
            <groupId>com.atlassian.jira</groupId>
            <artifactId>jira-email-processor-plugin</artifactId>
            <version>${jira.email.processor.plugin.version}</version>
            <scope>provided</scope>
        </dependency>
        <dependency>
            <groupId>com.atlassian.jira.plugins.workinghours</groupId>
            <artifactId>jira-workinghours-plugin</artifactId>
            <version>${workinghours.version}</version>
            <scope>provided</scope>
        </dependency>
        <dependency>
            <groupId>com.atlassian.plugin.timedpromise</groupId>
            <artifactId>atlassian-timed-promise-plugin</artifactId>
            <version>${timed.promise.version}</version>
            <scope>provided</scope>
        </dependency>
        <dependency>
            <groupId>com.atlassian.servicedesk.plugins.automation</groupId>
            <artifactId>servicedesk-automation-plugin</artifactId>
            <version>${automation.version}</version>
            <scope>provided</scope>
        </dependency>
        <dependency>
            <groupId>com.atlassian.servicedesk.plugins.automation</groupId>
            <artifactId>servicedesk-automation-modules-plugin</artifactId>
            <version>${project.parent.version}</version>
            <scope>provided</scope>
        </dependency>
        <dependency>
            <groupId>com.atlassian.servicedesk.plugins.automation</groupId>
            <artifactId>servicedesk-automation-then-webhook-plugin</artifactId>
            <version>${project.parent.version}</version>
            <scope>provided</scope>
        </dependency>
        <dependency>
            <groupId>com.atlassian.servicedesk</groupId>
            <artifactId>servicedesk-knowledge-base-plugin</artifactId>
            <version>${project.parent.version}</version>
            <scope>provided</scope>
        </dependency>
        <dependency>
            <groupId>com.atlassian.servicedesk</groupId>
            <artifactId>servicedesk-reports-plugin</artifactId>
            <version>${project.parent.version}</version>
            <scope>provided</scope>
        </dependency>
        <dependency>
            <groupId>com.atlassian.servicedesk.plugins</groupId>
            <artifactId>servicedesk-search-plugin</artifactId>
            <version>${project.parent.version}</version>
            <scope>provided</scope>
        </dependency>
        <dependency>
            <groupId>com.atlassian.pocketknife</groupId>
            <artifactId>pocketknife-features-plugin</artifactId>
            <version>${pocketknife.features.plugin.version}</version>
            <scope>provided</scope>
        </dependency>
        <dependency>
            <groupId>com.atlassian.pocketknife</groupId>
            <artifactId>atlassian-pocketknife-api-commons-plugin</artifactId>
            <version>${pocketknife.api.commons.version}</version>
            <scope>provided</scope>
        </dependency>
        <dependency>
            <groupId>${project.groupId}</groupId>
            <artifactId>servicedesk-project-ui-plugin</artifactId>
            <version>${project.parent.version}</version>
            <scope>provided</scope>
        </dependency>
        <dependency>
            <groupId>${project.groupId}</groupId>
            <artifactId>servicedesk-approvals-plugin</artifactId>
            <version>${project.parent.version}</version>
            <scope>provided</scope>
        </dependency>
        <dependency>
            <groupId>${project.groupId}</groupId>
            <artifactId>servicedesk-notifications-plugin</artifactId>
            <version>${project.parent.version}</version>
            <scope>provided</scope>
        </dependency>
        <dependency>
            <groupId>com.atlassian.servicedesk</groupId>
            <artifactId>servicedesk-lingo-plugin</artifactId>
            <version>${project.parent.version}</version>
            <scope>provided</scope>
        </dependency>

        <!--JWT Plugin-->
        <dependency>
            <groupId>com.atlassian.jwt</groupId>
            <artifactId>jwt-plugin</artifactId>
            <version>${jwt.plugin.version}</version>
            <scope>provided</scope>
        </dependency>

        <!-- Test dependencies -->
        <dependency>
            <groupId>junit</groupId>
            <artifactId>junit</artifactId>
            <scope>test</scope>
        </dependency>

        <dependency>
            <groupId>org.hamcrest</groupId>
            <artifactId>hamcrest-all</artifactId>
            <scope>test</scope>
        </dependency>
    </dependencies>

</project>