<?xml version="1.0" encoding="UTF-8"?>

<!--
  ~ Copyright 2017 Cisco Systems, Inc.
  ~
  ~ Licensed under the Apache License, Version 2.0 (the "License"); you may
  ~ not use this file except in compliance with the License. You may obtain
  ~ a copy of the License at
  ~
  ~ http://www.apache.org/licenses/LICENSE-2.0
  ~
  ~ Unless required by applicable law or agreed to in writing, software
  ~ distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
  ~ WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
  ~ License for the specific language governing permissions and limitations
  ~ under the License.
  ~
  -->

<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>

    <groupId>com.cisco.gerrit.plugins</groupId>
    <artifactId>slack-integration</artifactId>
    <packaging>jar</packaging>
    <version>3.0-SNAPSHOT</version>
    <name>Slack Integration Plugin</name>

    <properties>
        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>

        <gerrit-api-type>plugin</gerrit-api-type>
        <gerrit-api-version>${project.version}</gerrit-api-version>
    </properties>

    <build>
        <plugins>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-jar-plugin</artifactId>
                <version>2.4</version>
                <configuration>
                    <archive>
                        <manifestEntries>
                            <Implementation-Vendor>
                                Cisco Systems, Inc.
                            </Implementation-Vendor>
                            <Implementation-URL>
                                https://gerrit-review.googlesource.com/#/admin/projects/plugins/slack-integration
                            </Implementation-URL>
                            <Implementation-Title>
                                Slack Integration
                            </Implementation-Title>
                            <Implementation-Version>
                                ${project.version}
                            </Implementation-Version>
                            <Gerrit-ApiType>
                                ${gerrit-api-type}
                            </Gerrit-ApiType>
                            <Gerrit-ApiVersion>
                                ${gerrit-api-version}
                            </Gerrit-ApiVersion>
                        </manifestEntries>
                    </archive>
                    <finalName>${project.artifactId}</finalName>
                </configuration>
            </plugin>

            <!--<plugin>-->
                <!--<groupId>org.apache.maven.plugins</groupId>-->
                <!--<artifactId>maven-surefire-plugin</artifactId>-->
                <!--<version>2.18.1</version>-->
                <!--<configuration>-->
                    <!--<excludes>-->
                        <!--<excludes>**/*IntegrationTest.java</excludes>-->
                    <!--</excludes>-->
                <!--</configuration>-->
            <!--</plugin>-->

            <!--<plugin>-->
                <!--<groupId>org.apache.maven.plugins</groupId>-->
                <!--<artifactId>maven-failsafe-plugin</artifactId>-->
                <!--<version>2.18.1</version>-->
                <!--<configuration>-->
                    <!--<includes>-->
                        <!--<include>**/*IntegrationTest.java</include>-->
                    <!--</includes>-->
                <!--</configuration>-->
            <!--</plugin>-->

            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-compiler-plugin</artifactId>
                <version>3.8.0</version>
                <configuration>
                    <source>1.8</source>
                    <target>1.8</target>
                </configuration>
            </plugin>
        </plugins>
    </build>

    <dependencies>
        <dependency>
            <groupId>com.google.gerrit</groupId>
            <artifactId>gerrit-${gerrit-api-type}-api</artifactId>
            <version>${gerrit-api-version}</version>
            <scope>provided</scope>
        </dependency>

        <dependency>
            <groupId>org.slf4j</groupId>
            <artifactId>slf4j-simple</artifactId>
            <version>1.7.9</version>
            <scope>test</scope>
        </dependency>

        <dependency>
            <groupId>junit</groupId>
            <artifactId>junit</artifactId>
            <version>4.11</version>
            <scope>test</scope>
        </dependency>

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

        <dependency>
            <groupId>org.powermock</groupId>
            <artifactId>powermock-module-junit4</artifactId>
            <version>1.6.2</version>
            <scope>test</scope>
        </dependency>

        <dependency>
            <groupId>org.powermock</groupId>
            <artifactId>powermock-api-mockito</artifactId>
            <version>1.6.2</version>
            <scope>test</scope>
        </dependency>
    </dependencies>
</project>
