<?xml version="1.0" encoding="UTF-8"?>
<!-- 
###############################################################################
# Copyright (c) 2012 Red Hat, Inc 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:
#     Krzysztof Daniel, Red Hat, Inc. - 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</groupId>
    <artifactId>eclipse-platform-parent</artifactId>
    <version>4.4.0-SNAPSHOT</version>
    <relativePath>../eclipse-platform-parent</relativePath>
  </parent>

  <groupId>eclipse.platform.swt.binaries</groupId>
  <artifactId>eclipse.platform.swt.binaries</artifactId>
  <version>4.4.0-SNAPSHOT</version>
  <packaging>pom</packaging>

  <properties>
    <tycho.scmUrl>scm:git:git://git.eclipse.org/gitroot/platform/eclipse.platform.swt.binaries.git</tycho.scmUrl>
  </properties>

  <repositories>
    <repository>
      <releases>
        <enabled>true</enabled>
      </releases>
      <snapshots>
        <enabled>true</enabled>
      </snapshots>
      <id>eclipse-hosted</id>
      <url>https://repo.eclipse.org/content/repositories/eclipse/</url>
    </repository>
  </repositories>

  <modules>
    <module>bundles/org.eclipse.swt.cocoa.macosx</module>
    <module>bundles/org.eclipse.swt.cocoa.macosx.x86_64</module>
    <module>bundles/org.eclipse.swt.gtk.aix.ppc</module>
    <module>bundles/org.eclipse.swt.gtk.aix.ppc64</module>
    <module>bundles/org.eclipse.swt.gtk.hpux.ia64</module>
    <module>bundles/org.eclipse.swt.gtk.linux.ppc</module>
    <module>bundles/org.eclipse.swt.gtk.linux.ppc64</module>
    <module>bundles/org.eclipse.swt.gtk.linux.ppc64le</module>
    <module>bundles/org.eclipse.swt.gtk.linux.s390</module>
    <module>bundles/org.eclipse.swt.gtk.linux.s390x</module>
    <module>bundles/org.eclipse.swt.gtk.linux.x86</module>
    <module>bundles/org.eclipse.swt.gtk.linux.x86_64</module>
    <module>bundles/org.eclipse.swt.gtk.solaris.sparc</module>
    <module>bundles/org.eclipse.swt.gtk.solaris.x86</module>
    <module>bundles/org.eclipse.swt.win32.win32.x86</module>
    <module>bundles/org.eclipse.swt.win32.win32.x86_64</module>
  </modules>

  <build>
    <plugins>
      <plugin>
        <artifactId>maven-clean-plugin</artifactId>
        <version>2.5</version>
        <configuration>
          <filesets>
            <fileset>
              <directory>src</directory>
              <includes>
                <include>**/*</include>
              </includes>
              <followSymlinks>false</followSymlinks>
            </fileset>
          </filesets>
        </configuration>
      </plugin>
      <plugin>
        <groupId>org.eclipse.tycho</groupId>
        <artifactId>target-platform-configuration</artifactId>
        <configuration>
          <executionEnvironment>J2SE-1.5</executionEnvironment>
        </configuration>
      </plugin>
      <plugin>
        <groupId>org.eclipse.tycho</groupId>
        <artifactId>tycho-compiler-plugin</artifactId>
        <configuration>
          <source>1.5</source>
          <target>1.5</target>
        </configuration>
      </plugin>
    </plugins>
  </build>

</project>
