<?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>
        <artifactId>stash-plugins-parent</artifactId>
        <groupId>com.atlassian.stash</groupId>
        <version>3.10.2</version>
    </parent>

    <artifactId>stash-rest-common</artifactId>
    <packaging>atlassian-plugin</packaging>
    <name>Atlassian Stash Common Library for REST</name>

    <build>
        <plugins>
            <plugin>
                <groupId>com.atlassian.maven.plugins</groupId>
                <artifactId>clirr-rules-maven-plugin</artifactId>
                <configuration>
                    <!-- For now keeping this configuration simple, but we will need to tweak it as the API evolves -->
                    <!-- http://wiki.eclipse.org/Evolving_Java-based_APIs_2 -->
                    <comparisonVersion>${stash.previous.minor.version}</comparisonVersion>
                    <excludeRules>
                        <exclude>FIELD_NOW_FINAL</exclude>
                    </excludeRules>
                    <resolveDependentClasses>true</resolveDependentClasses>
                    <expectedFile>${basedir}/src/test/etc/rest-api-changes.txt</expectedFile>
                </configuration>
            </plugin>
            <plugin>
                <groupId>com.atlassian.maven.plugins</groupId>
                <artifactId>maven-stash-plugin</artifactId>
                <extensions>true</extensions>
                <configuration>
                    <products>
                        <product>
                            <id>stash</id>
                            <instanceId>stash</instanceId>
                            <version>${project.version}</version>
                            <dataVersion>${project.version}</dataVersion>
                        </product>
                    </products>
                    <instructions>
                        <Atlassian-Plugin-Key>${project.groupId}.${project.artifactId}</Atlassian-Plugin-Key>
                        <Bundle-SymbolicName>com.atlassian.stash.rest-common</Bundle-SymbolicName>
                        <Export-Package>
                            com.atlassian.stash.rest.annotations,
                            com.atlassian.stash.rest.data*,
                            com.atlassian.stash.rest.docs,
                            com.atlassian.stash.rest.enrich,
                            com.atlassian.stash.rest.exception,
                            com.atlassian.stash.rest.interceptor,
                            com.atlassian.stash.rest.model*,
                            com.atlassian.stash.rest.renderer,
                            com.atlassian.stash.rest.util
                        </Export-Package>
                        <Import-Package>
                            com.atlassian.stash*,
                            com.atlassian.extras.api.stash,
                            com.atlassian.json.marshal,
                            com.atlassian.plugins.rest.common.interceptor,
                            com.google.common.base,
                            com.google.common.collect,
                            com.google.common.io,
                            com.sun.jersey.api,
                            com.sun.jersey.api.container,
                            com.sun.jersey.api.core,
                            com.sun.jersey.api.model,
                            com.sun.jersey.spi.container,
                            javax.annotation,
                            javax.servlet.http;version="${servlet.api.osgi.version}",
                            javax.validation,
                            javax.validation.metadata,
                            javax.ws.rs,
                            javax.ws.rs.core,
                            javax.ws.rs.ext,
                            org.apache.commons.io.output;version="${commons.io.libversion}",
                            org.apache.commons.lang;version="${commons.lang.libversion}",
                            org.codehaus.jackson,
                            org.codehaus.jackson.annotate,
                            org.codehaus.jackson.map,
                            org.codehaus.jackson.map.annotate,
                            org.codehaus.jackson.map.exc,
                            org.codehaus.jackson.map.ser.std,
                            org.hibernate.validator.constraints,
                            org.slf4j;version="${slf4j.libversion}",
                            org.springframework.util;version="${spring.osgi.libversion}",
                        </Import-Package>
                        <Spring-Context>*</Spring-Context>
                    </instructions>
                </configuration>
            </plugin>
        </plugins>

    </build>

    <dependencies>
        <dependency>
            <groupId>com.atlassian.stash</groupId>
            <artifactId>stash-api</artifactId>
            <scope>provided</scope>
        </dependency>
        <dependency>
            <groupId>com.atlassian.stash</groupId>
            <artifactId>stash-spi</artifactId>
            <scope>provided</scope>
        </dependency>

        <dependency>
            <groupId>com.atlassian.json</groupId>
            <artifactId>atlassian-json-api</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.stash</groupId>
            <artifactId>stash-util</artifactId>
            <scope>provided</scope>
        </dependency>

        <dependency>
            <groupId>com.google.guava</groupId>
            <artifactId>guava</artifactId>
            <scope>provided</scope>
        </dependency>
        <dependency>
            <groupId>com.google.code.gson</groupId>
            <artifactId>gson</artifactId>
            <scope>provided</scope>
        </dependency>
        <dependency>
            <groupId>javax.servlet</groupId>
            <artifactId>servlet-api</artifactId>
            <scope>provided</scope>
        </dependency>
        <dependency>
            <groupId>javax.validation</groupId>
            <artifactId>validation-api</artifactId>
            <scope>provided</scope>
        </dependency>
        <dependency>
            <groupId>org.hibernate</groupId>
            <artifactId>hibernate-validator</artifactId>
            <scope>provided</scope>
        </dependency>
        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-core</artifactId>
            <version>${spring.osgi.libversion}</version>
            <scope>provided</scope>
        </dependency>

        <dependency>
            <groupId>junit</groupId>
            <artifactId>junit</artifactId>
            <scope>test</scope>
        </dependency>
        <dependency>
            <groupId>org.mockito</groupId>
            <artifactId>mockito-core</artifactId>
            <scope>test</scope>
        </dependency>
        <dependency>
            <groupId>com.atlassian.stash</groupId>
            <artifactId>stash-test-util</artifactId>
            <scope>test</scope>
        </dependency>

        <!-- Spring (2.5, provided by the plugin system) but only needed for testing -->

        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-beans</artifactId>
            <version>${spring.osgi.libversion}</version>
            <scope>test</scope>
        </dependency>
        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-context</artifactId>
            <version>${spring.osgi.libversion}</version>
            <scope>test</scope>
        </dependency>
    </dependencies>
</project>
