<!--
Copyright (c) 2013-2020 LAAS-CNRS (www.laas.fr)
7 Colonel Roche 31077 Toulouse - France

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

Initial Contributors:
	Thierry Monteil : Project manager, technical co-manager
	Mahdi Ben Alaya : Technical co-manager
	Samir Medjiah : Technical co-manager
	Khalil Drira : Strategy expert
	Guillaume Garzone : Developer
	François Aïssaoui : Developer

New contributors :
-->
<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>org.eclipse.om2m.binding.coap</artifactId>
  <packaging>eclipse-plugin</packaging>
  <name>org.eclipse.om2m :: binding coap</name>
  <description>org.eclipse.om2m :: binding coap</description>
  <parent>
  	<groupId>org.eclipse.om2m</groupId>
  	<artifactId>org.eclipse.om2m</artifactId>
  	<version>1.1.0-SNAPSHOT</version>
  </parent>
</project>
