<?xml version="1.0" encoding="UTF-8"?>
<!--
  Copyright (c) 2014, 2015 IBM Corporation 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:
     IBM Corporation - 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/xsd/maven-4.0.0.xsd">
  <modelVersion>4.0.0</modelVersion>
  <parent>
    <artifactId>eclipse.platform.resources</artifactId>
    <groupId>eclipse.platform.resources</groupId>
    <version>4.15.0-SNAPSHOT</version>
    <relativePath>../../</relativePath>
  </parent>
  <groupId>org.eclipse.core</groupId>
  <artifactId>org.eclipse.core.filesystem.linux.ppc64le</artifactId>
  <version>1.4.100-SNAPSHOT</version>
  <packaging>eclipse-plugin</packaging>

  <properties>
    <skipAPIAnalysis>true</skipAPIAnalysis>
  </properties>

  <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>linux</os>
              <ws>gtk</ws>
              <arch>ppc64le</arch>
            </environment>
          </environments>
        </configuration>
      </plugin>
    </plugins>
  </build>
</project>
