<?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>

	<distributionManagement>
		<repository>
			<id>inhouse</id>
			<name>inhouse repository</name>
			<uniqueVersion>true</uniqueVersion>
			<url>http://maven2.rd.francetelecom.fr/proxy/repository/inhouse</url>
			<layout>default</layout>
		</repository>
		<snapshotRepository>
			<id>inhouse.snapshot</id>
			<name>inhouse.snapshot repository</name>
			<uniqueVersion>false</uniqueVersion>
			<url>http://maven2.rd.francetelecom.fr/proxy/repository/inhouse.snapshot</url>
			<layout>default</layout>
		</snapshotRepository>
	</distributionManagement>

	<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>protocols</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>
		<module>com.orange.om2m.p2.repo</module>
	</modules>
</project>
