<?xml version="1.0" encoding="UTF-8"?>
<!--
  Copyright (c) 2012, 2014 Eclipse Foundation and others.
  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
     Brian de Alwis (MTI) - resurrected & cleanup for bug 378723
-->
<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>
    <artifactId>eclipse.platform.ui</artifactId>
    <groupId>eclipse.platform.ui</groupId>
    <version>4.5.1-SNAPSHOT</version>
    <relativePath>../../</relativePath>
  </parent>
  <groupId>org.eclipse.ui</groupId>
  <artifactId>org.eclipse.ui.cocoa</artifactId>
  <version>1.1.100-SNAPSHOT</version>
  <packaging>eclipse-plugin</packaging>
  <build>
    <plugins>
      <!-- tycho is not able to automatically determine os/ws/arch of this bundle -->
      <plugin>
        <groupId>org.eclipse.tycho</groupId>
        <artifactId>target-platform-configuration</artifactId>
        <version>${tycho.version}</version>
        <configuration>
          <resolver>p2</resolver>
          <environments>
            <environment>
              <os>macosx</os>
              <ws>cocoa</ws>
              <arch>x86_64</arch>
            </environment>
          </environments>
        </configuration>
      </plugin>
    </plugins>
  </build>
</project>
