<?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.4.0-SNAPSHOT</version>
	<packaging>pom</packaging>

	<properties>
		<tycho-version>1.0.0</tycho-version>
		<eclipse-jarsigner-version>1.1.4</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.4.0 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>
		<module>../../tests/org.eclipse.emf.edapt.common.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>
					<failOnError>false</failOnError>
					<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>
