<?xml version="1.0" encoding="UTF-8"?>
<!--
   Copyright (C) 2011, Obeo

   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
-->

<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/maven-v4_0_0.xsd">
    <modelVersion>4.0.0</modelVersion>

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

    <groupId>org.eclipse.emf.ecoretools</groupId>
    <artifactId>emf.ecoretools-parent</artifactId>
    <version>3.3.1-SNAPSHOT</version>
    <packaging>pom</packaging>

    <licenses>
        <license>
            <name>Eclipse Public License v1.0</name>
            <comments>
                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.htm
            </comments>
        </license>
    </licenses>

    <properties>
        <tycho-version>0.23.1</tycho-version>
        <tycho.scmUrl>scm:git:https://git.eclipse.org/r/ecoretools/org.eclipse.ecoretools</tycho.scmUrl>
    </properties>


    <modules>
        <module>../org.eclipse.emf.ecoretools</module>        
        <module>../org.eclipse.emf.ecoretools.design</module>
        <module>../org.eclipse.emf.ecoretools.design.ui</module>
        <module>../org.eclipse.emf.ecoretools.design.tests</module>
        <module>../org.eclipse.emf.ecoretools.design-feature</module>
        <module>../org.eclipse.emf.ecoretools.design.properties</module>
        <module>../org.eclipse.emf.ecoretools.doc</module>
        <module>../org.eclipse.emf.ecoretools.doc-feature</module>
        <module>../org.eclipse.emf.ecoretools.properties</module>
        <module>../org.eclipse.emf.ecoretools.registration</module>    
        <module>../org.eclipse.emf.ecoretools.sdk-feature</module>
        <module>../org.eclipse.emf.ecoretools.tabbedproperties</module>
        <module>../org.eclipse.emf.ecoretools.explorer.contextual</module>
        <module>../org.eclipse.emf.ecoretools.explorer.contextual-feature</module>
        <module>../org.eclipse.emf.ecoretools.ui</module>
        <module>../org.eclipse.emf.ecoretools.update</module>
        <module>../org.eclipse.emf.ecoretools.update-all</module>
    </modules>

    <build>
        <sourceDirectory>src</sourceDirectory>
        <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>
                    <resolver>p2</resolver>
                    <ignoreTychoRepositories>true</ignoreTychoRepositories>
                    <target>
                        <artifact>
                            <groupId>org.eclipse.emf.ecoretools</groupId>
    						<artifactId>emf.ecoretools-parent</artifactId>
    						<version>3.3.1-SNAPSHOT</version>
                            <classifier>${PLATFORM}</classifier>
                        </artifact>
                    </target>
                    <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>
                    </environments>
                </configuration>
            </plugin>
            <plugin>
			   <groupId>org.eclipse.tycho</groupId>
			   <artifactId>tycho-packaging-plugin</artifactId>
			   <version>${tycho-version}</version>
			   <configuration>
			      <sourceReferences>
			        <generate>true</generate>
			      </sourceReferences>
			   </configuration>
		       <dependencies>
			      <dependency>
			        <groupId>org.eclipse.tycho.extras</groupId>
			        <artifactId>tycho-sourceref-jgit</artifactId>
			        <version>${tycho-version}</version>
			      </dependency>
			   </dependencies>	
            </plugin>
        </plugins>
        <pluginManagement>
            <plugins>
                <plugin>
                    <groupId>org.eclipse.tycho</groupId>
                    <artifactId>tycho-compiler-plugin</artifactId>
                    <version>${tycho-version}</version>
                    <configuration>
                        <encoding>UTF-8</encoding>
                    </configuration>
                </plugin>
                <!-- enable source bundle generation -->
                <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>
                <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>
                <plugin>
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-antrun-plugin</artifactId>
                    <version>1.3</version>
                </plugin>
                <plugin>
                    <groupId>org.codehaus.mojo</groupId>
                    <artifactId>findbugs-maven-plugin</artifactId>
                    <version>2.3.2</version>
                    <configuration>
                        <findbugsXmlOutput>true</findbugsXmlOutput>
                        <failOnError>false</failOnError>
                    </configuration>
                    <executions>
                        <execution>
                            <goals>
                                <goal>check</goal>
                            </goals>
                        </execution>
                    </executions>
                </plugin>
                <plugin>
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-pmd-plugin</artifactId>
                    <version>2.5</version>
                    <configuration>
                        <sourceEncoding>utf-8</sourceEncoding>
                        <minimumTokens>100</minimumTokens>
                        <targetJdk>1.5</targetJdk>
                        <format>xml</format>
                        <failOnViolation>false</failOnViolation>
                    </configuration>
                    <executions>
                        <execution>
                            <goals>
                                <goal>cpd-check</goal>
                            </goals>
                        </execution>
                    </executions>
                </plugin>
            </plugins>
        </pluginManagement>
    </build>

    
	 <profiles>
       <profile>
            <id>oxygen</id>
            <activation>
                <activeByDefault>true</activeByDefault>
            </activation>
           <properties>
        		<PLATFORM>oxygen</PLATFORM>        
    	    </properties>   
        </profile> 
        <profile>
            <id>neon</id>
            <activation>
                <activeByDefault>false</activeByDefault>
            </activation>
            <properties>
        		<PLATFORM>neon</PLATFORM>        
    	    </properties>    
        </profile>   
        <profile>
            <id>mars</id>
            <activation>
                <activeByDefault>false</activeByDefault>
            </activation>
            <properties>
        		<PLATFORM>mars</PLATFORM>        
    	    </properties>   
        </profile>   
        <profile>
            <id>luna</id>
            <activation>
                <activeByDefault>false</activeByDefault>
            </activation>
            <properties>
        		<PLATFORM>luna</PLATFORM>        
    	    </properties>   
        </profile>   
        <profile>
            <id>kepler</id>
            <properties>
        		<PLATFORM>kepler</PLATFORM>        
    	    </properties>
        </profile>
        <profile>
            <id>juno</id>
            <activation>
                <activeByDefault>false</activeByDefault>
            </activation>
            <properties>
        		<PLATFORM>juno</PLATFORM>        
    	    </properties>
        </profile>

        <profile>
            <id>indigo</id>
            <activation>
                <activeByDefault>false</activeByDefault>
            </activation>
            <properties>
        		<PLATFORM>indigo</PLATFORM>        
    	    </properties>
        </profile>
        <profile>
            <id>sign</id>
            <activation>
                <property>
                    <name>BUILD_SIGN</name>
                    <value>true</value>
                </property>
            </activation>
            <build>
                <plugins>
                    <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>1.0.4</version>
                        <executions>
                            <execution>
                                <id>sign</id>
                                <phase>verify</phase>
                                <goals>
                                    <goal>sign</goal>
                                </goals>
                            </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>
                </plugins>
            </build>

            <pluginRepositories>
                <pluginRepository>
                    <id>cbi</id>
                    <url>https://repo.eclipse.org/content/repositories/cbi-releases/</url>
                    <releases>
                        <enabled>true</enabled>
                    </releases>
                    <snapshots>
                        <enabled>false</enabled>
                    </snapshots>
                </pluginRepository>
            </pluginRepositories>
        </profile>

        <profile>
            <id>checkstyle</id>
            <activation>
                <activeByDefault>false</activeByDefault>
            </activation>
            <build>
                <plugins>
                    <plugin>
                        <groupId>org.apache.maven.plugins</groupId>
                        <artifactId>maven-checkstyle-plugin</artifactId>
                        <version>2.6</version>
                        <executions>
                            <execution>
                                <id>check my sources</id>
                                <goals>
                                    <goal>checkstyle</goal>
                                </goals>
                                <phase>verify</phase>
                                <configuration>
                                    <failOnErrors>false</failOnErrors>
                                    <consoleOutput>true</consoleOutput>
                                </configuration>
                            </execution>
                        </executions>
                    </plugin>
                </plugins>
            </build>
        </profile>

        <profile>
            <id>coverage</id>
            <activation>
                <activeByDefault>false</activeByDefault>
            </activation>
            <modules>
                <module>org.eclemma.runtime.equinox</module>
            </modules>
        </profile>
        <profile>
            <id>static-checks</id>
            <build>
                <plugins>
                    <plugin>
                        <groupId>org.codehaus.mojo</groupId>
                        <artifactId>findbugs-maven-plugin</artifactId>
                    </plugin>
                    <plugin>
                        <groupId>org.apache.maven.plugins</groupId>
                        <artifactId>maven-pmd-plugin</artifactId>
                    </plugin>
                </plugins>
            </build>
        </profile>
    </profiles>

</project>
