<?xml version="1.0" encoding="UTF-8"?>
<!--
 - Copyright (c) 2012 SAP AG 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 AG - 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>

	<parent>
		<groupId>org.eclipse.tycho</groupId>
		<artifactId>tycho-bundles</artifactId>
		<version>0.20.0</version>
	</parent>

	<artifactId>tycho-standalone-p2-director</artifactId>
	<packaging>eclipse-repository</packaging>

	<name>Repository with p2 Director Bundles (Incubation)</name>
	<description>Repository with bundles required for installing a standalone p2 director application</description>

	<build>
		<plugins>
			<plugin>
				<groupId>org.eclipse.tycho</groupId>
				<artifactId>target-platform-configuration</artifactId>
				<version>${tychoBootstrapVersion}</version>
				<configuration>
					<environments>
						<!-- TODO publish an platform-independent product -->
						<environment>
							<os>linux</os>
							<ws>gtk</ws>
							<arch>x86_64</arch>
						</environment>
					</environments>
				</configuration>
			</plugin>
			<plugin>
				<groupId>org.eclipse.tycho</groupId>
				<artifactId>tycho-p2-repository-plugin</artifactId>
				<version>${tychoBootstrapVersion}</version>
				<configuration>
					<compress>false</compress>
				</configuration>
			</plugin>
		</plugins>
	</build>

</project>
