<?xml version="1.0" encoding="UTF-8"?>
<!-- - Copyright (c) 2015 SAP SE and others. - 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 - - Contributors: 
	- SAP SE - initial API and implementation -->

<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/xsd/maven-4.0.0.xsd">
	<modelVersion>4.0.0</modelVersion>

	<groupId>testParent.groupId</groupId>
	<artifactId>testparent</artifactId>
	<version>0.0.1-SNAPSHOT</version>
	<packaging>pom</packaging>


	<pluginRepositories>
		<pluginRepository>
			<id>tycho-snapshots</id>
			<url>${tycho-snapshots-url}</url>
			<releases>
				<enabled>true</enabled>
			</releases>
			<snapshots>
				<enabled>true</enabled>
			</snapshots>
		</pluginRepository>
	</pluginRepositories>

	<modules>
		<!-- look ma, no poms ! -->
		<module>bundles</module>
		<module>tests</module>
		<module>features</module>
		<module>releng</module>
	</modules>

	<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>
					<target>
						<artifact>
							<groupId>testParent.groupId</groupId>
							<artifactId>targetplatform</artifactId>
							<version>0.0.1-SNAPSHOT</version>
						</artifact>
					</target>
				</configuration>
			</plugin>
		</plugins>
	</build>



</project>
