<?xml version="1.0" encoding="UTF-8"?>
<project
	xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"
	xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
	<modelVersion>4.0.0</modelVersion>
	<groupId>edapt</groupId>
	<artifactId>root</artifactId>
	<version>1.1.1-SNAPSHOT</version>
	<packaging>pom</packaging>

	<properties>
		<tycho-version>0.22.0</tycho-version>
		<eclipse-jarsigner-version>1.1.0</eclipse-jarsigner-version>
		<maven-surefire-version>2.18.1</maven-surefire-version>
		<junit-version>4.12</junit-version>
		<javadoc-version>2.10.3</javadoc-version>
		<javadoc-title>Edapt 1.1.1 API</javadoc-title>
	</properties>

	<profiles>
		<!-- Profile for use on the eclipse build server. -->
		<profile>
			<id>build-server</id>
			<activation>
				<property>
					<name>build-server</name>
				</property>
			</activation>
			<build>
				<plugins>
					<plugin>
						<groupId>org.eclipse.tycho</groupId>
						<artifactId>tycho-compiler-plugin</artifactId>
						<version>${tycho-version}</version>
						<configuration>
							<useJDK>BREE</useJDK>
						</configuration>
					</plugin>
				</plugins>
			</build>
		</profile>
	</profiles>

	<!-- Add eclipse maven repo -->
	<pluginRepositories>
		<pluginRepository>
			<id>eclipse-maven-releases</id>
			<url>https://repo.eclipse.org/content/repositories/releases/</url>
			<snapshots>
				<enabled>false</enabled>
			</snapshots>
		</pluginRepository>
	</pluginRepositories>

	<modules>
		<module>../../plugins</module>
		<module>../../features</module>
		<module>../org.eclipse.emf.edapt.releng.p2</module>
		<module>../../tests/org.eclipse.emf.edapt.tests</module>
	</modules>

	<build>
		<plugins>

			<!-- Enable tycho -->
			<plugin>
				<groupId>org.eclipse.tycho</groupId>
				<artifactId>tycho-maven-plugin</artifactId>
				<version>${tycho-version}</version>
				<extensions>true</extensions>
			</plugin>

			<!-- Configure target platform-->
			<plugin>
				<groupId>org.eclipse.tycho</groupId>
				<artifactId>target-platform-configuration</artifactId>
				<version>${tycho-version}</version>
				<configuration>
					<target>
						<artifact>
							<groupId>${project.groupId}</groupId>
							<artifactId>${project.artifactId}</artifactId>
							<version>${project.version}</version>
							<classifier>../../builds/org.eclipse.emf.edapt.releng.target/edapt_with_cdo</classifier>
						</artifact>
					</target>
					<environments>
						<environment>
							<os>linux</os>
							<ws>gtk</ws>
							<arch>x86_64</arch>
						</environment>
					</environments>
					<includePackedArtifacts>true</includePackedArtifacts>
				</configuration>
			</plugin>


			<!-- For version handling -->
			<plugin>  
				<groupId>org.eclipse.tycho</groupId>  
				<artifactId>tycho-versions-plugin</artifactId>  
				<version>${tycho-version}</version>  
			</plugin>
			
			<!-- Javadoc -->
			<plugin>
				<groupId>org.apache.maven.plugins</groupId>
				<artifactId>maven-javadoc-plugin</artifactId>
				<version>${javadoc-version}</version>
				<configuration>
					<doctitle>${javadoc-title}</doctitle>
					<show>protected</show>
					<show>public</show>
					<nohelp>true</nohelp>
					<excludePackageNames>*.test.*:*.tests.*:*.library.*:*.statemachine.*</excludePackageNames>
				</configuration>
			</plugin>
		</plugins>
	</build>

	<dependencyManagement>
		<dependencies>
			<dependency>
				<groupId>junit</groupId>
				<artifactId>junit</artifactId>
				<version>${junit-version}</version>
				<scope>test</scope>
			</dependency>
		</dependencies>
	</dependencyManagement>

</project>
