<?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>atlassian-connect-parent</artifactId>
        <groupId>com.atlassian.plugins</groupId>
        <version>1.0-m10-build44</version>
    </parent>
    <modelVersion>4.0.0</modelVersion>

    <artifactId>atlassian-connect-plugin</artifactId>
    <name>Atlassian Connect - Plugin</name>
    <packaging>atlassian-plugin</packaging>

    <licenses>
        <license>
            <name>Apache License 2.0</name>
            <url>http://www.apache.org/licenses/LICENSE-2.0</url>
            <distribution>repo</distribution>
        </license>
    </licenses>

    <dependencies>
        <dependency>
            <groupId>${project.groupId}</groupId>
            <artifactId>atlassian-connect-api</artifactId>
            <version>${project.version}</version>
        </dependency>
        <dependency>
            <groupId>${project.groupId}</groupId>
            <artifactId>atlassian-connect-spi</artifactId>
            <version>${project.version}</version>
        </dependency>
        <dependency>
            <groupId>javax.inject</groupId>
            <artifactId>javax.inject</artifactId>
            <scope>provided</scope>
        </dependency>
        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-context</artifactId>
            <scope>provided</scope>
        </dependency>
        <dependency>
            <groupId>com.atlassian.applinks</groupId>
            <artifactId>applinks-spi</artifactId>
            <scope>provided</scope>
        </dependency>
        <dependency>
            <groupId>com.atlassian.applinks</groupId>
            <artifactId>applinks-api</artifactId>
            <scope>provided</scope>
        </dependency>
        <dependency>
            <groupId>com.atlassian.plugins</groupId>
            <artifactId>atlassian-plugins-osgi-bridge</artifactId>
            <scope>provided</scope>
        </dependency>
        <dependency>
            <groupId>com.atlassian.plugins</groupId>
            <artifactId>atlassian-plugins-webresource</artifactId>
            <scope>provided</scope>
        </dependency>
        <dependency>
            <groupId>com.atlassian.plugins</groupId>
            <artifactId>atlassian-plugins-webfragment</artifactId>
            <scope>provided</scope>
        </dependency>
        <dependency>
            <groupId>com.atlassian.sal</groupId>
            <artifactId>sal-api</artifactId>
            <scope>provided</scope>
        </dependency>
        <dependency>
            <groupId>com.sun.jersey</groupId>
            <artifactId>jersey-server</artifactId>
            <version>1.8-atlassian-8</version>
            <scope>provided</scope>
        </dependency>
        <dependency>
            <groupId>com.atlassian.upm</groupId>
            <artifactId>licensing-api</artifactId>
            <scope>provided</scope>
        </dependency>
        <!-- the lib is here just for debugging -->
        <dependency>
            <groupId>com.atlassian.upm</groupId>
            <artifactId>licensing-lib</artifactId>
            <scope>provided</scope>
        </dependency>
        <dependency>
            <groupId>com.atlassian.upm</groupId>
            <artifactId>upm-common</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>upm-spi</artifactId>
            <scope>provided</scope>
        </dependency>
        <dependency>
            <groupId>com.atlassian.oauth</groupId>
            <artifactId>atlassian-oauth-api</artifactId>
            <scope>provided</scope>
        </dependency>
        <dependency>
            <groupId>com.atlassian.oauth</groupId>
            <artifactId>atlassian-oauth-consumer-spi</artifactId>
            <scope>provided</scope>
        </dependency>
        <dependency>
            <groupId>com.atlassian.oauth</groupId>
            <artifactId>atlassian-oauth-service-provider-spi</artifactId>
            <scope>provided</scope>
        </dependency>
        <dependency>
            <groupId>com.atlassian.plugins.rest</groupId>
            <artifactId>atlassian-rest-common</artifactId>
            <scope>provided</scope>
        </dependency>
        <dependency>
            <groupId>com.atlassian.confluence</groupId>
            <artifactId>confluence</artifactId>
            <version>${atlassian.confluence.version}</version>
            <scope>provided</scope>
        </dependency>
        <dependency>
            <groupId>com.atlassian.uri</groupId>
            <artifactId>atlassian-uri</artifactId>
        </dependency>
        <dependency>
            <groupId>com.atlassian.httpclient</groupId>
            <artifactId>atlassian-httpclient-api</artifactId>
            <scope>provided</scope>
        </dependency>
        <dependency>
            <groupId>com.atlassian.httpclient</groupId>
            <artifactId>atlassian-httpclient-spi</artifactId>
            <scope>provided</scope>
        </dependency>
        <dependency>
            <groupId>com.atlassian.webhooks</groupId>
            <artifactId>atlassian-webhooks-provider-spi</artifactId>
            <scope>provided</scope>
        </dependency>
        <dependency>
            <groupId>com.atlassian.webhooks</groupId>
            <artifactId>atlassian-webhooks-spi</artifactId>
            <scope>provided</scope>
        </dependency>
        <dependency>
            <groupId>com.atlassian.jira</groupId>
            <artifactId>jira-core</artifactId>
            <scope>provided</scope>
            <exclusions>
                <exclusion>
                    <groupId>commons-httpclient</groupId>
                    <artifactId>commons-httpclient</artifactId>
                </exclusion>
            </exclusions>
        </dependency>
        <dependency>
            <groupId>com.atlassian.plugins</groupId>
            <artifactId>atlassian-plugins-core</artifactId>
            <scope>provided</scope>
        </dependency>
        <dependency>
            <groupId>com.atlassian.jira</groupId>
            <artifactId>jira-rest-plugin</artifactId>
            <scope>provided</scope>
        </dependency>
        <dependency>
            <groupId>net.oauth.core</groupId>
            <artifactId>oauth</artifactId>
        </dependency>
        <dependency>
            <groupId>net.oauth.core</groupId>
            <artifactId>oauth-provider</artifactId>
        </dependency>
        <dependency>
            <groupId>com.atlassian.osgi</groupId>
            <artifactId>atlassian-osgi</artifactId>
            <exclusions>
                <exclusion>
                    <groupId>com.atlassian.util.concurrent</groupId>
                    <artifactId>atlassian-util-concurrent</artifactId>
                </exclusion>
            </exclusions>
        </dependency>
        <dependency>
            <groupId>com.atlassian.templaterenderer</groupId>
            <artifactId>atlassian-template-renderer-api</artifactId>
            <version>${atlassian.templaterenderer.version}</version>
            <scope>provided</scope>
        </dependency>

        <dependency>
            <groupId>org.mockito</groupId>
            <artifactId>mockito-all</artifactId>
            <version>1.9.0</version>
            <scope>test</scope>
        </dependency>

        <dependency>
            <groupId>org.hamcrest</groupId>
            <artifactId>hamcrest-core</artifactId>
            <version>1.3</version>
            <scope>test</scope>
        </dependency>
    </dependencies>
    
    <build>
        <plugins>
            <plugin>
                <groupId>com.atlassian.maven.plugins</groupId>
                <artifactId>maven-amps-plugin</artifactId>
                <configuration>
                    <skipManifestValidation>true</skipManifestValidation>
                    <jvmArgs>-Xmx1024m -XX:MaxPermSize=256m</jvmArgs>
                    <instructions>
                        <Import-Package>
                            com.atlassian.upm.*,
                            com.atlassian.confluence.plugin.descriptor.web.descriptors;resolution:=optional,
                            com.atlassian.confluence.plugin.webresource;resolution:=optional,
                            com.atlassian.confluence.security.websudo;resolution:=optional,
                            com.atlassian.jira;resolution:=optional,
                            com.atlassian.jira.config;resolution:=optional,
                            com.atlassian.jira.plugin.webfragment.descriptors;resolution:=optional,
                            com.atlassian.jira.security;resolution:=optional,
                            com.atlassian.jira.security.websudo;resolution:=optional,
                            com.atlassian.oauth*;version="(1.2,2.0]",

                            com.atlassian.plugin;version="${atlassian.plugins.api.version}",
                            com.atlassian.plugin.descriptors;resolution:="optional",
                            com.atlassian.plugin.elements;resolution:="optional",
                            com.atlassian.plugin.event;version="${atlassian.plugins.api.version}",
                            com.atlassian.plugin.event.events;resolution:="optional",
                            com.atlassian.plugin.hostcontainer;resolution:="optional",
                            com.atlassian.plugin.module;version="${atlassian.plugins.api.version}",
                            com.atlassian.plugin.schema.descriptor;version="${atlassian.plugins.api.version}",
                            com.atlassian.plugin.schema.spi;version="${atlassian.plugins.api.version}",
                            com.atlassian.plugin.servlet;version="${atlassian.plugins.api.version}",
                            com.atlassian.plugin.servlet.descriptors;resolution:="optional",
                            com.atlassian.plugin.servlet.filter ;resolution:="optional",
                            com.atlassian.plugin.servlet.util;resolution: ="optional",
                            com.atlassian.plugin.tracker;resolution:="optional",
                            com.atlassian.plugin.util;resolution:="optional",
                            com.atlassian.plugin.web;version="${atlassian.plugins.api.version}",
                            com.atlassian.plugin.web.conditions;resolution:="optional",
                            com.atlassian.plugin.web.descriptors;resolution:="optional",
                            com.atlassian.plugin.web.model;resolution:="optional",
                            com.atlassian.plugin.webresource;version="${atlassian.plugins.api.version}",
                            com.atlassian.plugin.webresource.transformer;resolution:="optional",

                            com.atlassian.templaterenderer;version="1.4.0",
                            com.atlassian.refapp.auth.external;resolution:=optional,
                            com.atlassian.sal.api.*;version="(2.4,3.0]",
                            com.atlassian.util.concurrent*;version="${atlassian-util-concurrent.version}",
                            com.atlassian.crowd.embedded.api.*;version="2.0";resolution:=optional,
                            com.atlassian.webhooks.spi*;version="${atlassian.webhooks.api.version}",
                            com.atlassian.httpclient.*;version="${atlassian.httpclient.api.version}",
                            com.sun.mail.handlers;resolution:=optional,
                            net.oauth*,
                            javax.servlet;version="0.0.0",
                            javax.servlet.http;version="0.0.0",
                            javax.inject;version="1",
                            javax.xml*,
                            org.apache.commons.lang.*;version="2.4",
                            org.dom4j*,
                            org.joda.time*;version="1.6",
                            org.slf4j*;version="1.5",
                            org.xml.sax*,
                            *;resolution:=optional
                        </Import-Package>
                        <Export-Package>
                            com.atlassian.plugin.connect.api*;version="${project.version}",
                            com.atlassian.plugin.connect.spi*;version="${project.version}"
                        </Export-Package>
                        <Spring-Context>*;timeout:=60</Spring-Context>

                    </instructions>
                    <systemPropertyVariables>
                        <atlassian.mail.senddisabled>false</atlassian.mail.senddisabled>
                        <sun.net.http.allowRestrictedHeaders>true</sun.net.http.allowRestrictedHeaders>
                    </systemPropertyVariables>

                    <products>
                        <product>
                            <id>jira</id>
                            <version>${atlassian.jira.version}</version>
                            <log4jProperties>${basedir}/../integration-tests/src/test/resources/log4j-jira.properties</log4jProperties>
                            <productDataPath>${basedir}/../integration-tests/src/test/resources/jira-generated-test-resources.zip</productDataPath>
                            <systemPropertyVariables>
                                <product>jira</product>
                                <atlassian.upm.on.demand>${atlassian.upm.on.demand}</atlassian.upm.on.demand>
                            </systemPropertyVariables>
                            <pluginArtifacts>
                                <pluginArtifact>
                                    <groupId>com.atlassian.webhooks</groupId>
                                    <artifactId>atlassian-webhooks-plugin</artifactId>
                                    <version>${atlassian.webhooks.version}</version>
                                </pluginArtifact>
                                <pluginArtifact>
                                    <groupId>com.atlassian.jira.plugins.webhooks</groupId>
                                    <artifactId>jira-webhooks-plugin</artifactId>
                                    <version>${atlassian.jira.webhooks.version}</version>
                                </pluginArtifact>
                                <pluginArtifact>
                                    <groupId>com.atlassian.gadgets</groupId>
                                    <artifactId>atlassian-gadgets-publisher-plugin</artifactId>
                                    <version>3.2.0-m8</version>
                                </pluginArtifact>
                                <pluginArtifact>
                                    <groupId>${project.groupId}</groupId>
                                    <artifactId>atlassian-connect-rest-test-plugin</artifactId>
                                    <version>${project.version}</version>
                                </pluginArtifact>
                            </pluginArtifacts>
                            
                            <bundledArtifacts>
                                <!-- TODO: remove this once UPM 2.13 is bundled with products -->
                                <bundledArtifact>
                                    <groupId>com.atlassian.upm</groupId>
                                    <artifactId>atlassian-universal-plugin-manager-plugin</artifactId>
                                    <version>${atlassian.upm.version}</version>
                                </bundledArtifact>
                            </bundledArtifacts>
                            
                            <libArtifacts>
                                <!-- TODO remove this once 3.0.5 is in all products -->
                                <!--<libArtifact>-->
                                    <!--<groupId>com.atlassian.plugins</groupId>-->
                                    <!--<artifactId>atlassian-plugins-core</artifactId>-->
                                    <!--<version>${atlassian.plugins.version}</version>-->
                                <!--</libArtifact>-->
                                <!--<libArtifact>-->
                                    <!--<groupId>com.atlassian.util.concurrent</groupId>-->
                                    <!--<artifactId>atlassian-util-concurrent</artifactId>-->
                                    <!--<version>${atlassian-util-concurrent.version}</version>-->
                                <!--</libArtifact>-->
                            </libArtifacts>
                        </product>
                        <product>
                            <id>confluence</id>
                            <version>${atlassian.confluence.version}</version>
                            <log4jProperties>${basedir}/../integration-tests/src/test/resources/log4j-confluence.properties</log4jProperties>
                            <productDataPath>${basedir}/../integration-tests/src/test/resources/confluence-generated-test-resources.zip</productDataPath>
                            <systemPropertyVariables>
                                <product>confluence</product>
                                <atlassian.upm.on.demand>${atlassian.upm.on.demand}</atlassian.upm.on.demand>
                            </systemPropertyVariables>
                            <pluginArtifacts>
                                <pluginArtifact>
                                    <groupId>com.atlassian.webhooks</groupId>
                                    <artifactId>atlassian-webhooks-plugin</artifactId>
                                    <version>${atlassian.webhooks.version}</version>
                                </pluginArtifact>
                                <pluginArtifact>
                                    <groupId>${project.groupId}</groupId>
                                    <artifactId>atlassian-connect-plugin</artifactId>
                                    <version>${project.version}</version>
                                </pluginArtifact>
                                <pluginArtifact>
                                    <groupId>${project.groupId}</groupId>
                                    <artifactId>atlassian-connect-rest-test-plugin</artifactId>
                                    <version>${project.version}</version>
                                </pluginArtifact>
                            </pluginArtifacts>

                            <bundledArtifacts>
                                <!-- TODO: remove this once UPM 2.13 is bundled with products -->
                                <bundledArtifact>
                                    <groupId>com.atlassian.upm</groupId>
                                    <artifactId>atlassian-universal-plugin-manager-plugin</artifactId>
                                    <version>${atlassian.upm.version}</version>
                                </bundledArtifact>
                            </bundledArtifacts>
                            
                            
                            <libArtifacts>
                                <!-- TODO remove this once 3.0.5 is in all products -->
                                <!--<libArtifact>-->
                                    <!--<groupId>com.atlassian.plugins</groupId>-->
                                    <!--<artifactId>atlassian-plugins-core</artifactId>-->
                                    <!--<version>${atlassian.plugins.version}</version>-->
                                <!--</libArtifact>-->
                            </libArtifacts>
                        </product>
                    </products>

                    <pluginDependencies>
                    </pluginDependencies>
                </configuration>
            </plugin>

            <plugin>
                <groupId>net.alchim31.maven</groupId>
                <artifactId>yuicompressor-maven-plugin</artifactId>
                <version>1.3.0</version>
                <executions>
                    <execution>
                        <id>all-min-css</id>
                        <goals>
                            <goal>compress</goal>
                        </goals>
                        <configuration>
                            <gzip>false</gzip>
                            <excludeResources>true</excludeResources>
                            <sourceDirectory>${project.build.outputDirectory}/css/iframe</sourceDirectory>
                            <outputDirectory>${project.build.outputDirectory}/css/iframe-min</outputDirectory>
                            <aggregations>
                                <aggregation>
                                    <removeIncluded>false</removeIncluded>
                                    <insertNewLine>true</insertNewLine>
                                    <output>${project.build.outputDirectory}/all.css</output>
                                    <includes>
                                        <include>css/iframe-min/*.css</include>
                                    </includes>
                                </aggregation>
                            </aggregations>
                        </configuration>
                    </execution>
                    <execution>
                        <id>all-debug-css</id>
                        <goals>
                            <goal>compress</goal>
                        </goals>
                        <configuration>
                            <gzip>false</gzip>
                            <nocompress>true</nocompress>
                            <excludeResources>true</excludeResources>
                            <aggregations>
                                <aggregation>
                                    <removeIncluded>false</removeIncluded>
                                    <insertNewLine>true</insertNewLine>
                                    <output>${project.build.outputDirectory}/all-debug.css</output>
                                    <includes>
                                        <include>css/iframe/core.css</include>
                                        <include>css/iframe/dialog2.css</include>
                                    </includes>
                                </aggregation>
                            </aggregations>
                        </configuration>
                    </execution>
                    <execution>
                        <id>all-min-js</id>
                        <goals>
                            <goal>compress</goal>
                        </goals>
                        <configuration>
                            <gzip>false</gzip>
                            <jswarn>false</jswarn>
                            <excludeResources>true</excludeResources>
                            <sourceDirectory>${project.build.outputDirectory}/js/iframe</sourceDirectory>
                            <outputDirectory>${project.build.outputDirectory}/js/iframe-min</outputDirectory>
                            <aggregations>
                                <aggregation>
                                    <removeIncluded>false</removeIncluded>
                                    <insertNewLine>true</insertNewLine>
                                    <output>${project.build.outputDirectory}/all.js</output>
                                    <includes>
                                        <!-- note: any changes here must also be made in StaticResourcesFilter.java -->
                                        <include>js/iframe-min/_amd-min.js</include>
                                        <include>js/iframe-min/plugin/_util-min.js</include>
                                        <include>js/iframe-min/plugin/_dollar-min.js</include>
                                        <include>js/iframe-min/_events-min.js</include>
                                        <include>js/iframe-min/_xdm-min.js</include>
                                        <include>js/iframe-min/plugin/_rpc-min.js</include>
                                        <include>js/iframe-min/plugin/events-min.js</include>
                                        <include>js/iframe-min/plugin/env-min.js</include>
                                        <include>js/iframe-min/plugin/request-min.js</include>
                                        <include>js/iframe-min/plugin/dialog-min.js</include>
                                        <include>js/iframe-min/plugin/_resize_listener-min.js</include>
                                        <!-- product-specific inclusions are temporary until made more dynamic -->
                                        <include>js/iframe-min/plugin/jira-min.js</include>
                                        <include>js/iframe-min/plugin/confluence-min.js</include>
                                        <include>js/iframe-min/plugin/_init-min.js</include>
                                    </includes>
                                </aggregation>
                            </aggregations>
                        </configuration>
                    </execution>
                </executions>
            </plugin>

            <plugin>
                <groupId>org.codehaus.mojo</groupId>
                <artifactId>xml-maven-plugin</artifactId>
                <version>1.0</version>
                <executions>
                    <execution>
                        <goals>
                            <goal>transform</goal>
                        </goals>
                        <phase>process-resources</phase>
                    </execution>
                </executions>
                <configuration>
                    <transformationSets>
                        <transformationSet>
                            <dir>${project.build.outputDirectory}</dir>
                            <includes>
                                <include>atlassian-plugin.xml</include>
                            </includes>
                            <stylesheet>${basedir}/src/main/build/plugin-merge.xsl</stylesheet>
                            <outputDir>${project.build.outputDirectory}</outputDir>
                            <parameters>
                                <parameter>
                                    <name>baseDir</name>
                                    <value>${project.build.outputDirectory}</value>
                                </parameter>
                            </parameters>
                        </transformationSet>
                    </transformationSets>
                </configuration>
            </plugin>

            <plugin>
                <groupId>org.twdata.maven</groupId>
                <artifactId>maven-cli-plugin</artifactId>
                <version>1.0.10</version>
                <executions>
                    <execution>
                        <goals>
                            <goal>execute</goal>
                        </goals>
                    </execution>
                </executions>
                <configuration>
                    <commands>
                        <pi>com.atlassian.maven.plugins:maven-amps-plugin:copy-bundled-dependencies com.atlassian.maven.plugins:maven-amps-plugin:compress-resources org.apache.maven.plugins:maven-resources-plugin:resources com.atlassian.maven.plugins:maven-amps-plugin:filter-plugin-descriptor org.codehaus.mojo:xml-maven-plugin:transform compile com.atlassian.maven.plugins:maven-amps-plugin:generate-manifest com.atlassian.maven.plugins:maven-amps-plugin:validate-manifest com.atlassian.maven.plugins:maven-amps-plugin:jar org.apache.maven.plugins:maven-install-plugin:install com.atlassian.maven.plugins:maven-amps-plugin:install</pi>
                    </commands>
                </configuration>
            </plugin>

            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-resources-plugin</artifactId>
                <version>2.6</version>
                <executions>
                    <execution>
                        <id>copy-plugin-info</id>
                        <phase>generate-sources</phase>
                        <goals>
                            <goal>copy-resources</goal>
                        </goals>
                        <configuration>
                            <outputDirectory>${project.build.outputDirectory}</outputDirectory>
                            <overwrite>true</overwrite>
                            <resources>
                                <resource>
                                    <directory>src/main/java</directory>
                                    <includes>
                                        <include>**/ConnectPluginInfo.java</include>
                                    </includes>
                                    <filtering>true</filtering>
                                </resource>
                            </resources>
                        </configuration>
                    </execution>
                </executions>
            </plugin>
            
        </plugins>
    </build>
    
    <properties>
        <product>jira</product>
    </properties>
</project>
