<?xml version="1.0" encoding="UTF-8"?>
<!--
    Copyright (c) 2017, 2021 Eurotech and/or its affiliates and others

    This program and the accompanying materials are made
    available under the terms of the Eclipse Public License 2.0
    which is available at https://www.eclipse.org/legal/epl-2.0/

    SPDX-License-Identifier: EPL-2.0

    Contributors:
        Eurotech - initial API and implementation
 -->
<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>org.eclipse.kapua</groupId>
        <artifactId>kapua-rest-api</artifactId>
        <version>1.5.3</version>
    </parent>

    <artifactId>kapua-rest-api-web</artifactId>
    <packaging>war</packaging>

    <dependencies>
        <!-- Internal dependencies -->
        <dependency>
            <groupId>org.eclipse.kapua</groupId>
            <artifactId>kapua-commons</artifactId>
        </dependency>
        <dependency>
            <groupId>org.eclipse.kapua</groupId>
            <artifactId>kapua-locator-guice</artifactId>
            <scope>runtime</scope>
        </dependency>

        <dependency>
            <groupId>org.eclipse.kapua</groupId>
            <artifactId>kapua-rest-api-core</artifactId>
        </dependency>
        <dependency>
            <groupId>org.eclipse.kapua</groupId>
            <artifactId>kapua-rest-api-resources</artifactId>
        </dependency>

        <!--  Service implementations dependencies-->
        <dependency>
            <groupId>org.eclipse.kapua</groupId>
            <artifactId>kapua-account-internal</artifactId>
        </dependency>
        <dependency>
            <groupId>org.eclipse.kapua</groupId>
            <artifactId>kapua-datastore-internal</artifactId>
        </dependency>
        <dependency>
            <groupId>org.eclipse.kapua</groupId>
            <artifactId>kapua-device-registry-internal</artifactId>
        </dependency>
        <dependency>
            <groupId>org.eclipse.kapua</groupId>
            <artifactId>kapua-device-management-all-internal</artifactId>
        </dependency>
        <dependency>
            <groupId>org.eclipse.kapua</groupId>
            <artifactId>kapua-device-management-registry-internal</artifactId>
        </dependency>
        <dependency>
            <groupId>org.eclipse.kapua</groupId>
            <artifactId>kapua-endpoint-internal</artifactId>
        </dependency>
        <dependency>
            <groupId>org.eclipse.kapua</groupId>
            <artifactId>kapua-job-internal</artifactId>
        </dependency>
        <dependency>
            <groupId>org.eclipse.kapua</groupId>
            <artifactId>kapua-job-engine-api</artifactId>
        </dependency>
        <dependency>
            <groupId>org.eclipse.kapua</groupId>
            <artifactId>kapua-job-engine-client</artifactId>
        </dependency>
        <dependency>
            <groupId>org.eclipse.kapua</groupId>
            <artifactId>kapua-scheduler-api</artifactId>
        </dependency>
        <dependency>
            <groupId>org.eclipse.kapua</groupId>
            <artifactId>kapua-scheduler-quartz</artifactId>
        </dependency>
        <dependency>
            <groupId>org.eclipse.kapua</groupId>
            <artifactId>kapua-message-internal</artifactId>
        </dependency>
        <dependency>
            <groupId>org.eclipse.kapua</groupId>
            <artifactId>kapua-security-certificate-internal</artifactId>
        </dependency>
        <dependency>
            <groupId>org.eclipse.kapua</groupId>
            <artifactId>kapua-security-shiro</artifactId>
        </dependency>
        <dependency>
            <groupId>org.eclipse.kapua</groupId>
            <artifactId>kapua-service-elasticsearch-client-rest</artifactId>
        </dependency>
        <dependency>
            <groupId>org.eclipse.kapua</groupId>
            <artifactId>kapua-stream-internal</artifactId>
        </dependency>
        <dependency>
            <groupId>org.eclipse.kapua</groupId>
            <artifactId>kapua-tag-internal</artifactId>
        </dependency>
        <dependency>
            <groupId>org.eclipse.kapua</groupId>
            <artifactId>kapua-translator-kapua-kura</artifactId>
        </dependency>
        <dependency>
            <groupId>org.eclipse.kapua</groupId>
            <artifactId>kapua-translator-kura-jms</artifactId>
        </dependency>
        <dependency>
            <groupId>org.eclipse.kapua</groupId>
            <artifactId>kapua-translator-kura-mqtt</artifactId>
        </dependency>
        <dependency>
            <groupId>org.eclipse.kapua</groupId>
            <artifactId>kapua-transport-jms</artifactId>
        </dependency>
        <dependency>
            <groupId>org.eclipse.kapua</groupId>
            <artifactId>kapua-transport-mqtt</artifactId>
        </dependency>
        <dependency>
            <groupId>org.eclipse.kapua</groupId>
            <artifactId>kapua-user-internal</artifactId>
        </dependency>

        <!-- Jersey -->
        <dependency>
            <groupId>org.glassfish.jersey.containers</groupId>
            <artifactId>jersey-container-servlet-core</artifactId>
        </dependency>

        <!-- Moxy for object marshalling unmarshalling -->
        <dependency>
            <groupId>org.glassfish.jersey.media</groupId>
            <artifactId>jersey-media-moxy</artifactId>
        </dependency>

        <dependency>
            <groupId>com.h2database</groupId>
            <artifactId>h2</artifactId>
            <scope>provided</scope>
        </dependency>

        <!-- Apache shiro security framework -->
        <dependency>
            <groupId>org.apache.shiro</groupId>
            <artifactId>shiro-web</artifactId>
        </dependency>

        <dependency>
            <groupId>javax.servlet</groupId>
            <artifactId>javax.servlet-api</artifactId>
            <scope>provided</scope>
        </dependency>

        <dependency>
            <groupId>joda-time</groupId>
            <artifactId>joda-time</artifactId>
        </dependency>

        <!-- re-declare as provided as our web container will provide this -->
        <dependency>
            <groupId>org.slf4j</groupId>
            <artifactId>slf4j-api</artifactId>
            <scope>provided</scope>
        </dependency>

        <!-- Elasticsearch Dependencies -->
        <dependency>
            <groupId>org.elasticsearch</groupId>
            <artifactId>elasticsearch</artifactId>
        </dependency>
        <dependency>
            <groupId>org.elasticsearch.plugin</groupId>
            <artifactId>reindex-client</artifactId>
        </dependency>
        <dependency>
            <groupId>org.elasticsearch.plugin</groupId>
            <artifactId>lang-mustache-client</artifactId>
        </dependency>
        <dependency>
            <groupId>org.elasticsearch.plugin</groupId>
            <artifactId>percolator-client</artifactId>
        </dependency>
        <dependency>
            <groupId>org.mockito</groupId>
            <artifactId>mockito-core</artifactId>
            <scope>test</scope>
        </dependency>
    </dependencies>

    <build>
        <finalName>api</finalName>
        <plugins>
            <!-- To help IntelliJ IDEA correctly recognize the source path when using Maven Auto Import -->
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-war-plugin</artifactId>
                <configuration>
                    <webResources>
                        <resource>
                            <directory>${basedir}</directory>
                            <includes>
                                <include>about.html</include>
                                <include>epl-2.0.html</include>
                                <include>notice.html</include>
                            </includes>
                        </resource>
                    </webResources>
                </configuration>
            </plugin>
        </plugins>
    </build>
</project>
