<?xml version="1.0" encoding="UTF-8"?>
<!--
 * Copyright (c) 2011 PetalsLink
 *  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:
 *      Mickael istria (PetalsLink)
-->
<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.gmf-tooling</groupId>
    <artifactId>eclipse</artifactId>
    <version>3.0.0-SNAPSHOT</version>
    <packaging>pom</packaging>
    <name>Parent project for GMF Tooling build</name>
    <description>Parent project for GMF Tooling build</description>

	<parent>
	    <groupId>org.eclipse.gmf-tooling</groupId>
		<artifactId>parent</artifactId>
		<version>1.0.0-SNAPSHOT</version>
		<relativePath>build</relativePath>
	</parent>

    <prerequisites>
        <maven>3.0</maven>
    </prerequisites>

    <properties>
        <tycho-version>0.23.1</tycho-version>
        <jar-signer-version>1.0.4</jar-signer-version>
        <xtend-version>2.7.3</xtend-version>
        <base-composite-path>/home/data/httpd/download.eclipse.org/modeling/gmp/gmf-tooling/updates/</base-composite-path>
        <composite-path>${base-composite-path}dev-snapshots/3.3/</composite-path>
        <publish-path>${composite-path}${buildQualifier}</publish-path>
    </properties>

    <modules>
        <module>plugins</module>
        <!-- <module>gwt-plugins</module> -->
        <module>examples</module>
        <module>doc</module>
        <module>features</module>
        <module>tests</module>
        <module>repository</module>
        <module>test-examples</module>
    </modules>

    <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>tycho-packaging-plugin</artifactId>
                <version>${tycho-version}</version>
            </plugin>
            <plugin>
                <groupId>org.eclipse.tycho</groupId>
                <artifactId>target-platform-configuration</artifactId>
                <version>${tycho-version}</version>
                <configuration>
                	<dependency-resolution>
                		<extraRequirements>
                			<requirement>
                				<type>p2-installable-unit</type>
                				<id>org.eclipse.jdt.feature.group</id>
                				<versionRange>0.0.0</versionRange>
                			</requirement>
                		</extraRequirements>
                	</dependency-resolution>
                    <resolver>p2</resolver>
                    <environments>
                        <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>win32</os>
                            <ws>win32</ws>
                            <arch>x86</arch>
                        </environment>
                        <environment>
                            <os>win32</os>
                            <ws>win32</ws>
                            <arch>x86_64</arch>
                        </environment>
                        <environment>
                            <os>macosx</os>
                            <ws>cocoa</ws>
                            <arch>x86_64</arch>
                        </environment>
                    </environments>
                </configuration>
            </plugin>
        </plugins>
    </build>
    
    <profiles>
        <profile>
            <id>mars</id>
	    	<!--Bug 396054: replace by usage of a .target file-->
            <activation>
                <activeByDefault>true</activeByDefault>
            </activation>
            <repositories>
                <repository>
                    <id>mars</id>
                    <layout>p2</layout>
                    <url>http://download.eclipse.org/releases/mars</url>
                </repository>
                <repository>
                    <id>orbit for Mars R</id>
                    <layout>p2</layout>
					<url>http://download.eclipse.org/tools/orbit/downloads/drops/R20150519210750/repository/</url>
                </repository>
                <repository>
                    <id>xtext</id>
                    <layout>p2</layout>
                    <url>http://download.eclipse.org/modeling/tmf/xtext/updates/composite/milestones/</url>
                </repository>
            </repositories>
        </profile>
        <profile>
            <id>build-at-eclipse-org</id>
            <build>
                <plugins>
                    <plugin>
                        <groupId>org.eclipse.tycho</groupId>
                        <artifactId>target-platform-configuration</artifactId>
                        <version>${tycho-version}</version>
                        <configuration>
                            <includePackedArtifacts>true</includePackedArtifacts>
                        </configuration>
                    </plugin>
                    <plugin>
                        <groupId>org.eclipse.tycho.extras</groupId>
                        <artifactId>tycho-pack200a-plugin</artifactId>
                        <version>${tycho-version}</version>
                        <executions>
                            <execution>
                                <id>pack200-normalize</id>
                                <goals>
                                    <goal>normalize</goal>
                                </goals>
                                <phase>verify</phase>
                            </execution>
                        </executions>
                    </plugin>
                    <plugin>
                        <groupId>org.eclipse.cbi.maven.plugins</groupId>
                        <artifactId>eclipse-jarsigner-plugin</artifactId>
                        <version>${jar-signer-version}</version>
                        <executions>
                            <execution>
                                <id>sign</id>
                                <goals>
                                    <goal>sign</goal>
                                </goals>
                                <phase>verify</phase>
                            </execution>
                        </executions>
                    </plugin>
                    <plugin>
                        <groupId>org.eclipse.tycho.extras</groupId>
                        <artifactId>tycho-pack200b-plugin</artifactId>
                        <version>${tycho-version}</version>
                        <executions>
                            <execution>
                                <id>pack200-pack</id>
                                <goals>
                                    <goal>pack</goal>
                                </goals>
                                <phase>verify</phase>
                            </execution>
                        </executions>
                    </plugin>
                    <plugin>
                        <groupId>org.eclipse.tycho</groupId>
                        <artifactId>tycho-p2-plugin</artifactId>
                        <version>${tycho-version}</version>
                        <executions>
                            <execution>
                                <id>p2-metadata</id>
                                <goals>
                                    <goal>p2-metadata</goal>
                                </goals>
                                <phase>verify</phase>
                            </execution>
                        </executions>
                        <configuration>
                            <defaultP2Metadata>false</defaultP2Metadata>
                        </configuration>
                    </plugin>
                </plugins>
            </build>
        </profile>
    </profiles>

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

	<repositories>
				<repository>
			<id>tmf-xtext</id>
			<layout>p2</layout>
			<!-- updateFrom("Xtext, Xtend",0) -->
			<url>http://download.eclipse.org/modeling/tmf/xtext/updates/milestones/head/I201509281643/</url>
		</repository>
	</repositories>
</project>
