<?xml version="1.0" encoding="UTF-8"?>
<!--
  Copyright (c) 2012 Eclipse Foundation.
  All rights reserved. This program and the accompanying materials
  are made available under the terms of the Eclipse Distribution License v1.0
  which accompanies this distribution, and is available at
  http://www.eclipse.org/org/documents/edl-v10.php
 
  Contributors:
     Igor Fedorenko - initial 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/maven-v4_0_0.xsd">
	<modelVersion>4.0.0</modelVersion>
  
  <parent>
    <groupId>org.eclipse</groupId>
    <artifactId>eclipse-parent</artifactId>
    <version>1.0.0-SNAPSHOT</version>
  </parent>
  
	<groupId>org.eclipse</groupId>
	<artifactId>org.eclipse.equinox.p2-parent</artifactId>
	<version>0.0.1-SNAPSHOT</version>
	<packaging>pom</packaging>

  <properties>
    <tycho.scmUrl>scm:git:git://git.eclipse.org/gitroot/equinox/rt.equinox.p2.git</tycho.scmUrl>
  </properties>

  <build>
    <plugins>
      <plugin>
        <groupId>org.eclipse.tycho</groupId>
        <artifactId>target-platform-configuration</artifactId>
        <configuration>
          <!--
             require at least J2SE-1.4 due to org.eclipse.equinox.security dependency
          -->
          <executionEnvironment>J2SE-1.4</executionEnvironment>
        </configuration>
      </plugin>
      <plugin>
        <groupId>org.eclipse.tycho</groupId>
        <artifactId>tycho-compiler-plugin</artifactId>
        <configuration>
          <!-- 
          Many (all?) bundles use java 5 generics, do not compile against libraries
          of their respective execution environments and we force compilation against
          SYSTEM JRE libraries that are guaranteed to be java5+
          -->
          <useJDK>SYSTEM</useJDK>
        </configuration>
      </plugin>
    </plugins>
  </build>

	<profiles>
		<profile>
			<id>osx</id>
			<activation>
				<property>
					<name>java.vendor.url</name>
					<value>http://www.apple.com/</value>
				</property>
			</activation>
			<properties>
				<tycho.test.jvmArgs>-Xmx800m -XX:MaxPermSize=256m -Dosgi.ws=cocoa -XstartOnFirstThread</tycho.test.jvmArgs>
				<osgi.ws>cocoa</osgi.ws>
			</properties>
		</profile>
	</profiles>
</project>
