<?xml version="1.0" encoding="UTF-8"?>
<!--
  ============LICENSE_START=======================================================
  ONAP : APPC
  ================================================================================
  Copyright (C) 2017 AT&T Intellectual Property. All rights reserved.
  ================================================================================
  Copyright (C) 2017 Amdocs
  =============================================================================
  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.

  ECOMP is a trademark and service mark of AT&T Intellectual Property.
  ============LICENSE_END=========================================================
  -->
<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.onap.appc</groupId>
        <artifactId>appc</artifactId>
        <version>1.3.0-SNAPSHOT</version>
    </parent>

    <artifactId>appc-java-client</artifactId>
    <groupId>org.onap.appc.client</groupId>
    <version>1.3.0-SNAPSHOT</version>

    <name>appc-java-client</name>
    <description>APPC Java Client</description>
    <packaging>pom</packaging>

    <modules>
        <module>client-lib</module>
        <module>client-kit</module>
        <module>client-simulator</module>
        <module>code-generator</module>
    </modules>

    <properties>
         <licenseDir>${project.parent.basedir}</licenseDir>
        <build.helper.maven.plugin.version>1.7</build.helper.maven.plugin.version>
        <build-helper-maven-plugin-version>3.0.0</build-helper-maven-plugin-version>
        <bundle.plugin.version>2.5.0</bundle.plugin.version>
        <cambria.client.version>0.0.1</cambria.client.version>
        <eelf.core.version>1.0.0</eelf.core.version>
        <eelf.version>0.0.4</eelf.version>
        <freemarker.version>2.3.23</freemarker.version>
        <jackson.version>2.8.5</jackson.version>
        <java.version>1.8</java.version>
        <junit.version>4.12</junit.version>
        <maven.compiler.plugin.version>3.6.0</maven.compiler.plugin.version>
        <maven.core.version>3.3.9</maven.core.version>
        <maven.install.plugin.version>2.5.2</maven.install.plugin.version>
        <maven.javadoc.plugin.version>2.10.4</maven.javadoc.plugin.version>
        <maven.plugin.annotations.version>3.5</maven.plugin.annotations.version>
        <maven.plugin.api.version>3.3.9</maven.plugin.api.version>
        <maven.plugin.plugin.version>3.3</maven.plugin.plugin.version>
        <maven.release.plugin.version>2.5.2</maven.release.plugin.version>
        <maven.scm.provers.jgit.version>1.9.5</maven.scm.provers.jgit.version>
        <maven.surefire.plugin.version>2.10</maven.surefire.plugin.version>
        <mockito-core.version>1.9.5</mockito-core.version>
        <odl.mdsal.yang.binding.version>0.9.1-Boron-SR1</odl.mdsal.yang.binding.version>
        <odl.sal.binding.version>1.4.1-Boron-SR1</odl.sal.binding.version>
        <odl.version>0.5.1-Boron-SR1</odl.version>
        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
        <project.scm.id>git-server</project.scm.id>
        <sal.core.api.version>1.4.2-Boron-SR2</sal.core.api.version>
        <sdnctl.dblib.version>1.1.0</sdnctl.dblib.version>
        <sdnctl.sli.version>1.1.0</sdnctl.sli.version>
        <yang.maven.plugin.version>1.0.1-Boron-SR1</yang.maven.plugin.version>
        <yang.parser.impl.version>1.0.3-Boron-SR3</yang.parser.impl.version>
    </properties>

    <build>
        <pluginManagement>
            <plugins>
                <plugin>
                    <groupId>org.opendaylight.mdsal</groupId>
                    <artifactId>yang-binding</artifactId>
                    <version>${odl.mdsal.yang.binding.version}</version>
                </plugin>
                <plugin>
                    <groupId>org.apache.felix</groupId>
                    <artifactId>maven-bundle-plugin</artifactId>
                    <version>${bundle.plugin.version}</version>
                </plugin>

                <plugin>
                    <groupId>org.codehaus.mojo</groupId>
                    <artifactId>build-helper-maven-plugin</artifactId>
                    <version>${build-helper-maven-plugin-version}</version>
                </plugin>
                <plugin>
                    <groupId>org.opendaylight.yangtools</groupId>
                    <artifactId>yang-maven-plugin</artifactId>
                    <version>${yang.maven.plugin.version}</version>
                </plugin>
                <plugin>
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-compiler-plugin</artifactId>
                    <version>${maven.compiler.plugin.version}</version>
                    <configuration>
                        <source>${java.version}</source>
                        <target>${java.version}</target>
                    </configuration>
                </plugin>

                <plugin>
                    <artifactId>maven-assembly-plugin</artifactId>
                    <configuration>
                        <descriptors>
                            <descriptor>assembly.xml</descriptor>
                        </descriptors>
                    </configuration>
                </plugin>

                <plugin>
                    <artifactId>maven-release-plugin</artifactId>
                    <version>${maven.release.plugin.version}</version>
                    <configuration>
                        <goals>-s ${mvn.settings} deploy</goals>
                        <providerImplementations>
                            <git>jgit</git>
                        </providerImplementations>
                    </configuration>
                    <dependencies>
                        <dependency>
                            <groupId>org.apache.maven.scm</groupId>
                            <artifactId>maven-scm-provider-jgit</artifactId>
                            <version>${maven.scm.provers.jgit.version></version>
                        </dependency>
                    </dependencies>
                </plugin>
                <plugin>
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-javadoc-plugin</artifactId>
                    <version>${maven.javadoc.plugin.version}</version>
                    <executions>
                        <execution>
                            <id>attach-javadocs</id>
                            <phase>install</phase>
                            <goals>
                                <goal>aggregate-jar</goal>
                            </goals>
                        </execution>
                    </executions>
                </plugin>
            </plugins>
        </pluginManagement>

        <plugins>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-javadoc-plugin</artifactId>
                <executions>
                    <execution>
                        <id>attach-javadocs</id>
                        <phase>install</phase>
                        <goals>
                            <goal>aggregate-jar</goal>
                        </goals>
                    </execution>
                </executions>
            </plugin>

        </plugins>
    </build>

    <dependencyManagement>
        <dependencies>
            <dependency>
                <groupId>junit</groupId>
                <artifactId>junit</artifactId>
                <version>${junit.version}</version>
            </dependency>
            <dependency>
                <groupId>org.onap.ccsdk.sli.core</groupId>
                <artifactId>sli-provider</artifactId>
                <version>${sdnctl.sli.version}</version>
            </dependency>
            <dependency>
                <groupId>org.onap.ccsdk.sli.core</groupId>
                <artifactId>dblib-provider</artifactId>
                <version>${sdnctl.dblib.version}</version>
            </dependency>
            <dependency>
                <groupId>org.opendaylight.controller</groupId>
                <artifactId>sal-binding-api</artifactId>
                <version>${odl.sal.binding.version}</version>
            </dependency>
            <dependency>
                <groupId>com.fasterxml.jackson.core</groupId>
                <artifactId>jackson-databind</artifactId>
                <version>${jackson.version}</version>
            </dependency>
            <dependency>
                <groupId>com.att.nsa</groupId>
                <artifactId>cambriaClient</artifactId>
                <version>${cambria.client.version}</version>
            </dependency>
            <dependency>
                <groupId>com.att.eelf</groupId>
                <artifactId>eelf-core</artifactId>
                <version>${eelf.core.version}</version>
            </dependency>
            <dependency>
                <groupId>org.mockito</groupId>
                <artifactId>mockito-core</artifactId>
                <version>${mockito-core.version}</version>
            </dependency>
            <dependency>
                <groupId>org.mockito</groupId>
                <artifactId>mockito-core</artifactId>
                <scope>test</scope>
            </dependency>

        </dependencies>
    </dependencyManagement>

</project>
