<?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.plugins</groupId>
        <artifactId>insight-parent-pom</artifactId>
        <version>8.9.10</version>
    </parent>

    <artifactId>insight</artifactId>
    <packaging>atlassian-plugin</packaging>

    <name>Insight Plugin</name>

    <dependencies>
        <dependency>
            <groupId>javax.validation</groupId>
            <artifactId>validation-api</artifactId>
            <version>2.0.1.Final</version>
            <scope>provided</scope>
        </dependency>
        <dependency>
            <groupId>javax.annotation</groupId>
            <artifactId>javax.annotation-api</artifactId>
            <scope>provided</scope>
        </dependency>
        <dependency>
            <groupId>com.sun.activation</groupId>
            <artifactId>javax.activation</artifactId>
            <scope>provided</scope>
        </dependency>
        <dependency>
            <groupId>javax.inject</groupId>
            <artifactId>javax.inject</artifactId>
            <scope>provided</scope>
        </dependency>
        <dependency>
            <groupId>com.google.code.findbugs</groupId>
            <artifactId>jsr305</artifactId>
            <scope>provided</scope>
        </dependency>
        <dependency>
            <groupId>org.immutables</groupId>
            <artifactId>value</artifactId>
            <scope>provided</scope>
        </dependency>
        <dependency>
            <groupId>com.sun.jersey</groupId>
            <artifactId>jersey-client</artifactId>
            <scope>provided</scope>
        </dependency>
        <dependency>
            <groupId>com.atlassian.activeobjects</groupId>
            <artifactId>activeobjects-plugin</artifactId>
            <scope>provided</scope>
        </dependency>
        <dependency>
            <groupId>com.atlassian.jira</groupId>
            <artifactId>jira-api</artifactId>
            <scope>provided</scope>
        </dependency>
        <dependency>
            <groupId>com.atlassian.servicedesk</groupId>
            <artifactId>jira-servicedesk-api</artifactId>
            <scope>provided</scope>
        </dependency>
        <dependency>
            <groupId>com.atlassian.jira</groupId>
            <artifactId>jira-core</artifactId>
            <scope>provided</scope>
            <exclusions>
                <exclusion>
                    <groupId>xml-apis</groupId>
                    <artifactId>xml-apis</artifactId>
                </exclusion>
                <exclusion>
                    <groupId>xerces</groupId>
                    <artifactId>xercesImpl</artifactId>
                </exclusion>
                <exclusion>
                    <groupId>javax.servlet</groupId>
                    <artifactId>servlet-api</artifactId>
                </exclusion>
            </exclusions>
        </dependency>
        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-beans</artifactId>
            <scope>provided</scope>
        </dependency>
        <dependency>
            <groupId>junit</groupId>
            <artifactId>junit</artifactId>
            <scope>test</scope>
        </dependency>
        <dependency>
            <groupId>org.assertj</groupId>
            <artifactId>assertj-core</artifactId>
            <scope>test</scope>
        </dependency>
        <dependency>
            <groupId>hsqldb</groupId>
            <artifactId>hsqldb</artifactId>
            <scope>test</scope>
        </dependency>
        <dependency>
            <groupId>org.junit.jupiter</groupId>
            <artifactId>junit-jupiter-api</artifactId>
            <scope>test</scope>
        </dependency>
        <dependency>
            <groupId>org.junit.jupiter</groupId>
            <artifactId>junit-jupiter-engine</artifactId>
            <scope>test</scope>
        </dependency>
        <dependency>
            <groupId>com.atlassian.jira</groupId>
            <artifactId>jira-tests</artifactId>
            <scope>test</scope>
        </dependency>
        <dependency>
            <groupId>com.atlassian.activeobjects</groupId>
            <artifactId>activeobjects-test</artifactId>
            <scope>test</scope>
        </dependency>
        <!-- SAL, the Active Objects plugin uses SAL's API for transactions -->
        <dependency>
            <groupId>com.atlassian.sal</groupId>
            <artifactId>sal-api</artifactId>
            <scope>provided</scope>
        </dependency>
        <dependency>
            <groupId>commons-collections</groupId>
            <artifactId>commons-collections</artifactId>
            <scope>provided</scope>
        </dependency>
        <dependency>
            <groupId>commons-codec</groupId>
            <artifactId>commons-codec</artifactId>
            <scope>provided</scope>
        </dependency>
        <dependency>
            <groupId>commons-validator</groupId>
            <artifactId>commons-validator</artifactId>
        </dependency>
        <dependency>
            <groupId>javax.servlet</groupId>
            <artifactId>javax.servlet-api</artifactId>
            <scope>provided</scope>
        </dependency>
        <dependency>
            <groupId>org.apache.commons</groupId>
            <artifactId>commons-lang3</artifactId>
            <scope>provided</scope>
        </dependency>
        <dependency>
            <groupId>com.fasterxml.jackson.core</groupId>
            <artifactId>jackson-core</artifactId>
        </dependency>
        <dependency>
            <groupId>com.fasterxml.jackson.core</groupId>
            <artifactId>jackson-annotations</artifactId>
        </dependency>
        <dependency>
            <groupId>com.fasterxml.jackson.core</groupId>
            <artifactId>jackson-databind</artifactId>
        </dependency>
        <dependency>
            <groupId>com.fasterxml.jackson.module</groupId>
            <artifactId>jackson-module-jaxb-annotations</artifactId>
            <exclusions>
                <exclusion>
                    <groupId>*</groupId>
                    <artifactId>*</artifactId>
                </exclusion>
            </exclusions>
        </dependency>
        <dependency>
            <groupId>com.atlassian.jira</groupId>
            <artifactId>jira-rest-api</artifactId>
            <scope>provided</scope>
        </dependency>
        <dependency>
            <groupId>com.atlassian.plugins.rest</groupId>
            <artifactId>atlassian-rest-common</artifactId>
            <!-- Orginally 1.0.2 -->
            <scope>provided</scope>
        </dependency>
        <dependency>
            <groupId>com.atlassian.plugins.rest</groupId>
            <artifactId>atlassian-rest-module</artifactId>
            <scope>provided</scope>
        </dependency>
        <dependency>
            <groupId>com.atlassian.plugins</groupId>
            <artifactId>atlassian-plugins-core</artifactId>
            <scope>provided</scope>
        </dependency>
        <dependency>
            <groupId>net.coobird</groupId>
            <artifactId>thumbnailator</artifactId>
        </dependency>
        <dependency>
            <groupId>com.atlassian.upm</groupId>
            <artifactId>licensing-api</artifactId>
            <scope>provided</scope>
        </dependency>
        <dependency>
            <groupId>com.atlassian.upm</groupId>
            <artifactId>upm-api</artifactId>
            <scope>provided</scope>
        </dependency>
        <dependency>
            <groupId>com.atlassian.upm</groupId>
            <artifactId>plugin-license-storage-plugin</artifactId>
            <scope>provided</scope>
        </dependency>
        <dependency>
            <groupId>com.atlassian.templaterenderer</groupId>
            <artifactId>atlassian-template-renderer-api</artifactId>
            <scope>provided</scope>
        </dependency>
        <dependency>
            <groupId>com.atlassian.event</groupId>
            <artifactId>atlassian-event</artifactId>
            <scope>provided</scope>
        </dependency>
        <dependency>
            <groupId>commons-io</groupId>
            <artifactId>commons-io</artifactId>
            <scope>provided</scope>
        </dependency>
        <dependency>
            <groupId>org.slf4j</groupId>
            <artifactId>slf4j-api</artifactId>
            <scope>provided</scope>
        </dependency>
        <!-- Enforce the usage of the Atlassian provided log4j to prevent multiple loggers with same name to be created -->
        <dependency>
            <groupId>log4j</groupId>
            <artifactId>log4j</artifactId>
            <scope>provided</scope>
        </dependency>
        <dependency>
            <groupId>org.apache.tika</groupId>
            <artifactId>tika-core</artifactId>
        </dependency>
        <dependency>
            <groupId>org.apache.httpcomponents</groupId>
            <artifactId>httpclient</artifactId>
            <scope>test</scope>
        </dependency>
        <dependency>
            <groupId>org.mockito</groupId>
            <artifactId>mockito-core</artifactId>
            <scope>test</scope>
        </dependency>
        <dependency>
            <groupId>org.mockito</groupId>
            <artifactId>mockito-inline</artifactId>
            <scope>test</scope>
        </dependency>

        <dependency>
            <groupId>commons-fileupload</groupId>
            <artifactId>commons-fileupload</artifactId>
            <scope>provided</scope>
        </dependency>
        <dependency>
            <groupId>com.thoughtworks.xstream</groupId>
            <artifactId>xstream</artifactId>
            <scope>provided</scope>
        </dependency>
        <dependency>
            <groupId>com.google.code.gson</groupId>
            <artifactId>gson</artifactId>
        </dependency>
        <dependency>
            <groupId>com.google.guava</groupId>
            <artifactId>guava</artifactId>
            <scope>provided</scope>
        </dependency>
        <dependency>
            <groupId>net.sf.supercsv</groupId>
            <artifactId>super-csv</artifactId>
        </dependency>
        <dependency>
            <groupId>net.sf.ehcache</groupId>
            <artifactId>ehcache</artifactId>
        </dependency>
        <dependency>
            <groupId>com.google.zxing</groupId>
            <artifactId>core</artifactId>
        </dependency>
        <dependency>
            <groupId>org.quartz-scheduler</groupId>
            <artifactId>quartz</artifactId>
        </dependency>
        <!-- Groovy dependencies -->
        <dependency>
            <groupId>org.codehaus.groovy</groupId>
            <artifactId>groovy-all</artifactId>
        </dependency>
        <dependency>
            <groupId>org.codehaus.groovy.modules.http-builder</groupId>
            <artifactId>http-builder</artifactId>
            <exclusions>
                <exclusion>
                    <groupId>xerces</groupId>
                    <artifactId>xercesImpl</artifactId>
                </exclusion>
            </exclusions>
        </dependency>
        <dependency>
            <groupId>net.sf.json-lib</groupId>
            <artifactId>json-lib</artifactId>
            <classifier>jdk15</classifier>
        </dependency>
        <dependency>
            <groupId>net.sourceforge.nekohtml</groupId>
            <artifactId>nekohtml</artifactId>
            <exclusions>
                <exclusion>
                    <groupId>xerces</groupId>
                    <artifactId>xercesImpl</artifactId>
                </exclusion>
            </exclusions>
        </dependency>
        <!-- Streams -->
        <dependency>
            <groupId>com.atlassian.streams</groupId>
            <artifactId>streams-thirdparty-api</artifactId>
            <scope>provided</scope>
        </dependency>
        <dependency>
            <groupId>com.atlassian.streams</groupId>
            <artifactId>streams-api</artifactId>
            <scope>provided</scope>
        </dependency>
        <dependency>
            <groupId>com.atlassian.streams</groupId>
            <artifactId>streams-spi</artifactId>
            <scope>provided</scope>
        </dependency>
        <dependency>
            <groupId>net.lingala.zip4j</groupId>
            <artifactId>zip4j</artifactId>
        </dependency>
        <dependency>
            <groupId>org.jsoup</groupId>
            <artifactId>jsoup</artifactId>
        </dependency>
        <dependency>
            <groupId>net.jpountz.lz4</groupId>
            <artifactId>lz4</artifactId>
        </dependency>
        <dependency>
            <groupId>org.apache.xmlgraphics</groupId>
            <artifactId>batik-transcoder</artifactId>
            <exclusions>
                <exclusion>
                    <groupId>xalan</groupId>
                    <artifactId>*</artifactId>
                </exclusion>
                <exclusion>
                    <groupId>xml-apis</groupId>
                    <artifactId>*</artifactId>
                </exclusion>
            </exclusions>
        </dependency>
        <dependency>
            <groupId>org.apache.xmlgraphics</groupId>
            <artifactId>batik-codec</artifactId>
        </dependency>
        <dependency>
            <groupId>org.pojava</groupId>
            <artifactId>pojava</artifactId>
        </dependency>
        <dependency>
            <groupId>com.unboundid</groupId>
            <artifactId>unboundid-ldapsdk</artifactId>
            <scope>test</scope>
        </dependency>
        <dependency>
            <groupId>joda-time</groupId>
            <artifactId>joda-time</artifactId>
            <scope>provided</scope>
        </dependency>
        <dependency>
            <groupId>org.owasp.encoder</groupId>
            <artifactId>encoder</artifactId>
        </dependency>

        <!-- CMJ SPI library -->
        <dependency>
            <groupId>com.botronsoft.cmj.spi</groupId>
            <artifactId>configuration-manager-spi</artifactId>
            <scope>provided</scope>
        </dependency>

        <dependency>
            <groupId>com.atlassian.servicedesk</groupId>
            <artifactId>insight-core-index</artifactId>
        </dependency>
        <dependency>
            <groupId>com.atlassian.servicedesk</groupId>
            <artifactId>insight-core-utils</artifactId>
        </dependency>
        <dependency>
            <groupId>com.atlassian.servicedesk</groupId>
            <artifactId>insight-core-model</artifactId>
        </dependency>
        <dependency>
            <groupId>com.atlassian.servicedesk</groupId>
            <artifactId>insight-core-persistence</artifactId>
        </dependency>
        <dependency>
            <groupId>com.atlassian.servicedesk</groupId>
            <artifactId>insight-core-services</artifactId>
        </dependency>
        <dependency>
            <groupId>com.atlassian.servicedesk</groupId>
            <artifactId>insight-external-services</artifactId>
        </dependency>
        <dependency><!-- This dependency needs to have the "provided" scope since we unpack it before packaging due to the fact
                 that the Atlassian REST plugin module does not scan libraries bundled with a plugin -->
            <groupId>com.atlassian.servicedesk</groupId>
            <artifactId>insight-api-old</artifactId>
            <scope>provided</scope>
            <exclusions>
                <exclusion>
                    <groupId>javax.ws.rs</groupId>
                    <artifactId>javax.ws.rs-api</artifactId>
                </exclusion>
            </exclusions>
        </dependency>
        <dependency>
            <groupId>com.atlassian.servicedesk</groupId>
            <artifactId>insight-core-iql</artifactId>
            <exclusions>
                <exclusion>
                    <groupId>org.antlr</groupId>
                    <artifactId>antlr4</artifactId>
                </exclusion>
            </exclusions>
        </dependency>

        <dependency>
            <groupId>com.graphql-java-kickstart</groupId>
            <artifactId>graphql-java-servlet</artifactId>
        </dependency>

        <dependency>
            <groupId>com.atlassian.servicedesk</groupId>
            <artifactId>insight-api-graphql</artifactId>
        </dependency>

        <dependency>
            <groupId>com.atlassian.servicedesk</groupId>
            <artifactId>insight-core-ui</artifactId>
        </dependency>

        <!-- BEGIN : Dependencies on AssetManagement -->
        <dependency>
            <groupId>com.atlassian.jira.plugins</groupId>
            <artifactId>insight-core-object-navigator</artifactId>
            <!-- Keep provided - will be unpacked (see below)! -->
            <scope>provided</scope>
            <exclusions>
                <exclusion>
                    <groupId>*</groupId>
                    <artifactId>*</artifactId>
                </exclusion>
            </exclusions>
        </dependency>
        <dependency>
            <groupId>org.jetbrains.kotlin</groupId>
            <artifactId>kotlin-stdlib</artifactId>
        </dependency>
        <dependency>
            <groupId>org.jetbrains.kotlin</groupId>
            <artifactId>kotlin-stdlib-jdk8</artifactId>
        </dependency>
        <dependency>
            <groupId>org.jetbrains.kotlin</groupId>
            <artifactId>kotlin-reflect</artifactId>
        </dependency>
        <dependency>
            <groupId>org.jetbrains.kotlinx</groupId>
            <artifactId>kotlinx-coroutines-core</artifactId>
        </dependency>
        <dependency>
            <groupId>com.fasterxml.jackson.module</groupId>
            <artifactId>jackson-module-kotlin</artifactId>
        </dependency>
        <dependency>
            <groupId>org.hibernate.validator</groupId>
            <artifactId>hibernate-validator</artifactId>
        </dependency>
        <dependency>
            <groupId>org.hibernate.validator</groupId>
            <artifactId>hibernate-validator-annotation-processor</artifactId>
        </dependency>
        <dependency>
            <groupId>org.glassfish</groupId>
            <artifactId>jakarta.el</artifactId>
        </dependency>
        <!-- END : Dependencies on AssetManagement -->

        <!-- BEGIN : Dependencies on Widgets -->
        <dependency>
            <groupId>com.atlassian.jira.plugins</groupId>
            <artifactId>insight-core-widget-api</artifactId>
            <exclusions>
                <exclusion>
                    <groupId>*</groupId>
                    <artifactId>*</artifactId>
                </exclusion>
            </exclusions>
        </dependency>
        <dependency>
            <groupId>com.atlassian.jira.plugins</groupId>
            <artifactId>insight-core-widget</artifactId>
            <!-- Keep provided - will be unpacked (see below)! -->
            <scope>provided</scope>
            <exclusions>
                <exclusion>
                    <groupId>*</groupId>
                    <artifactId>*</artifactId>
                </exclusion>
            </exclusions>
        </dependency>
        <dependency>
            <groupId>com.atlassian.jira.plugins</groupId>
            <artifactId>insight-core-widget-report</artifactId>
            <exclusions>
                <exclusion>
                    <groupId>*</groupId>
                    <artifactId>*</artifactId>
                </exclusion>
            </exclusions>
        </dependency>
        <dependency>
            <groupId>com.cronutils</groupId>
            <artifactId>cron-utils</artifactId>
        </dependency>
        <dependency>
            <groupId>net.redhogs.cronparser</groupId>
            <artifactId>cron-parser-core</artifactId>
        </dependency>
        <!-- END : Dependencies on AssetManagement -->

        <!-- BEGIN : Dependencies for language packs -->
        <dependency>
            <groupId>com.atlassian.translations</groupId>
            <artifactId>mindville-server-language-pack-ja_JP</artifactId>
            <scope>compile</scope>
        </dependency>
        <dependency>
            <groupId>com.atlassian.translations</groupId>
            <artifactId>mindville-server-language-pack-zh_CN</artifactId>
            <scope>compile</scope>
        </dependency>
        <dependency>
            <groupId>com.atlassian.translations</groupId>
            <artifactId>mindville-server-language-pack-ko_KR</artifactId>
            <scope>compile</scope>
        </dependency>
        <dependency>
            <groupId>com.atlassian.translations</groupId>
            <artifactId>mindville-server-language-pack-pt_BR</artifactId>
            <scope>compile</scope>
        </dependency>
        <dependency>
            <groupId>com.atlassian.translations</groupId>
            <artifactId>mindville-server-language-pack-ru_RU</artifactId>
            <scope>compile</scope>
        </dependency>
        <dependency>
            <groupId>com.atlassian.translations</groupId>
            <artifactId>mindville-server-language-pack-cs_CZ</artifactId>
            <scope>compile</scope>
        </dependency>
        <dependency>
            <groupId>com.atlassian.translations</groupId>
            <artifactId>mindville-server-language-pack-de_DE</artifactId>
            <scope>compile</scope>
        </dependency>
        <dependency>
            <groupId>com.atlassian.translations</groupId>
            <artifactId>mindville-server-language-pack-es_ES</artifactId>
            <scope>compile</scope>
        </dependency>
        <dependency>
            <groupId>com.atlassian.translations</groupId>
            <artifactId>mindville-server-language-pack-fr_FR</artifactId>
            <scope>compile</scope>
        </dependency>
        <dependency>
            <groupId>com.atlassian.translations</groupId>
            <artifactId>mindville-server-language-pack-it_IT</artifactId>
            <scope>compile</scope>
        </dependency>
        <dependency>
            <groupId>com.atlassian.translations</groupId>
            <artifactId>mindville-server-language-pack-pl_PL</artifactId>
            <scope>compile</scope>
        </dependency>
        <dependency>
            <groupId>com.atlassian.translations</groupId>
            <artifactId>mindville-server-language-pack-sv_SE</artifactId>
            <scope>compile</scope>
        </dependency>
        <dependency>
            <groupId>com.atlassian.translations</groupId>
            <artifactId>mindville-server-language-pack-fi_FI</artifactId>
            <scope>compile</scope>
        </dependency>
        <dependency>
            <groupId>com.atlassian.translations</groupId>
            <artifactId>mindville-server-language-pack-nl_NL</artifactId>
            <scope>compile</scope>
        </dependency>
        <dependency>
            <groupId>com.atlassian.translations</groupId>
            <artifactId>mindville-server-language-pack-da_DK</artifactId>
            <scope>compile</scope>
        </dependency>
        <dependency>
            <groupId>com.atlassian.translations</groupId>
            <artifactId>mindville-server-language-pack-hu_HU</artifactId>
            <scope>compile</scope>
        </dependency>
        <dependency>
            <groupId>com.atlassian.translations</groupId>
            <artifactId>mindville-server-language-pack-no_NO</artifactId>
            <scope>compile</scope>
        </dependency>
        <!-- END : Dependencies for language packs -->

        <dependency>
            <groupId>org.jetbrains.kotlin</groupId>
            <artifactId>kotlin-test-junit5</artifactId>
            <scope>test</scope>
        </dependency>
        <dependency>
            <groupId>com.nhaarman.mockitokotlin2</groupId>
            <artifactId>mockito-kotlin</artifactId>
            <scope>test</scope>
        </dependency>
    </dependencies>

    <build>
        <resources>
            <resource>
                <directory>src/main/resources</directory>
                <filtering>true</filtering>
                <includes>
                    <include>**/insight.properties</include>
                    <include>**/build.info</include>
                </includes>
            </resource>
            <resource>
                <directory>src/main/resources</directory>
                <filtering>false</filtering>
                <excludes>
                    <exclude>**/insight.properties</exclude>
                    <exclude>**/build.info</exclude>
                </excludes>
            </resource>
        </resources>
        <plugins>
            <plugin>
                <groupId>org.jetbrains.kotlin</groupId>
                <artifactId>kotlin-maven-plugin</artifactId>
            </plugin>
            <plugin>
                <groupId>org.apache.felix</groupId>
                <artifactId>maven-bundle-plugin</artifactId>
                <configuration>
                    <instructions>
                        <_fixupmessages>"Classes found in the wrong directory";is:=warning</_fixupmessages>
                    </instructions>
                </configuration>
            </plugin>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-dependency-plugin</artifactId>
                <executions>
                    <execution>
                        <id>unpack</id>
                        <phase>compile</phase>
                        <goals>
                            <goal>unpack</goal>
                        </goals>
                        <configuration>
                            <!-- We need to unpack our API libraries due to the fact that the Atlassian
                                 REST plugin module does not scan a library bundled with a plugin -->
                            <artifactItems>
                                <artifactItem>
                                    <groupId>com.atlassian.jira.plugins</groupId>
                                    <artifactId>insight-core-object-navigator</artifactId>
                                    <outputDirectory>${project.build.outputDirectory}</outputDirectory>
                                    <excludes>META-INF/MANIFEST.MF</excludes>
                                </artifactItem>

                                <artifactItem>
                                    <groupId>com.atlassian.servicedesk</groupId>
                                    <artifactId>insight-core-ui</artifactId>
                                    <outputDirectory>${project.build.outputDirectory}</outputDirectory>
                                    <includes>META-INF/plugin-descriptors/**</includes>
                                </artifactItem>
                                
                                <artifactItem>
                                    <groupId>com.atlassian.jira.plugins</groupId>
                                    <artifactId>insight-core-widget</artifactId>
                                    <outputDirectory>${project.build.outputDirectory}</outputDirectory>
                                    <excludes>META-INF/MANIFEST.MF</excludes>
                                </artifactItem>

                                <artifactItem>
                                    <groupId>com.atlassian.jira.plugins</groupId>
                                    <artifactId>insight-core-widget-report</artifactId>
                                    <outputDirectory>${project.build.outputDirectory}</outputDirectory>
                                    <includes>META-INF/plugin-descriptors/**</includes>
                                </artifactItem>
                            </artifactItems>
                        </configuration>
                    </execution>
                    <execution>
                        <id>extract-insight-core-ui-dependencies</id>
                        <phase>prepare-package</phase>
                        <goals>
                            <goal>unpack</goal>
                        </goals>
                        <configuration>
                            <artifactItems>
                                <artifactItem>
                                    <groupId>com.atlassian.servicedesk</groupId>
                                    <artifactId>insight-core-ui</artifactId>
                                    <outputDirectory>${project.build.outputDirectory}</outputDirectory>
                                    <includes>META-INF/plugin-descriptors/**</includes>
                                </artifactItem>
                            </artifactItems>
                        </configuration>
                    </execution>
                    <execution>
                        <id>extract-insight-api-old-dependencies</id>
                        <phase>prepare-package</phase>
                        <goals>
                            <goal>unpack</goal>
                        </goals>
                        <configuration>
                            <artifactItems>
                                <artifactItem>
                                    <!-- We need to unpack our old API library due to the fact that the Atlassian
                                    REST plugin module does not scan a library bundled with a plugin -->
                                    <groupId>com.atlassian.servicedesk</groupId>
                                    <artifactId>insight-api-old</artifactId>
                                    <outputDirectory>${project.build.outputDirectory}</outputDirectory>
                                    <includes>**/*.class</includes>
                                </artifactItem>
                            </artifactItems>
                        </configuration>
                    </execution>
                </executions>
            </plugin>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-javadoc-plugin</artifactId>
                <configuration>
                    <show>public</show>
                    <nohelp>true</nohelp>
                    <sourcepath>${basedir}/src/main/java</sourcepath>
                    <subpackages>
                        com.riadalabs.jira.plugins.insight.services.model:com.riadalabs.jira.plugins.insight.channel.external.api.facade:com.riadalabs.jira.plugins.insight.common.exception:com.riadalabs.jira.plugins.insight.services.imports.common.external:com.riadalabs.jira.plugins.insight.services.imports.model:com.riadalabs.jira.plugins.insight.services.progress.model:com.riadalabs.jira.plugins.insight.services.events.objects
                    </subpackages>
                    <stylesheetfile>${basedir}/javadoc.css</stylesheetfile>
                    <additionalOptions>
                        <additionalOption>-Xdoclint:none</additionalOption>
                    </additionalOptions>
                </configuration>
            </plugin>
            <plugin>
                <groupId>pl.project13.maven</groupId>
                <artifactId>git-commit-id-plugin</artifactId>
                <executions>
                    <execution>
                        <id>get-the-git-infos</id>
                        <goals>
                            <goal>revision</goal>
                        </goals>
                        <phase>initialize</phase>
                    </execution>
                </executions>
                <configuration>
                    <includeOnlyProperties>
                        <includeOnlyProperty>git.commit.id.abbrev</includeOnlyProperty>
                    </includeOnlyProperties>
                </configuration>
            </plugin>
            <plugin>
                <groupId>com.atlassian.maven.plugins</groupId>
                <artifactId>jira-maven-plugin</artifactId>
                <version>${amps.version}</version>
                <extensions>true</extensions>
                <configuration>
                    <enableQuickReload>true</enableQuickReload>
                    <enableDevToolbox>true</enableDevToolbox>
                    <enablePde>false</enablePde>
                    <skipRestDocGeneration>true</skipRestDocGeneration>
                    <skipBanningDependencies>true</skipBanningDependencies>
                    <allowGoogleTracking>false</allowGoogleTracking>
                    <skipManifestValidation>true</skipManifestValidation>
                    <extractDependencies>false</extractDependencies>
                    <skipManifestValidation>true</skipManifestValidation>
                    <compressResources>false</compressResources>
                    <log4jProperties>${project.basedir}/../dev-setup/resources/log4j.dev.properties</log4jProperties>
                    <pluginArtifacts>
                        <pluginArtifact>
                            <groupId>com.atlassian.labs.plugins</groupId>
                            <artifactId>quickreload</artifactId>
                            <version>${quick.reload.version}</version>
                        </pluginArtifact>
                        <pluginArtifact>
                            <groupId>com.atlassian.jira.tests</groupId>
                            <artifactId>jira-testkit-plugin</artifactId>
                            <version>${testkit.version}</version>
                        </pluginArtifact>
                        <pluginArtifact>
                            <groupId>com.riadalabs.jira.plugins</groupId>
                            <artifactId>insight-discovery</artifactId>
                            <version>${insight.discovery.version}</version>
                        </pluginArtifact>
                        <pluginArtifact>
                            <groupId>com.atlassian.jira.plugins.insight</groupId>
                            <artifactId>insight-atlassian-environments</artifactId>
                            <version>${insight.atlassian-environments.version}</version>
                        </pluginArtifact>
                        <pluginArtifact>
                            <groupId>com.atlassian.jira.plugins</groupId>
                            <artifactId>insight-aws-integration</artifactId>
                            <version>${insight.aws.version}</version>
                        </pluginArtifact>
                        <pluginArtifact>
                            <groupId>com.atlassian.jira.plugins</groupId>
                            <artifactId>insight-azure-integration</artifactId>
                            <version>${insight.azure.version}</version>
                        </pluginArtifact>
                        <pluginArtifact>
                            <groupId>com.atlassian.jira.plugins</groupId>
                            <artifactId>insight-cve-integration</artifactId>
                            <version>${insight.cvs.version}</version>
                        </pluginArtifact>
                        <pluginArtifact>
                            <groupId>com.atlassian.jira.plugins</groupId>
                            <artifactId>insight-device42-integration</artifactId>
                            <version>${insight.device42.version}</version>
                        </pluginArtifact>
                        <pluginArtifact>
                            <groupId>com.atlassian.jira.plugins</groupId>
                            <artifactId>insight-googlecloud-integration</artifactId>
                            <version>${insight.google-cloud.version}</version>
                        </pluginArtifact>
                        <pluginArtifact>
                            <groupId>com.atlassian.jira.plugins</groupId>
                            <artifactId>insight-jamf-integration</artifactId>
                            <version>${insight.jamf.version}</version>
                        </pluginArtifact>
                        <pluginArtifact>
                            <groupId>com.atlassian.jira.plugins</groupId>
                            <artifactId>insight-sccm-integration</artifactId>
                            <version>${insight.sccm.version}</version>
                        </pluginArtifact>
                        <pluginArtifact>
                            <groupId>com.atlassian.jira.plugins</groupId>
                            <artifactId>insight-servicenow-integration</artifactId>
                            <version>${insight.service-now.version}</version>
                        </pluginArtifact>
                        <pluginArtifact>
                            <groupId>com.atlassian.jira.plugins</groupId>
                            <artifactId>insight-snow-integration</artifactId>
                            <version>${insight.snow.version}</version>
                        </pluginArtifact>
                    </pluginArtifacts>

                    <productVersion>${jira.version}</productVersion>
                    <productDataVersion>${jira.version}</productDataVersion>

                    <applications>
                        <application>
                            <applicationKey>jira-servicedesk</applicationKey>
                            <version>${jsm.version}</version>
                        </application>
                    </applications>

                    <!--
                    <productDataPath>${basedir}/src/test/resources/generated-test-resources.zip</productDataPath>
                    <jvmArgs>-Xms4g -Xmx8g -XX:MaxPermSize=1g -XX:-UseGCOverheadLimit -server</jvmArgs>
                    -->

                    <systemPropertyVariables>
                        <atlassian.mail.senddisabled>false</atlassian.mail.senddisabled>
                        <jira.downgrade.allowed>true</jira.downgrade.allowed>
                    </systemPropertyVariables>
                    <instructions>
                        <Bundle-SymbolicName>com.riadalabs.jira.plugins.insight</Bundle-SymbolicName>
                        <Spring-Context>*;timeout:=60</Spring-Context>
                        <Private-Package>com.atlassian.upm.license.storage.lib*</Private-Package>
                        <Export-Package>
                            com.riadalabs.jira.plugins.insight.channel.external.api.facade;version="${project.version}",
                            com.riadalabs.jira.plugins.insight.channel.external.api.facade.model;version="${project.version}",
                            com.riadalabs.jira.plugins.insight.services.model;version="${project.version}",
                            com.riadalabs.jira.plugins.insight.services.model.factory;version="${project.version}",
                            com.riadalabs.jira.plugins.insight.services.imports.model;version="${project.version}",
                            com.riadalabs.jira.plugins.insight.common.exception;version="${project.version}",
                            com.riadalabs.jira.plugins.insight.services.imports.common.external;version="${project.version}",
                            com.riadalabs.jira.plugins.insight.services.imports.common.external.model;version="${project.version}",
                            com.riadalabs.jira.plugins.insight.services.imports.common.external.model.external;version="${project.version}",
                            com.riadalabs.jira.plugins.insight.services.imports.common.external.model.external.baseversion;version="${project.version}",
                            com.riadalabs.jira.plugins.insight.services.imports.common.external.model.validation;version="${project.version}",
                            com.riadalabs.jira.plugins.insight.services.imports.common.external.insightfield;version="${project.version}",
                            com.riadalabs.jira.plugins.insight.services.imports.common.external.insightfield.checkbox;version="${project.version}",
                            com.riadalabs.jira.plugins.insight.services.imports.common.external.insightfield.picker;version="${project.version}",
                            com.riadalabs.jira.plugins.insight.services.imports.common.external.insightfield.select;version="${project.version}",
                            com.riadalabs.jira.plugins.insight.services.imports.common.external.insightfield.text;version="${project.version}",
                            com.riadalabs.jira.plugins.insight.services.imports.common.external.insightfield.textarea;version="${project.version}",
                            com.riadalabs.jira.plugins.insight.services.events;version="${project.version}",
                            com.riadalabs.jira.plugins.insight.services.events.objects;version="${project.version}",
                            com.riadalabs.jira.plugins.insight.services.events.objects.event;version="${project.version}",
                            com.riadalabs.jira.plugins.insight.services.progress.model;version="${project.version}",
                            com.riadalabs.jira.plugins.insight.services.progress.result;version="${project.version}",

                            io.riada.jira.plugins.insight.widget.api;version="${project.version}",
                            io.riada.jira.plugins.insight.widget.api.capability;version="${project.version}",

                            io.riada.core.annotation;version="${project.version}",
                            io.riada.core.error.model;version="${project.version}",
                            io.riada.core.service.model;version="${project.version}",
                            io.riada.core.service;version="${project.version}",
                            io.riada.insight.model;version="${project.version}"
                        </Export-Package>
                        <Import-Package>
                            <!-- ignore compile scope packages -->
                            !org.apache.batik.*;version="0.0",
                            <!-- This is optional because 0$app on marketplace can be used without JSM -->
                            com.atlassian.servicedesk.api.customer;resolution:="optional",
                            javax.servlet;version="${javax.servlet.version}",
                            <!-- Everything else -->
                            *;resolution:="optional"
                        </Import-Package>
                        <DynamicImport-Package>
                            com.botronsoft.cmj.spi.*;resolution:=optional,
                        </DynamicImport-Package>
                        <Atlassian-Scan-Folders>META-INF/plugin-descriptors</Atlassian-Scan-Folders>
                    </instructions>
                </configuration>
            </plugin>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-jar-plugin</artifactId>
                <configuration>
                    <archive>
                        <manifestEntries>
                            <!-- graphql-java-servlet dependency add some require capabilities which are actually not needed for us and prevent
                            insight to be started using amps version 6.3.21. That's why we override them
                             -->
                            <Require-Capability>osgi.ee;filter:="(&amp;(osgi.ee=JavaSE)(version=1.8))"
                            </Require-Capability>
                        </manifestEntries>
                    </archive>
                </configuration>
                <executions>
                    <execution>
                        <phase>package</phase>
                        <goals>
                            <goal>jar</goal>
                        </goals>
                        <configuration>
                            <classifier>api</classifier>
                            <includes>
                                <!-- Internal - should not be exposed to customer -->
                                <include>
                                    com/riadalabs/jira/plugins/insight/common/validation/CronExpressionQuartzValidator*
                                </include>
                                <include>
                                    com/riadalabs/jira/plugins/insight/services/cache/filter/objectaction/ObjectBeanAction*
                                </include>
                                <include>
                                    com/riadalabs/jira/plugins/insight/services/cache/filter/ObjectTypeAttributeFilter*
                                </include>
                                <include>com/riadalabs/jira/plugins/insight/services/cache/replication/*</include>
                                <include>
                                    com/riadalabs/jira/plugins/insight/services/confluence/ConfluenceIntegrationService*
                                </include>
                                <include>com/riadalabs/jira/plugins/insight/services/core/ConfigureService*</include>
                                <include>com/riadalabs/jira/plugins/insight/services/core/iql/IQLParser*</include>
                                <include>com/riadalabs/jira/plugins/insight/services/core/IQLService*</include>
                                <include>com/riadalabs/jira/plugins/insight/services/core/LabelTemplateService*
                                </include>
                                <include>com/riadalabs/jira/plugins/insight/services/core/MoveService*</include>
                                <include>com/riadalabs/jira/plugins/insight/services/core/ObjectSchemaService*</include>
                                <include>com/riadalabs/jira/plugins/insight/services/core/ObjectService*</include>
                                <include>com/riadalabs/jira/plugins/insight/services/core/ObjectTypeAttributeService*
                                </include>
                                <include>com/riadalabs/jira/plugins/insight/services/core/ObjectTypeService*</include>
                                <include>com/riadalabs/jira/plugins/insight/services/events/EventDispatchOption*
                                </include>
                                <include>
                                    com/riadalabs/jira/plugins/insight/services/imports/common/external/Translateble*
                                </include>
                                <include>com/riadalabs/jira/plugins/insight/services/jira/applicationlink/*</include>
                                <include>com/riadalabs/jira/plugins/insight/services/progress/ProgressService*</include>
                                <include>com/riadalabs/jira/plugins/insight/services/util/I18nFactoryService*</include>
                                <include>com/riadalabs/jira/plugins/insight/util/I18n*</include>

                                <!-- Public -->
                                <include>com/riadalabs/jira/plugins/insight/channel/external/api/facade/*</include>
                                <include>com/riadalabs/jira/plugins/insight/channel/external/api/facade/model/*
                                </include>
                                <include>com/riadalabs/jira/plugins/insight/channel/web/api/rest/*</include>
                                <include>com/riadalabs/jira/plugins/insight/channel/web/api/rest/model/*</include>
                                <include>com/riadalabs/jira/plugins/insight/channel/web/api/rest/transformation/*
                                </include>
                                <include>com/riadalabs/jira/plugins/insight/common/exception/*</include>
                                <include>com/riadalabs/jira/plugins/insight/services/AttachmentUrlResolver*
                                </include><!-- only needed for AttachmentUrlResolverImpl.ATTACHMENTS_DOWNLOAD_BASE_URL constant @TODO: refactor -->
                                <include>com/riadalabs/jira/plugins/insight/services/confluence/*</include>
                                <include>
                                    com/riadalabs/jira/plugins/insight/services/core/dal/dao/activeobjects/ObjectHistoryAO*
                                </include><!-- only needed for ObjectHistoryAO.* constants @TODO: refactor -->
                                <include>com/riadalabs/jira/plugins/insight/services/events/EventDispatchOption
                                </include>
                                <include>com/riadalabs/jira/plugins/insight/services/events/InsightAsyncEvent*</include>
                                <include>com/riadalabs/jira/plugins/insight/services/events/InsightEvent*</include>
                                <include>com/riadalabs/jira/plugins/insight/services/events/InsightEventListener*
                                </include>
                                <include>com/riadalabs/jira/plugins/insight/services/events/objects/*</include>
                                <include>com/riadalabs/jira/plugins/insight/services/events/objects/event/*</include>
                                <include>com/riadalabs/jira/plugins/insight/services/events/progress/*</include>
                                <include>com/riadalabs/jira/plugins/insight/services/model/*</include>
                                <include>com/riadalabs/jira/plugins/insight/services/model/move/*</include>
                                <include>
                                    com/riadalabs/jira/plugins/insight/services/progress/InsightProgressIllegalStateException*
                                </include>
                                <include>com/riadalabs/jira/plugins/insight/services/progress/model/*</include>
                                <include>com/riadalabs/jira/plugins/insight/services/progress/ProgressCategory*
                                </include>
                                <include>com/riadalabs/jira/plugins/insight/services/progress/result/*</include>
                                <include>com/riadalabs/jira/plugins/insight/services/user/*</include>
                            </includes>
                            <excludes>
                                <exclude>**/impl/**</exclude>
                                <exclude>**/*Impl*</exclude>
                            </excludes>
                        </configuration>
                    </execution>
                    <execution>
                        <id>test</id>
                        <phase>package</phase>
                        <goals>
                            <goal>jar</goal>
                        </goals>
                        <configuration>
                            <classifier>test</classifier>
                            <includes>
                                <include>**/com/riadalabs/**/channel/**</include>
                                <include>**/com/riadalabs/**/services/model/**</include>
                                <include>**/com/riadalabs/**/services/**/model/**</include>
                                <include>**/com/riadalabs/**/exception/**</include>
                                <include>**/com/riadalabs/**/services/events/**</include>
                                <include>**/com/riadalabs/**/services/automation/event/**</include>
                                <include>**/com/riadalabs/**/services/automation/condition/**</include>
                                <include>**/com/riadalabs/**/services/automation/action/**</include>
                                <include>**/com/riadalabs/**/services/automation/action/data/**</include>
                            </includes>
                        </configuration>
                    </execution>
                    <execution>
                        <id>import</id>
                        <phase>package</phase>
                        <goals>
                            <goal>jar</goal>
                        </goals>
                        <configuration>
                            <classifier>import</classifier>
                            <includes>
                                <include>**/com/riadalabs/**/imports/model/**</include>
                                <include>**/com/riadalabs/**/services/imports/common/external/**</include>
                                <include>**/com/riadalabs/jira/plugins/insight/services/events/**</include>
                            </includes>
                        </configuration>
                    </execution>
                </executions>
            </plugin>
            <plugin>
                <groupId>org.codehaus.mojo</groupId>
                <artifactId>jaxb2-maven-plugin</artifactId>
                <executions>
                    <execution>
                        <id>schemagen</id>
                        <goals>
                            <goal>schemagen</goal>
                        </goals>
                    </execution>
                </executions>
                <configuration>
                    <sources>
                        <source>
                            src/main/java/com/riadalabs/jira/plugins/insight/services/imports/common/external/model/external
                        </source>
                    </sources>
                    <transformSchemas>
                        <transformSchema>
                            <uri>http://www.riada.se/insight/external/version/1</uri>
                            <toPrefix>baseversion</toPrefix>
                            <toFile>external_baseversion.xsd</toFile>
                        </transformSchema>
                    </transformSchemas>
                </configuration>
            </plugin>
        </plugins>
    </build>

    <profiles>
        <profile>
            <id>development</id>
            <activation>
                <activeByDefault>true</activeByDefault>
            </activation>
            <properties>
                <revision.suffix>-SNAPSHOT</revision.suffix>
            </properties>
        </profile>
        <profile>
            <id>release</id>
            <properties>
                <revision.suffix/>
            </properties>
            <build>
                <plugins>
                    <plugin>
                        <groupId>org.apache.maven.plugins</groupId>
                        <artifactId>maven-enforcer-plugin</artifactId>
                        <version>${maven.enforcer.plugin.version}</version>
                        <executions>
                            <execution>
                                <id>enforce-no-snapshots</id>
                                <goals>
                                    <goal>enforce</goal>
                                </goals>
                                <configuration>
                                    <rules>
                                        <requireReleaseDeps>
                                            <message>No Snapshots Allowed!</message>
                                        </requireReleaseDeps>
                                    </rules>
                                    <fail>true</fail>
                                </configuration>
                            </execution>
                        </executions>
                        <dependencies>
                            <dependency>
                                <groupId>org.apache.maven.plugins</groupId>
                                <artifactId>maven-enforcer-plugin</artifactId>
                                <version>${maven.enforcer.plugin.version}</version>
                            </dependency>
                        </dependencies>
                    </plugin>
                </plugins>
            </build>
        </profile>
    </profiles>
</project>
