<?xml version="1.0" encoding="UTF-8"?>
<!-- ~ Copyright 2018-present Open Networking Foundation ~ ~ 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">
	<parent>
		<artifactId>onos-drivers-general</artifactId>
		<groupId>org.onosproject</groupId>
		<version>1.14.0-rc1</version>
		<relativePath>../../pom.xml</relativePath>
	</parent>
	<modelVersion>4.0.0</modelVersion>

	<artifactId>onos-drivers-ciena-c5162</artifactId>
	<packaging>bundle</packaging>

	<description>Ciena 5162 device drivers</description>

	<properties>
		<onos.app.name>org.onosproject.drivers.ciena.c5162</onos.app.name>
		<onos.app.origin>ONOS Community</onos.app.origin>
		<onos.app.title>Ciena 5162 Device Drivers</onos.app.title>
		<onos.app.category>Drivers</onos.app.category>
		<onos.app.url>http://onosproject.org</onos.app.url>
		<onos.app.requires>
			org.onosproject.netconf
		</onos.app.requires>
		<jinjava.version>2.4.0</jinjava.version>
		<jsoup.version>1.8.1</jsoup.version>
		<juel.version>2.2.7</juel.version>
	</properties>

	<dependencies>
		<dependency>
			<groupId>org.onosproject</groupId>
			<artifactId>onos-drivers-utilities</artifactId>
			<version>${project.version}</version>
		</dependency>
		<dependency>
			<groupId>org.onosproject</groupId>
			<artifactId>onos-protocols-netconf-api</artifactId>
			<version>${project.version}</version>
		</dependency>
		<dependency>
			<groupId>org.onosproject</groupId>
			<artifactId>onos-drivers-netconf</artifactId>
			<version>${project.version}</version>
		</dependency>
		<dependency>
			<groupId>org.onosproject</groupId>
			<artifactId>onos-drivers-netconf</artifactId>
			<version>${project.version}</version>
			<scope>test</scope>
			<classifier>tests</classifier>
		</dependency>
	</dependencies>

</project>
