<?xml version="1.0" encoding="UTF-8"?>
<!-- Copyright (c) 2012 Original authors 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: 
	Original authors and others - 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>

	<groupId>org.eclipse.nebula.widgets.nattable</groupId>
	<artifactId>parent</artifactId>
	<version>1.1.1-SNAPSHOT</version>

	<packaging>pom</packaging>

	<modules>
		<module>../target-platform</module>

		<module>../org.eclipse.nebula.widgets.nattable.core</module>
		<module>../org.eclipse.nebula.widgets.nattable.core.test</module>
		<module>../org.eclipse.nebula.widgets.nattable.core.feature</module>
		<module>../org.eclipse.nebula.widgets.nattable.core.source.feature</module>

		<module>../org.eclipse.nebula.widgets.nattable.extension.glazedlists</module>
		<module>../org.eclipse.nebula.widgets.nattable.extension.glazedlists.test</module>
		<module>../org.eclipse.nebula.widgets.nattable.extension.glazedlists.feature</module>
		<module>../org.eclipse.nebula.widgets.nattable.extension.glazedlists.source.feature</module>

		<module>../org.eclipse.nebula.widgets.nattable.extension.poi</module>
		<module>../org.eclipse.nebula.widgets.nattable.extension.poi.feature</module>
		<module>../org.eclipse.nebula.widgets.nattable.extension.poi.source.feature</module>

		<module>../org.eclipse.nebula.widgets.nattable.updatesite</module>
		
		<module>../org.eclipse.nebula.widgets.nattable.extension.builder</module>
		<module>../org.eclipse.nebula.widgets.nattable.dataset</module>
		<module>../org.eclipse.nebula.widgets.nattable.examples</module>
	</modules>

	<properties>
		<tycho-version>0.19.0</tycho-version>
        <cbi-version>1.0.5</cbi-version>
	</properties>

  <pluginRepositories>
    <pluginRepository>
      <id>cbi</id>
      <url>https://repo.eclipse.org/content/repositories/cbi-releases/</url>
    </pluginRepository>
  </pluginRepositories>

	<build>
		<plugins>
			<plugin>
				<groupId>org.eclipse.tycho</groupId>
				<artifactId>tycho-maven-plugin</artifactId>
				<version>${tycho-version}</version>
				<extensions>true</extensions>
			</plugin>
			<plugin>
				<groupId>org.eclipse.tycho</groupId>
				<artifactId>target-platform-configuration</artifactId>
				<version>${tycho-version}</version>
				<configuration>

                  <dependency-resolution>
                    <extraRequirements>
                      <requirement>
                        <type>eclipse-plugin</type>
                        <id>org.junit4</id>
                        <versionRange>0.0.0</versionRange>
                      </requirement>
                    </extraRequirements>
                  </dependency-resolution>

					<target>
						<artifact>
							<groupId>org.eclipse.nebula.widgets.nattable</groupId>
							<artifactId>target-platform</artifactId>
							<version>${project.version}</version>
						</artifact>
					</target>
					<environments>
						<environment>
							<os>win32</os>
							<ws>win32</ws>
							<arch>x86</arch>
						</environment>
						<environment>
							<os>win32</os>
							<ws>win32</ws>
							<arch>x86_64</arch>
						</environment>
						<environment>
							<os>linux</os>
							<ws>gtk</ws>
							<arch>x86</arch>
						</environment>
						<environment>
							<os>linux</os>
							<ws>gtk</ws>
							<arch>x86_64</arch>
						</environment>
						<environment>
							<os>macosx</os>
							<ws>cocoa</ws>
							<arch>x86_64</arch>
						</environment>
					</environments>
				</configuration>
			</plugin>
			<plugin>
				<groupId>org.eclipse.tycho</groupId>
				<artifactId>tycho-source-plugin</artifactId>
				<version>${tycho-version}</version>
				<executions>
					<execution>
						<id>plugin-source</id>
						<goals>
							<goal>plugin-source</goal>
						</goals>
					</execution>
				</executions>
			</plugin>
		</plugins>

		<pluginManagement>
			<plugins>
				<plugin>
					<groupId>org.apache.maven.plugins</groupId>
					<artifactId>maven-resources-plugin</artifactId>
					<version>2.4.1</version>
					<configuration>
						<encoding>ISO-8859-1</encoding>
					</configuration>
				</plugin>
			</plugins>
		</pluginManagement>
	</build>

  <profiles>
    <profile>
      <id>sign</id>
      <build>
        <plugins>
          <plugin>
            <groupId>org.eclipse.cbi.maven.plugins</groupId>
            <artifactId>eclipse-jarsigner-plugin</artifactId>
            <version>${cbi-version}</version>
            <executions>
              <execution>
                <id>sign</id>
                <phase>verify</phase>
                <goals>
                  <goal>sign</goal>
                </goals>
              </execution>
            </executions>
          </plugin>
        </plugins>
      </build>
    </profile>
  </profiles>
</project>
