<?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>
        <artifactId>jira-software-application-parent</artifactId>
        <groupId>com.atlassian.jira</groupId>
        <version>9.12.12</version>
    </parent>

    <artifactId>jira-software-application</artifactId>
    <packaging>atlassian-plugin</packaging>

    <name>Jira Software Application</name>
    <description>Gathers pieces of Jira Software together.</description>

    <properties>
        <skipITs>true</skipITs>
        <od.testing.configuration>
            use-java,8
            use-maven,3
        </od.testing.configuration>
    </properties>

    <profiles>
        <profile>
            <id>third-party-licensing</id>
            <build>
                <plugins>
                    <plugin>
                        <artifactId>maven-resources-plugin</artifactId>
                        <executions>
                            <execution>
                                <id>copy-resources</id>
                                <phase>generate-resources</phase>
                                <goals>
                                    <goal>copy-resources</goal>
                                </goals>
                                <configuration>
                                    <outputDirectory>../../third-party-licensing/licenses</outputDirectory>
                                    <resources>
                                        <resource>
                                            <directory>../third-party-licensing/licenses</directory>
                                            <filtering>false</filtering>
                                        </resource>
                                    </resources>
                                </configuration>
                            </execution>
                        </executions>
                    </plugin>
                    <plugin>
                        <groupId>org.codehaus.mojo</groupId>
                        <artifactId>build-helper-maven-plugin</artifactId>
                        <version>1.8</version>
                        <executions>
                            <execution>
                                <id>attach-artifacts</id>
                                <phase>package</phase>
                                <goals>
                                    <goal>attach-artifact</goal>
                                </goals>
                                <configuration>
                                    <artifacts>
                                        <artifact>
                                            <file>${thirdpartylicensing.bom}</file>
                                            <type>csv</type>
                                            <classifier>bom</classifier>
                                        </artifact>
                                    </artifacts>
                                </configuration>
                            </execution>
                        </executions>
                    </plugin>
                </plugins>
            </build>
        </profile>
        <profile>
            <id>ondemand-acceptance-tests</id>
            <properties>
                <skipITs>false</skipITs>
                <skipTests>true</skipTests>
            </properties>
        </profile>
        <profile>
            <id>arj-wired-tests</id>
            <activation>
                <property>
                    <name>wiredTests</name>
                </property>
            </activation>
            <properties>
                <!--This loads same jirahome used by wired tests on the CI-->
                <product.data.path>${basedir}/../jira-software-plugins/jira-advanced-roadmaps/builds/jira-resources/${arj.base.amps.jira.home.resource.name}</product.data.path>
            </properties>

            <dependencies>
                <dependency>
                    <groupId>com.atlassian</groupId>
                    <artifactId>portfolio-plugin</artifactId>
                    <type>test-jar</type>
                    <scope>provided</scope>
                </dependency>
                <dependency>
                    <groupId>com.atlassian</groupId>
                    <artifactId>team-management-plugin</artifactId>
                    <type>test-jar</type>
                    <scope>provided</scope>
                </dependency>
            </dependencies>
        </profile>
    </profiles>

    <dependencies>
        <!--
            The following test dependency is deliberately moved to the very top of the dependency list.
            it.com.atalassian.jsa.plugin.TestJSAEnabled started failing with java.lang.NoSuchMethodError: org.apache.http.impl.client.cache.CacheConfig.setNeverCache1_0ResponsesWithQueryString(Z)V
            and it seems to be caused by some sort of dependency conflict / ordering issue which seems to be
            rectified after moving this dependency to the top of the list.
         -->
        <dependency>
            <groupId>org.apache.httpcomponents</groupId>
            <artifactId>httpclient-cache</artifactId>
            <scope>test</scope>
        </dependency>
        <dependency>
            <groupId>com.atlassian.jira.plugins</groupId>
            <artifactId>jira-software-monitor-plugin</artifactId>
            <scope>provided</scope>
        </dependency>
        <dependency>
            <groupId>com.atlassian.jira.plugins</groupId>
            <artifactId>jira-software-plugin</artifactId>
            <scope>provided</scope>
        </dependency>
        <dependency>
            <groupId>com.atlassian.jira.plugins</groupId>
            <artifactId>jira-greenhopper-plugin</artifactId>
            <scope>provided</scope>
        </dependency>
        <dependency>
            <groupId>com.atlassian.jira.plugins</groupId>
            <artifactId>jira-development-integration-plugin</artifactId>
            <scope>provided</scope>
        </dependency>
        <dependency>
            <groupId>com.atlassian.jira.plugins</groupId>
            <artifactId>jira-fisheye-plugin</artifactId>
            <scope>provided</scope>
        </dependency>
        <dependency>
            <groupId>com.atlassian.jira.plugins</groupId>
            <artifactId>jira-bamboo-plugin</artifactId>
            <scope>provided</scope>
        </dependency>
        <dependency>
            <groupId>com.atlassian.jira.plugins</groupId>
            <artifactId>jira-dvcs-connector-plugin</artifactId>
            <scope>provided</scope>
        </dependency>
        <dependency>
            <groupId>com.atlassian.jira.plugins</groupId>
            <artifactId>jira-transition-triggers-plugin</artifactId>
            <scope>provided</scope>
        </dependency>
        <dependency>
            <groupId>com.atlassian</groupId>
            <artifactId>jira-portfolio</artifactId>
            <scope>provided</scope>
        </dependency>
        <dependency>
            <groupId>com.atlassian</groupId>
            <artifactId>team-management-plugin</artifactId>
            <scope>provided</scope>
        </dependency>
        <dependency>
            <groupId>com.atlassian</groupId>
            <artifactId>portfolio-plugin</artifactId>
            <scope>provided</scope>
        </dependency>
        <dependency>
            <groupId>com.atlassian.translations</groupId>
            <artifactId>jira-software-language-pack-ja_JP</artifactId>
            <version>${software-language-pack-ja_JP.version}</version>
            <scope>provided</scope>
        </dependency>
        <dependency>
            <groupId>com.atlassian.translations</groupId>
            <artifactId>jira-software-language-pack-fr_FR</artifactId>
            <version>${software-language-pack-fr_FR.version}</version>
            <scope>provided</scope>
        </dependency>
        <dependency>
            <groupId>com.atlassian.translations</groupId>
            <artifactId>jira-software-language-pack-es_ES</artifactId>
            <version>${software-language-pack-es_ES.version}</version>
            <scope>provided</scope>
        </dependency>
        <dependency>
            <groupId>com.atlassian.translations</groupId>
            <artifactId>jira-software-language-pack-de_DE</artifactId>
            <version>${software-language-pack-de_DE.version}</version>
            <scope>provided</scope>
        </dependency>
        <dependency>
            <groupId>com.atlassian.translations</groupId>
            <artifactId>jira-software-language-pack-ru_RU</artifactId>
            <version>${software-language-pack-ru_RU.version}</version>
            <scope>provided</scope>
        </dependency>
        <dependency>
            <groupId>com.atlassian.translations</groupId>
            <artifactId>jira-software-language-pack-pt_BR</artifactId>
            <version>${software-language-pack-pt_BR.version}</version>
            <scope>provided</scope>
        </dependency>
        <dependency>
            <groupId>com.atlassian.translations</groupId>
            <artifactId>jira-software-language-pack-ko_KR</artifactId>
            <version>${software-language-pack-ko_KR.version}</version>
            <scope>provided</scope>
        </dependency>
        <dependency>
            <groupId>com.atlassian.translations</groupId>
            <artifactId>jira-software-language-pack-zh_CN</artifactId>
            <version>${software-language-pack-zh_CN.version}</version>
            <scope>provided</scope>
        </dependency>
        <dependency>
            <groupId>com.atlassian.translations</groupId>
            <artifactId>jira-software-language-pack-en_US</artifactId>
            <version>${software-language-pack-en_US.version}</version>
            <scope>provided</scope>
        </dependency>
        <dependency>
            <groupId>com.atlassian.translations</groupId>
            <artifactId>jira-software-language-pack-cs_CZ</artifactId>
            <version>${software-language-pack-cs_CZ.version}</version>
            <scope>provided</scope>
        </dependency>
        <dependency>
            <groupId>com.atlassian.translations</groupId>
            <artifactId>jira-software-language-pack-et_EE</artifactId>
            <version>${software-language-pack-et_EE.version}</version>
            <scope>provided</scope>
        </dependency>
        <dependency>
            <groupId>com.atlassian.translations</groupId>
            <artifactId>jira-software-language-pack-da_DK</artifactId>
            <version>${software-language-pack-da_DK.version}</version>
            <scope>provided</scope>
        </dependency>
        <dependency>
            <groupId>com.atlassian.translations</groupId>
            <artifactId>jira-software-language-pack-is_IS</artifactId>
            <version>${software-language-pack-is_IS.version}</version>
            <scope>provided</scope>
        </dependency>
        <dependency>
            <groupId>com.atlassian.translations</groupId>
            <artifactId>jira-software-language-pack-no_NO</artifactId>
            <version>${software-language-pack-no_NO.version}</version>
            <scope>provided</scope>
        </dependency>
        <dependency>
            <groupId>com.atlassian.translations</groupId>
            <artifactId>jira-software-language-pack-ro_RO</artifactId>
            <version>${software-language-pack-ro_RO.version}</version>
            <scope>provided</scope>
        </dependency>
        <dependency>
            <groupId>com.atlassian.translations</groupId>
            <artifactId>jira-software-language-pack-sk_SK</artifactId>
            <version>${software-language-pack-sk_SK.version}</version>
            <scope>provided</scope>
        </dependency>
        <dependency>
            <groupId>com.atlassian.translations</groupId>
            <artifactId>jira-software-language-pack-pl_PL</artifactId>
            <version>${software-language-pack-pl_PL.version}</version>
            <scope>provided</scope>
        </dependency>
        <dependency>
            <groupId>com.atlassian.translations</groupId>
            <artifactId>jira-software-language-pack-sv_SE</artifactId>
            <version>${software-language-pack-sv_SE.version}</version>
            <scope>provided</scope>
        </dependency>
        <dependency>
            <groupId>com.atlassian.translations</groupId>
            <artifactId>jira-software-language-pack-hu_HU</artifactId>
            <version>${software-language-pack-hu_HU.version}</version>
            <scope>provided</scope>
        </dependency>
        <dependency>
            <groupId>com.atlassian.translations</groupId>
            <artifactId>jira-software-language-pack-fi_FI</artifactId>
            <version>${software-language-pack-fi_FI.version}</version>
            <scope>provided</scope>
        </dependency>
        <dependency>
            <groupId>com.atlassian.translations</groupId>
            <artifactId>jira-software-language-pack-it_IT</artifactId>
            <version>${software-language-pack-it_IT.version}</version>
            <scope>provided</scope>
        </dependency>
        <dependency>
            <groupId>com.atlassian.translations</groupId>
            <artifactId>jira-software-language-pack-nl_NL</artifactId>
            <version>${software-language-pack-nl_NL.version}</version>
            <scope>provided</scope>
        </dependency>

        <dependency>
            <groupId>com.atlassian.querydsl.plugins</groupId>
            <artifactId>querydsl-${querydsl.version}-provider-plugin</artifactId>
            <version>${querydsl.provider.version}</version>
            <scope>provided</scope>
        </dependency>
        <dependency>
            <groupId>com.atlassian</groupId>
            <artifactId>atlassian-test-categories</artifactId>
            <scope>test</scope>
        </dependency>
        <dependency>
            <groupId>junit</groupId>
            <artifactId>junit</artifactId>
            <scope>test</scope>
        </dependency>
        <dependency>
            <groupId>com.atlassian.jira</groupId>
            <artifactId>atlassian-jira-pageobjects</artifactId>
            <scope>test</scope>
        </dependency>
        <dependency>
            <groupId>io.atlassian.util.concurrent</groupId>
            <artifactId>atlassian-util-concurrent</artifactId>
            <scope>test</scope>
        </dependency>
    </dependencies>

    <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>com.atlassian.maven.plugins</groupId>
                <artifactId>jira-maven-plugin</artifactId>
                <version>${amps.version}</version>
                <extensions>true</extensions>
                <configuration>
                    <!-- make AMPS faster -->
                    <enableDevToolbox>false</enableDevToolbox>
                    <enablePde>false</enablePde>
                    <skipRestDocGeneration>true</skipRestDocGeneration>
                    <allowGoogleTracking>false</allowGoogleTracking>
                    <skipManifestValidation>true</skipManifestValidation>
                    <extractDependencies>false</extractDependencies>
                    <enableQuickReload>true</enableQuickReload>

                    <processI18nUsage>false</processI18nUsage>
                    <skipBanningDependencies>true</skipBanningDependencies>
                    <closureJsCompiler>false</closureJsCompiler>
                    <productVersion>${jira.version}</productVersion>
                    <productDataVersion>${jira.version}</productDataVersion>

                    <applications>
                        <application>
                            <applicationKey>jira-software</applicationKey>
                            <version>${project.version}</version>
                        </application>
                    </applications>

                    <!--
                        pluginArtifacts are not removed when a plugin (JSW) is uninstalled.
                        They still need to be listed under pluginDependencies to be included in the OBR file.
                    -->
                    <pluginArtifacts>
                        <pluginArtifact>
                            <groupId>com.atlassian.querydsl.plugins</groupId>
                            <artifactId>querydsl-${querydsl.version}-provider-plugin</artifactId>
                        </pluginArtifact>
                        <pluginArtifact>
                            <groupId>com.atlassian.functest</groupId>
                            <artifactId>functest-plugin</artifactId>
                            <version>${functest.plugin.version}</version>
                        </pluginArtifact>
                    </pluginArtifacts>

                    <pluginDependencies>
                        <pluginDependency>
                            <groupId>com.atlassian.querydsl.plugins</groupId>
                            <artifactId>querydsl-${querydsl.version}-provider-plugin</artifactId>
                        </pluginDependency>
                        <pluginDependency>
                            <groupId>com.atlassian.jira.plugins</groupId>
                            <artifactId>jira-software-monitor-plugin</artifactId>
                        </pluginDependency>
                        <pluginDependency>
                            <groupId>com.atlassian.jira.plugins</groupId>
                            <artifactId>jira-software-plugin</artifactId>
                        </pluginDependency>
                        <pluginDependency>
                            <groupId>com.atlassian.jira.plugins</groupId>
                            <artifactId>jira-greenhopper-plugin</artifactId>
                        </pluginDependency>
                        <pluginDependency>
                            <groupId>com.atlassian.jira.plugins</groupId>
                            <artifactId>jira-development-integration-plugin</artifactId>
                        </pluginDependency>
                        <pluginDependency>
                            <groupId>com.atlassian.jira.plugins</groupId>
                            <artifactId>jira-bamboo-plugin</artifactId>
                        </pluginDependency>
                        <pluginDependency>
                            <groupId>com.atlassian.jira.plugins</groupId>
                            <artifactId>jira-fisheye-plugin</artifactId>
                        </pluginDependency>
                        <pluginDependency>
                            <groupId>com.atlassian.jira.plugins</groupId>
                            <artifactId>jira-dvcs-connector-plugin</artifactId>
                        </pluginDependency>
                        <pluginDependency>
                            <groupId>com.atlassian.jira.plugins</groupId>
                            <artifactId>jira-transition-triggers-plugin</artifactId>
                        </pluginDependency>
                        <pluginDependency>
                            <groupId>com.atlassian</groupId>
                            <artifactId>jira-portfolio</artifactId>
                        </pluginDependency>
                        <pluginDependency>
                            <groupId>com.atlassian</groupId>
                            <artifactId>team-management-plugin</artifactId>
                        </pluginDependency>
                        <pluginDependency>
                            <groupId>com.atlassian</groupId>
                            <artifactId>portfolio-plugin</artifactId>
                        </pluginDependency>
                        <pluginDependency>
                            <groupId>com.atlassian.translations</groupId>
                            <artifactId>jira-software-language-pack-ja_JP</artifactId>
                        </pluginDependency>
                        <pluginDependency>
                            <groupId>com.atlassian.translations</groupId>
                            <artifactId>jira-software-language-pack-fr_FR</artifactId>
                        </pluginDependency>
                        <pluginDependency>
                            <groupId>com.atlassian.translations</groupId>
                            <artifactId>jira-software-language-pack-es_ES</artifactId>
                        </pluginDependency>
                        <pluginDependency>
                            <groupId>com.atlassian.translations</groupId>
                            <artifactId>jira-software-language-pack-de_DE</artifactId>
                        </pluginDependency>
                        <pluginDependency>
                            <groupId>com.atlassian.translations</groupId>
                            <artifactId>jira-software-language-pack-ru_RU</artifactId>
                        </pluginDependency>
                        <pluginDependency>
                            <groupId>com.atlassian.translations</groupId>
                            <artifactId>jira-software-language-pack-pt_BR</artifactId>
                        </pluginDependency>
                        <pluginDependency>
                            <groupId>com.atlassian.translations</groupId>
                            <artifactId>jira-software-language-pack-ko_KR</artifactId>
                        </pluginDependency>
                        <pluginDependency>
                            <groupId>com.atlassian.translations</groupId>
                            <artifactId>jira-software-language-pack-zh_CN</artifactId>
                        </pluginDependency>
                        <pluginDependency>
                            <groupId>com.atlassian.translations</groupId>
                            <artifactId>jira-software-language-pack-en_US</artifactId>
                        </pluginDependency>
                        <pluginDependency>
                            <groupId>com.atlassian.translations</groupId>
                            <artifactId>jira-software-language-pack-cs_CZ</artifactId>
                        </pluginDependency>
                        <pluginDependency>
                            <groupId>com.atlassian.translations</groupId>
                            <artifactId>jira-software-language-pack-et_EE</artifactId>
                        </pluginDependency>
                        <pluginDependency>
                            <groupId>com.atlassian.translations</groupId>
                            <artifactId>jira-software-language-pack-da_DK</artifactId>
                        </pluginDependency>
                        <pluginDependency>
                            <groupId>com.atlassian.translations</groupId>
                            <artifactId>jira-software-language-pack-is_IS</artifactId>
                        </pluginDependency>
                        <pluginDependency>
                            <groupId>com.atlassian.translations</groupId>
                            <artifactId>jira-software-language-pack-no_NO</artifactId>
                        </pluginDependency>
                        <pluginDependency>
                            <groupId>com.atlassian.translations</groupId>
                            <artifactId>jira-software-language-pack-ro_RO</artifactId>
                        </pluginDependency>
                        <pluginDependency>
                            <groupId>com.atlassian.translations</groupId>
                            <artifactId>jira-software-language-pack-sk_SK</artifactId>
                        </pluginDependency>
                        <pluginDependency>
                            <groupId>com.atlassian.translations</groupId>
                            <artifactId>jira-software-language-pack-pl_PL</artifactId>
                        </pluginDependency>
                        <pluginDependency>
                            <groupId>com.atlassian.translations</groupId>
                            <artifactId>jira-software-language-pack-sv_SE</artifactId>
                        </pluginDependency>
                        <pluginDependency>
                            <groupId>com.atlassian.translations</groupId>
                            <artifactId>jira-software-language-pack-hu_HU</artifactId>
                        </pluginDependency>
                        <pluginDependency>
                            <groupId>com.atlassian.translations</groupId>
                            <artifactId>jira-software-language-pack-fi_FI</artifactId>
                        </pluginDependency>
                        <pluginDependency>
                            <groupId>com.atlassian.translations</groupId>
                            <artifactId>jira-software-language-pack-it_IT</artifactId>
                        </pluginDependency>
                        <pluginDependency>
                            <groupId>com.atlassian.translations</groupId>
                            <artifactId>jira-software-language-pack-nl_NL</artifactId>
                        </pluginDependency>
                    </pluginDependencies>

                    <instructions>
                        <Require-Bundle>
                            com.atlassian.jira.plugins.jira-software-monitor-plugin
                        </Require-Bundle>
                        <Import-Package>
                            com.atlassian.jira.software.internal.obr.install,
                            com.atlassian.greenhopper.obr.install,
                            com.atlassian.jira.plugin.triggers.obr.install,
                            com.atlassian.jirafisheyeplugin.obr.install,
                            com.atlassian.jira.plugin.ext.bamboo.obr.install,
                            com.atlassian.jira.plugins.dvcs.obr.install,
                            com.atlassian.jira.plugin.devstatus.obr.install,
                            com.radiantminds.roadmaps-jira.obr.install;resolution:=optional,
                            com.atlassian.jpo.obr.install,
                            com.atlassian.teams.obr.install,
                            com.atlassian.jira_software.languages.ja_JP.obr.install;resolution:=optional,
                            com.atlassian.jira_software.languages.fr_FR.obr.install;resolution:=optional,
                            com.atlassian.jira_software.languages.es_ES.obr.install;resolution:=optional,
                            com.atlassian.jira_software.languages.de_DE.obr.install;resolution:=optional,
                            com.atlassian.jira_software.languages.ru_RU.obr.install;resolution:=optional,
                            com.atlassian.jira_software.languages.pt_BR.obr.install;resolution:=optional,
                            com.atlassian.jira_software.languages.ko_KR.obr.install;resolution:=optional,
                            com.atlassian.jira_software.languages.en_US.obr.install;resolution:=optional,
                            com.atlassian.jira_software.languages.zh_CN.obr.install;resolution:=optional,
                            com.atlassian.jira_software.languages.cs_CZ.obr.install;resolution:=optional,
                            com.atlassian.jira_software.languages.et_EE.obr.install;resolution:=optional,
                            com.atlassian.jira_software.languages.da_DK.obr.install;resolution:=optional,
                            com.atlassian.jira_software.languages.is_IS.obr.install;resolution:=optional,
                            com.atlassian.jira_software.languages.no_NO.obr.install;resolution:=optional,
                            com.atlassian.jira_software.languages.ro_RO.obr.install;resolution:=optional,
                            com.atlassian.jira_software.languages.sk_SK.obr.install;resolution:=optional,
                            com.atlassian.jira_software.languages.pl_PL.obr.install;resolution:=optional,
                            com.atlassian.jira_software.languages.sv_SE.obr.install;resolution:=optional,
                            com.atlassian.jira_software.languages.hu_HU.obr.install;resolution:=optional,
                            com.atlassian.jira_software.languages.fi_FI.obr.install;resolution:=optional,
                            com.atlassian.jira_software.languages.it_IT.obr.install;resolution:=optional,
                            com.atlassian.jira_software.languages.nl_NL.obr.install;resolution:=optional
                        </Import-Package>
                    </instructions>
                    <skipUTs>${skipTests}</skipUTs>
                </configuration>
            </plugin>
            <!-- Build test JAR for AT/SLAT execution -->
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-jar-plugin</artifactId>
                <version>2.4</version>
                <executions>
                    <execution>
                        <goals>
                            <goal>test-jar</goal>
                        </goals>
                        <configuration>
                            <forceCreation>true</forceCreation>
                        </configuration>
                    </execution>
                </executions>
            </plugin>

            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-surefire-plugin</artifactId>
                <configuration>
                    <excludes>
                        <exclude>it/**</exclude>
                    </excludes>
                </configuration>
            </plugin>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-failsafe-plugin</artifactId>
                <configuration>
                    <includes>
                        <include>it/**</include>
                    </includes>
                </configuration>
                <executions>
                    <execution>
                        <id>integration-tests</id>
                        <goals>
                            <goal>integration-test</goal>
                            <goal>verify</goal>
                        </goals>
                    </execution>
                </executions>
            </plugin>
        </plugins>
    </build>
</project>
