<!--
    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.datamapping.service</artifactId>
  <parent>
  	<groupId>org.eclipse.om2m</groupId>
  	<artifactId>org.eclipse.om2m</artifactId>
  	<version>1.1.0-SNAPSHOT</version>
  	<relativePath>..</relativePath>
  </parent>
  <name>org.eclipse.om2m :: data mapping service</name>
  <packaging>eclipse-plugin</packaging>
</project>