<?xml version="1.0" encoding="UTF-8"?>
<!--
  ~ Copyright © 2019 European Support Limited
  ~
  ~ 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/xsd/maven-4.0.0.xsd">

    <modelVersion>4.0.0</modelVersion>

    <artifactId>zusammen-lib</artifactId>
    <name>zusammen-lib</name>
    <parent>
        <groupId>org.onap.sdc</groupId>
        <artifactId>sdc-be-common</artifactId>
        <version>1.0.0-SNAPSHOT</version>
    </parent>

    <properties>
        <zusammen.version>1.0.1</zusammen.version>
        <zusammen-state-store.version>1.0.3</zusammen-state-store.version>
        <zusammen-collaboration-store.version>1.0.3</zusammen-collaboration-store.version>
        <zusammen-index-store.version>1.0.0</zusammen-index-store.version>
    </properties>

    <dependencies>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-data-cassandra</artifactId>
        </dependency>
        <dependency>
            <groupId>com.amdocs.zusammen</groupId>
            <artifactId>zusammen-datatypes</artifactId>
            <version>${zusammen.version}</version>
        </dependency>
        <dependency>
            <groupId>com.amdocs.zusammen</groupId>
            <artifactId>zusammen-adaptor-inbound-api</artifactId>
            <version>${zusammen.version}</version>
        </dependency>
        <dependency>
            <groupId>com.amdocs.zusammen</groupId>
            <artifactId>zusammen-adaptor-inbound-impl</artifactId>
            <version>${zusammen.version}</version>
            <scope>runtime</scope>
        </dependency>
        <dependency>
            <groupId>com.amdocs.zusammen.plugin</groupId>
            <artifactId>zusammen-collaboration-cassandra-plugin</artifactId>
            <version>${zusammen-collaboration-store.version}</version>
            <scope>runtime</scope>
        </dependency>
        <dependency>
            <groupId>com.amdocs.zusammen.plugin</groupId>
            <artifactId>zusammen-search-index-empty-plugin</artifactId>
            <version>${zusammen-index-store.version}</version>
            <scope>runtime</scope>
        </dependency>
    </dependencies>
</project>

