<?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>
        <groupId>com.atlassian.pom</groupId>
        <artifactId>public-pom</artifactId>
        <version>3.0.2</version>
    </parent>

    <groupId>com.atlassian.plugins.rest</groupId>
    <artifactId>atlassian-rest-parent</artifactId>
    <packaging>pom</packaging>
    <version>2.9.2</version>
    <name>Atlassian REST - Parent POM</name>

    <scm>
        <connection>scm:git:ssh://git@bitbucket.org/atlassian/atlassian-rest.git</connection>
        <developerConnection>scm:git:ssh://git@bitbucket.org/atlassian/atlassian-rest.git</developerConnection>
        <url>https://bitbucket.org/atlassian/atlassian-rest</url>
    </scm>

    <licenses>
        <license>
            <name>BSD License</name>
            <url>http://opensource.org/licenses/BSD-3-Clause</url>
            <distribution>repo</distribution>
        </license>
    </licenses>

    <modules>
        <module>atlassian-rest-common</module>
        <module>atlassian-rest-doclet</module>
        <module>atlassian-rest-module</module>
        <module>atlassian-rest-refimpl-plugin</module>
        <module>atlassian-rest-refimpl-plugin-v2</module>
        <module>atlassian-rest-test-jar</module>
        <module>com.atlassian.jersey-library</module>
        <module>atlassian-rest-samples</module>
    </modules>

    <dependencyManagement>
        <dependencies>
            <dependency>
                <groupId>com.atlassian.plugins.rest</groupId>
                <artifactId>atlassian-rest-common</artifactId>
                <version>${project.version}</version>
            </dependency>
            <dependency>
                <groupId>com.atlassian.plugins</groupId>
                <artifactId>atlassian-plugins-core</artifactId>
                <version>${plug.version}</version>
                <scope>provided</scope>
                <exclusions>
                    <exclusion>
                        <groupId>xml-apis</groupId>
                        <artifactId>xml-apis</artifactId>
                    </exclusion>
                </exclusions>
            </dependency>
            <dependency>
                <groupId>javax.servlet</groupId>
                <artifactId>servlet-api</artifactId>
                <version>2.4</version>
                <scope>provided</scope>
            </dependency>
            <dependency>
                <groupId>org.slf4j</groupId>
                <artifactId>slf4j-api</artifactId>
                <version>${slf4j.version}</version>
            </dependency>
            <dependency>
                <groupId>org.slf4j</groupId>
                <artifactId>jul-to-slf4j</artifactId>
                <version>${slf4j.version}</version>
            </dependency>
            <dependency>
                <groupId>org.slf4j</groupId>
                <artifactId>slf4j-log4j12</artifactId>
                <version>${slf4j.version}</version>
            </dependency>
            <dependency>
                <groupId>javax.ws.rs</groupId>
                <artifactId>jsr311-api</artifactId>
                <version>1.1</version>
            </dependency>
            <dependency>
                <groupId>com.sun.jersey</groupId>
                <artifactId>jersey-server</artifactId>
                <version>${jersey.version}</version>
            </dependency>
            <dependency>
                <groupId>com.sun.jersey</groupId>
                <artifactId>jersey-core</artifactId>
                <version>${jersey.version}</version>
            </dependency>
            <dependency>
                <groupId>xerces</groupId>
                <artifactId>xercesImpl</artifactId>
                <version>2.9.1</version>
                <optional>true</optional>
            </dependency>
            <dependency>
                <groupId>com.sun.jersey</groupId>
                <artifactId>jersey-json</artifactId>
                <version>${jersey.version}</version>
                <exclusions>
                    <!-- included transitively with a different groupId -->
                    <exclusion>
                        <groupId>stax</groupId>
                        <artifactId>stax-api</artifactId>
                    </exclusion>
                    <!-- replaced by jackson-core-asl -->
                    <exclusion>
                        <groupId>org.codehaus.jackson</groupId>
                        <artifactId>jackson-asl</artifactId>
                    </exclusion>
                </exclusions>
            </dependency>

            <dependency>
                <groupId>com.sun.jersey.contribs</groupId>
                <artifactId>wadl-resourcedoc-doclet</artifactId>
                <version>${jersey.contrib.version}</version>
                <exclusions>
                    <exclusion>
                        <groupId>xerces</groupId>
                        <artifactId>xercesImpl</artifactId>
                    </exclusion>
                    <exclusion>
                        <groupId>com.sun.jersey</groupId>
                        <artifactId>jersey-server</artifactId>
                    </exclusion>
                </exclusions>
            </dependency>

            <!-- use a specific jackson version -->
            <dependency>
                <groupId>org.codehaus.jackson</groupId>
                <artifactId>jackson-core-asl</artifactId>
                <version>${jackson.version}</version>
            </dependency>
            <dependency>
                <groupId>org.codehaus.jackson</groupId>
                <artifactId>jackson-mapper-asl</artifactId>
                <version>${jackson.version}</version>
            </dependency>
            <dependency>
                <groupId>org.codehaus.jackson</groupId>
                <artifactId>jackson-jaxrs</artifactId>
                <version>${jackson.version}</version>
            </dependency>
            <dependency>
                <groupId>org.codehaus.jackson</groupId>
                <artifactId>jackson-xc</artifactId>
                <version>${jackson.version}</version>
            </dependency>

            <dependency>
                <groupId>commons-fileupload</groupId>
                <artifactId>commons-fileupload</artifactId>
                <version>1.3</version>
            </dependency>

            <dependency>
                <groupId>commons-io</groupId>
                <artifactId>commons-io</artifactId>
                <version>2.1</version>
            </dependency>
        </dependencies>
    </dependencyManagement>

    <dependencies>
        <dependency>
            <groupId>commons-lang</groupId>
            <artifactId>commons-lang</artifactId>
            <version>2.4</version>
            <scope>provided</scope>
        </dependency>
        <dependency>
            <groupId>com.google.guava</groupId>
            <artifactId>guava</artifactId>
            <version>${google.guava.version}</version>
            <scope>provided</scope>
        </dependency>
        <dependency>
            <groupId>net.sourceforge.findbugs</groupId>
            <artifactId>jsr305</artifactId>
            <version>1.3.2</version>
            <scope>provided</scope>
        </dependency>
        <dependency>
            <groupId>junit</groupId>
            <artifactId>junit</artifactId>
            <version>4.11</version>
            <scope>test</scope>
        </dependency>
        <dependency>
            <groupId>org.mockito</groupId>
            <artifactId>mockito-core</artifactId>
            <version>1.9.0</version>
            <scope>test</scope>
        </dependency>
        <dependency>
            <groupId>org.hamcrest</groupId>
            <artifactId>hamcrest-library</artifactId>
            <version>1.3</version>
            <scope>test</scope>
        </dependency>
        <dependency>
            <groupId>org.hamcrest</groupId>
            <artifactId>hamcrest-core</artifactId>
            <version>1.3</version>
            <scope>test</scope>
        </dependency>
        <dependency>
            <groupId>javax.activation</groupId>
            <artifactId>activation</artifactId>
            <version>1.1</version>
            <scope>test</scope>
        </dependency>
    </dependencies>

    <build>
        <resources>
            <resource>
                <directory>src/main/resources</directory>
                <filtering>true</filtering>
                <includes>
                    <include>atlassian-plugin.xml</include>
                </includes>
            </resource>
            <resource>
                <directory>src/main/resources</directory>
                <filtering>false</filtering>
                <excludes>
                    <exclude>atlassian-plugin.xml</exclude>
                </excludes>
            </resource>
        </resources>
        <plugins>
            <!-- This bundle plugin is being defined because Jersey is being annoying
            in its deployment of artifacts as type 'bundle' -->
            <plugin>
                <groupId>org.apache.felix</groupId>
                <artifactId>maven-bundle-plugin</artifactId>
                <extensions>true</extensions>
            </plugin>
            <plugin>
                <groupId>com.atlassian.maven.plugins</groupId>
                <artifactId>maven-clover2-plugin</artifactId>
                <version>2.5.1</version>
            </plugin>
        </plugins>
        <pluginManagement>
            <plugins>
                <plugin>
                    <groupId>com.atlassian.maven.plugins</groupId>
                    <artifactId>maven-amps-plugin</artifactId>
                    <version>${amps.version}</version>
                    <extensions>true</extensions>
                    <configuration>
                        <!-- TODO remove at some point -->
                        <skipManifestValidation>true</skipManifestValidation>
                        <productVersion>${refapp.version}</productVersion>

                        <enableFastdev>false</enableFastdev>
                        <enableDevToolbox>false</enableDevToolbox>
                        <enablePde>false</enablePde>
                        <systemPropertyVariables>
                            <upm.pac.disable>true</upm.pac.disable>
                            <atlassian.upm.server.data.disable>true</atlassian.upm.server.data.disable>
                        </systemPropertyVariables>
                        <libArtifacts>
                            <libArtifact>
                                <groupId>javax.activation</groupId>
                                <artifactId>activation</artifactId>
                                <version>1.1</version>
                            </libArtifact>
                        </libArtifacts>
                        <pluginArtifacts>
                            <pluginArtifact>
                                <groupId>com.atlassian.plugins.rest</groupId>
                                <artifactId>atlassian-rest-module</artifactId>
                                <version>${project.version}</version>
                            </pluginArtifact>
                        </pluginArtifacts>
                    </configuration>
                </plugin>
                <plugin>
                    <groupId>com.atlassian.maven.plugins</groupId>
                    <artifactId>atlassian-pdk</artifactId>
                    <version>2.1.5</version>
                </plugin>
                <plugin>
                    <groupId>org.twdata.maven</groupId>
                    <artifactId>maven-cli-plugin</artifactId>
                    <version>0.4.1</version>
                </plugin>
                <plugin>
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-war-plugin</artifactId>
                    <version>2.0.2</version>
                </plugin>
                <plugin>
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-surefire-plugin</artifactId>
                    <version>2.9</version>
                    <configuration>
                        <excludes>
                            <exclude>it/**</exclude>
                        </excludes>
                    </configuration>
                </plugin>
                <plugin>
                    <groupId>org.twdata.maven</groupId>
                    <artifactId>cargo-maven2-plugin</artifactId>
                    <version>1.0-beta-2-db2</version>
                </plugin>

                <!--This plugin's configuration is used to store Eclipse m2e settings only. It has no influence on the Maven build itself.-->
                <plugin>
                    <groupId>org.eclipse.m2e</groupId>
                    <artifactId>lifecycle-mapping</artifactId>
                    <version>1.0.0</version>
                    <configuration>
                        <lifecycleMappingMetadata>
                            <pluginExecutions>
                                <pluginExecution>
                                    <pluginExecutionFilter>
                                        <groupId>com.atlassian.maven.plugins</groupId>
                                        <artifactId>maven-amps-plugin</artifactId>
                                        <versionRange>[${amps.version},)</versionRange>
                                        <goals>
                                            <goal>compress-resources</goal>
                                            <goal>copy-bundled-dependencies</goal>
                                            <goal>filter-plugin-descriptor</goal>
                                            <goal>generate-manifest</goal>
                                        </goals>
                                    </pluginExecutionFilter>
                                    <action>
                                        <ignore />
                                    </action>
                                </pluginExecution>
                                <pluginExecution>
                                    <pluginExecutionFilter>
                                        <groupId>org.apache.maven.plugins</groupId>
                                        <artifactId>maven-dependency-plugin</artifactId>
                                        <versionRange>[2.1,)</versionRange>
                                        <goals>
                                            <goal>copy-dependencies</goal>
                                            <goal>unpack</goal>
                                        </goals>
                                    </pluginExecutionFilter>
                                    <action>
                                        <ignore />
                                    </action>
                                </pluginExecution>
                            </pluginExecutions>
                        </lifecycleMappingMetadata>
                    </configuration>
                </plugin>
            </plugins>
        </pluginManagement>
    </build>

    <properties>
        <jdkLevel>1.5</jdkLevel>
        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
        <amps.version>4.2.10</amps.version>
        <jersey.version>1.8-atlassian-13</jersey.version>
        <jersey.contrib.version>1.8-atlassian-13</jersey.contrib.version>
        <jackson.version>1.9.1</jackson.version>
        <jackson.import.version>1.9</jackson.import.version>
        <plug.version>2.13.2</plug.version>
        <!--<plug.version>3.0.0-m8</plug.version>-->
        <sal.version>2.9.1</sal.version>
        <jwebunit.version>2.1</jwebunit.version>
        <template.renderer.version>1.4.2.2</template.renderer.version>
        <google.guava.version>10.0.1</google.guava.version>
        <slf4j.version>1.5.8</slf4j.version>
        <atlassian.security.version>3.1.5</atlassian.security.version>

        <!-- this should be the version of refapp which this project branch aims for inclusion. -->
        <refapp.version>2.19.2</refapp.version>

        <refimpl.rest.version>1</refimpl.rest.version>
        <refimpl2.rest.version>2</refimpl2.rest.version>
    </properties>

    <distributionManagement>
        <site>
            <id>atlassian-documentation</id>
            <url>scpexe://docs-app.internal.atlassian.com/var/www/domains/docs.atlassian.com/${project.artifactId}/${project.version}</url>
        </site>
    </distributionManagement>

</project>
