<?xml version="1.0" encoding="UTF-8"?>
<!--
    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/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>
