<?xml version="1.0" encoding="UTF-8"?>
<!--
============LICENSE_START=======================================================
ONAP : APPC
================================================================================
Copyright (C) 2018 AT&T Intellectual Property. All rights reserved.
=============================================================================
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.
============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/maven-v4_0_0.xsd">


    <modelVersion>4.0.0</modelVersion>
    <packaging>pom</packaging>
    <groupId>org.onap.appc.parent</groupId>
    <artifactId>binding-parent</artifactId>
    <version>1.4.0-SNAPSHOT</version>

    <parent>
        <groupId>org.onap.ccsdk.parent</groupId>
        <artifactId>binding-parent</artifactId>
        <version>1.1.0-SNAPSHOT</version>
        <relativePath />
    </parent>

    <properties>
        <!-- VERSIONS -->


        <cdp.pal.version>1.1.25.6-oss</cdp.pal.version>
        <mariadb.client.version>2.1.1</mariadb.client.version>
        <dmaap.client.version>1.1.5</dmaap.client.version>
        <eelf.version>1.0.0</eelf.version>
        <eelf.maven.plugin.version>1.0.0</eelf.maven.plugin.version>
        <cadi-version>1.3.0</cadi-version>
        <inno-version>1.2.11</inno-version>
        <dme2-version>3.1.200</dme2-version>
        <bundle.plugin.version>2.5.0</bundle.plugin.version>
        <maven.compile.plugin.version>2.5.1</maven.compile.plugin.version>
        <equinox.osgi.version>3.8.1.v20120830-144521</equinox.osgi.version>
        <apache.httpcomponents.version>4.4</apache.httpcomponents.version>
        <commons.lang3.version>3.4</commons.lang3.version>
        <antlr.version>4.5.1</antlr.version>
        <logback.version>1.2.0</logback.version>
        <toscalib.version>1.1.0</toscalib.version>
        <sdc-client.version>1.3.0</sdc-client.version>
        <jackson.yml.version>2.3.2</jackson.yml.version>

        <!-- SONAR -->
        <sonar.language>java</sonar.language>
        <sonar.java.coveragePlugin>jacoco</sonar.java.coveragePlugin>
        <sonar.surefire.reportsPath>${project.build.directory}/surefire-reports</sonar.surefire.reportsPath>
        <sonar.jacoco.reportPath>${project.build.directory}/code-coverage/jacoco-ut.exec</sonar.jacoco.reportPath>
        <sonar.jacoco.reportMissing.force.zero>true</sonar.jacoco.reportMissing.force.zero>
        <sonar.projectVersion>${project.version}</sonar.projectVersion>

        <salGeneratorPath>target/generated-sources/yang-gen-sal</salGeneratorPath>
        <maven.javadoc.failOnError>false</maven.javadoc.failOnError>
        <!-- ADDING TO SUPPORT APPC-PROVIDER-MODEL yang-gen-sal FOLDER GENERATION -->
        <yang.file.directory>src/main/yang</yang.file.directory>
        <features.file>features.xml</features.file>
        <jmxGeneratorPath>target/generated-sources/yang-gen-config</jmxGeneratorPath>
        <!-- <salGeneratorPath>src/main/yang-gen-sal</salGeneratorPath> -->

        <onap.nexus.url>https://nexus.onap.org</onap.nexus.url>
        
        <sdnctl.dblib.version>${ccsdk.sli.core.version}</sdnctl.dblib.version>
        <sdnctl.sli.version>${ccsdk.sli.core.version}</sdnctl.sli.version>
        <!-- <ccsdk.sli.adaptors.version>${ccsdk.sli.adaptors.version}</ccsdk.sli.adaptors.version> -->
        <commons.collections.version>3.2.2</commons.collections.version>
        <odl.sal.api.gen.plugin.version>0.11.1</odl.sal.api.gen.plugin.version>
        <odl.yangtools.version>1.2.1</odl.yangtools.version>
        <odl.mdsal.yang.binding.version>0.11.1</odl.mdsal.yang.binding.version>
        <odl.mdsal.version>1.6.1</odl.mdsal.version>
        <odl.mdsal.features.version>2.3.1</odl.mdsal.features.version>
        <odl.yang.jmx.generator.version>0.7.1</odl.yang.jmx.generator.version>
        <odl.ietf-yang-types.version>2010.09.24.11.1</odl.ietf-yang-types.version>
        <odl.ietf-inet-types.version>2010.09.24.11.1</odl.ietf-inet-types.version>
        <odl.controller.config.api.version>0.7.1</odl.controller.config.api.version>
        <odl.commons.opendaylight.version>2.0.5</odl.commons.opendaylight.version>
        <odl.karaf.empty.distro.version>1.8.3-Carbon</odl.karaf.empty.distro.version>

    </properties>
</project>
