<?xml version="1.0" encoding="UTF-8"?>
<!--
    Copyright (c) 2013-2016 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 v1.0
    which accompanies this distribution, and is available at
    http://www.eclipse.org/legal/epl-v10.html
   
    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/maven-v4_0_0.xsd">
	<modelVersion>4.0.0</modelVersion>
	<groupId>org.eclipse.om2m</groupId>
	<artifactId>org.eclipse.om2m</artifactId>
	<version>1.1.0-SNAPSHOT</version>
	<packaging>pom</packaging>
	<name>org.eclipse.om2m :: parent</name>
	<description>org.eclipse.om2m parent</description>

	<prerequisites>
		<maven>3.0</maven>
	</prerequisites>

	<properties>
		<java.version>1.7</java.version>
		<maven.version>3.0</maven.version>
		<tycho.version>0.20.0</tycho.version>
		<tycho.test.jvmArgs>-Xmx512m -XX:MaxPermSize=256m</tycho.test.jvmArgs>
	</properties>

	<repositories>
		<repository>
			<id>luna</id>
			<layout>p2</layout>
			<url>http://download.eclipse.org/releases/luna</url>
		</repository>
		<repository>
			<id>orbit</id>
			<layout>p2</layout>
			<url>http://download.eclipse.org/tools/orbit/downloads/drops/R20160520211859/repository</url>
		</repository>
	</repositories>

	<build>
		<plugins>
			<plugin>
				<groupId>org.eclipse.tycho</groupId>
				<artifactId>tycho-maven-plugin</artifactId>
				<version>${tycho.version}</version>
				<extensions>true</extensions>
			</plugin>
			<plugin>
				<groupId>org.eclipse.tycho</groupId>
				<artifactId>target-platform-configuration</artifactId>
				<version>${tycho.version}</version>
				<configuration>
					<resolver>p2</resolver>
					<pomDependencies>consider</pomDependencies>
					<ignoreTychoRepositories>true</ignoreTychoRepositories>

					<environments>
					</environments>
						
<!-- 					<dependency-resolution> -->
<!-- 						<extraRequirements> -->
<!-- 							<requirement> -->
<!-- 								<type>eclipse-feature</type> -->
<!-- 								<id>org.eclipse.om2m.feature</id> -->
<!-- 								<versionRange>0.8.0</versionRange> -->
<!-- 							</requirement> -->
<!-- 						</extraRequirements> -->
<!-- 					</dependency-resolution> -->
				</configuration>
			</plugin>



			<plugin>
				<groupId>org.eclipse.tycho</groupId>
				<artifactId>tycho-packaging-plugin</artifactId>
				<version>${tycho.version}</version>
				<configuration>
					<format>yyyyMMdd-HHmm</format>

					<archiveSite>true</archiveSite>
					<environments>
					</environments>
				</configuration>
			</plugin>
			
			<plugin>
    		    <groupId>org.eclipse.tycho</groupId>
     			   <artifactId>tycho-versions-plugin</artifactId>
   			   </plugin>
      
		</plugins>

		<pluginManagement>

			<plugins>

				<plugin>
					<groupId>org.eclipse.tycho</groupId>
					<artifactId>tycho-surefire-plugin</artifactId>
					<version>${tycho.version}</version>
				</plugin>


				<plugin>
					<groupId>org.apache.maven.plugins</groupId>
					<artifactId>maven-assembly-plugin</artifactId>
					<version>2.3</version>
				</plugin>
				
				  <plugin>
			          <groupId>org.eclipse.tycho</groupId>
			          <artifactId>tycho-versions-plugin</artifactId>
			          <version>${tycho.version}</version>
			        </plugin>
        
			</plugins>
		</pluginManagement>
	</build>


	<modules>
		<module>org.eclipse.om2m.commons</module>
		<module>org.eclipse.om2m.commons.logging</module>
		<module>org.eclipse.om2m.binding.http</module>
		<module>org.eclipse.om2m.binding.coap</module>
		<module>org.eclipse.om2m.binding.mqtt</module>
		<module>org.eclipse.om2m.binding.service</module>
		<module>org.eclipse.om2m.core.service</module>
		<module>org.eclipse.om2m.datamapping.jaxb</module>
		<module>org.eclipse.om2m.datamapping.service</module>
		<module>org.eclipse.om2m.webapp.resourcesbrowser.xml</module>
		<module>org.eclipse.om2m.webapp.resourcesbrowser.json</module>
		<module>org.eclipse.om2m.persistence.eclipselink</module>
		<module>org.eclipse.om2m.persistence.mongodb</module>
		<module>org.eclipse.om2m.persistence.service</module>
		<module>org.eclipse.om2m.flexcontainer.service</module>
		<module>org.eclipse.om2m.core</module>
		<module>org.eclipse.om2m.interworking.service</module>
		<module>org.eclipse.om2m.ipe.sample</module>
		<module>org.eclipse.om2m.das.testsuite</module>
		<module>org.eclipse.om2m.testsuite.flexcontainer</module>
		<module>org.eclipse.om2m.sdt</module>
		<module>org.eclipse.om2m.ipe.sdt</module>
		<module>org.eclipse.om2m.ipe.sample.sdt</module>
		<module>org.eclipse.om2m.ipe.sdt.testsuite</module>
		<module>org.eclipse.om2m.sdt.comparator.xml</module>   
		<module>org.eclipse.om2m.site.asn-cse</module>
		<module>org.eclipse.om2m.site.in-cse</module>
		<module>org.eclipse.om2m.site.mn-cse</module>
		<module>org.eclipse.om2m.dal</module>
		<module>org.eclipse.om2m.dal.driver.sample</module>
		<module>org.eclipse.om2m.ipe.dal</module>
	</modules>
</project>
