<?xml version="1.0" encoding="UTF-8"?>
<!--
   Copyright (C) 2011, 2015 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.compare</groupId>
  <artifactId>emf.compare-parent</artifactId>
  <version>3.1.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>
    <!-- Properties -->
    <parent-version>3.1.1-SNAPSHOT</parent-version>
    <source-java-version>1.5</source-java-version>
    <target-java-version>${source-java-version}</target-java-version>
    <java-source-encoding>UTF-8</java-source-encoding>
    <resource-encoding>UTF-8</resource-encoding>
    <os-jvm-flags/>

    <!-- plugins versions -->
    <!-- use 'mvn versions:display-plugin-updates' to check for the latest -->
    <tycho-version>0.26.0</tycho-version>
    <tycho-extras-version>0.21.0</tycho-extras-version>
    <maven-resources-version>2.6</maven-resources-version>
    <maven-antrun-version>1.7</maven-antrun-version>
    <findbugs-maven-version>3.0.0</findbugs-maven-version>
    <maven-pmd-version>3.1</maven-pmd-version>
    <exec-maven-version>1.3.1</exec-maven-version>
    <maven-compiler-version>3.1</maven-compiler-version>
    <maven-assembly-version>2.4</maven-assembly-version>
    <maven-jar-version>2.5</maven-jar-version>
    <maven-checkstyle-version>2.12.1</maven-checkstyle-version>
    <maven-clean-version>2.5</maven-clean-version>
    <maven-deploy-version>2.8.1</maven-deploy-version>
    <maven-install-version>2.5.1</maven-install-version>
    <maven-site-version>3.4</maven-site-version>
    <maven-surefire-version>2.17</maven-surefire-version>
    <jacoco-maven-version>0.7.1.201405082137</jacoco-maven-version>
    <eclipse-jarsigner-version>1.1.2</eclipse-jarsigner-version>
    <maven-jxr-version>2.3</maven-jxr-version>

    <!-- Sonar properties -->
    <sonar.language>java</sonar.language>
    <sonar.jacoco.reportPath>${project.basedir}/../../org.eclipse.emf.compare-parent/target/jacoco.exec</sonar.jacoco.reportPath>
    <!--sonar.junit.reportsPath>../${project.artifactId}.tests/target/surefire-reports/</sonar.junit.reportsPath>
    <sonar.skippedModules>plugin.tests</sonar.skippedModules-->

    <!-- Performance plugin properties -->
    <performance-suite>Performance</performance-suite>
  </properties>
  <!--
    Platform-specific modules will be activated from the related profiles.
    Here, we only define those modules that should build against every target platform.
  -->
  <modules>
    <!-- This one must remain the first module in the list -->
    <module>bundle-parent</module>
    <module>../packaging/org.eclipse.emf.compare.gendoc</module>
    <module>../packaging/org.eclipse.emf.compare-feature</module>
    <module>../plugins/org.eclipse.emf.compare</module>
    <module>../plugins/org.eclipse.emf.compare.tests</module>
    <module>../plugins/org.eclipse.emf.compare.doc</module>
    <module>../packaging/org.eclipse.emf.compare.ide.ui-feature</module>
    <module>../plugins/org.eclipse.emf.compare.edit</module>
    <module>../plugins/org.eclipse.emf.compare.ide</module>
    <module>../plugins/org.eclipse.emf.compare.ide.ui</module>
    <module>../plugins/org.eclipse.emf.compare.ide.ui.tests</module>
    <!-- There are no longer any "ide" tests
    <module>../plugins/org.eclipse.emf.compare.ide.tests</module>
    -->
    <module>../packaging/org.eclipse.emf.compare.rcp.ui-feature</module>
    <module>../plugins/org.eclipse.emf.compare.rcp</module>
    <module>../plugins/org.eclipse.emf.compare.rcp.ui</module>
    <module>../plugins/org.eclipse.emf.compare.rcp.ui.tests</module>
  </modules>

  <build>
   <!-- This is for checkstyle and PMD -->
   <sourceDirectory>src</sourceDirectory>

    <plugins>
      <plugin>
        <groupId>org.eclipse.tycho</groupId>
        <artifactId>tycho-maven-plugin</artifactId>
        <extensions>true</extensions>
      </plugin>
      <plugin>
        <groupId>org.eclipse.tycho</groupId>
        <artifactId>target-platform-configuration</artifactId>
        <configuration>
          <includePackedArtifacts>true</includePackedArtifacts>
          <resolver>p2</resolver>
          <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>
        <configuration>
          <archive>
            <addMavenDescriptor>false</addMavenDescriptor>
          </archive>
        </configuration>
        <executions>
          <execution>
            <id>plugin-source</id>
            <goals>
              <goal>plugin-source</goal>
            </goals>
          </execution>
        </executions>
      </plugin>
      <plugin>
        <groupId>org.eclipse.tycho.extras</groupId>
        <artifactId>tycho-source-feature-plugin</artifactId>
        <version>${tycho-extras-version}</version>
        <configuration>
          <archive>
            <addMavenDescriptor>false</addMavenDescriptor>
          </archive>
        </configuration>
        <executions>
          <execution>
            <id>source-feature</id>
            <phase>package</phase>
            <goals>
              <goal>source-feature</goal>
            </goals>
          </execution>
        </executions>
      </plugin>
    </plugins>
    <pluginManagement>
      <plugins>
        <plugin>
          <groupId>org.eclipse.tycho</groupId>
          <artifactId>tycho-maven-plugin</artifactId>
          <version>${tycho-version}</version>
        </plugin>
        <plugin>
          <groupId>org.eclipse.tycho</groupId>
          <artifactId>tycho-packaging-plugin</artifactId>
          <version>${tycho-version}</version>
          <configuration>
            <archive>
              <addMavenDescriptor>false</addMavenDescriptor>
            </archive>
          </configuration>
        </plugin>
        <plugin>
          <groupId>org.eclipse.tycho</groupId>
          <artifactId>target-platform-configuration</artifactId>
          <version>${tycho-version}</version>
        </plugin>
        <plugin>
          <groupId>org.eclipse.tycho</groupId>
          <artifactId>tycho-compiler-plugin</artifactId>
          <version>${tycho-version}</version>
          <configuration>
            <encoding>${java-source-encoding}</encoding>
            <source>${source-java-version}</source>
            <target>${target-java-version}</target>
            <showWarnings>true</showWarnings>
          </configuration>
        </plugin>
        <plugin>
          <groupId>org.eclipse.tycho</groupId>
          <artifactId>tycho-p2-plugin</artifactId>
          <version>${tycho-version}</version>
        </plugin>
        <plugin>
          <groupId>org.eclipse.tycho</groupId>
          <artifactId>tycho-surefire-plugin</artifactId>
          <version>${tycho-version}</version>
          <configuration>
            <argLine>${tycho.testArgLine} -Xms40m -Xmx1G ${os-jvm-flags}</argLine>
          </configuration>
        </plugin>
        <plugin>
          <groupId>org.eclipse.tycho</groupId>
          <artifactId>tycho-p2-publisher-plugin</artifactId>
          <version>${tycho-version}</version>
        </plugin>
        <plugin>
          <groupId>org.eclipse.tycho</groupId>
          <artifactId>tycho-p2-repository-plugin</artifactId>
          <version>${tycho-version}</version>
        </plugin>
        <plugin>
            <groupId>org.eclipse.tycho.extras</groupId>
            <artifactId>tycho-pack200a-plugin</artifactId>
            <version>${tycho-extras-version}</version>
        </plugin>
        <plugin>
            <groupId>org.eclipse.tycho.extras</groupId>
            <artifactId>tycho-pack200b-plugin</artifactId>
            <version>${tycho-extras-version}</version>
        </plugin>
        <plugin>
            <groupId>org.eclipse.cbi.maven.plugins</groupId>
            <artifactId>eclipse-jarsigner-plugin</artifactId>
            <version>${eclipse-jarsigner-version}</version>
        </plugin>
        <plugin>
          <groupId>org.apache.maven.plugins</groupId>
          <artifactId>maven-resources-plugin</artifactId>
          <version>${maven-resources-version}</version>
          <configuration>
            <encoding>${resource-encoding}</encoding>
          </configuration>
        </plugin>
        <plugin>
          <groupId>org.apache.maven.plugins</groupId>
          <artifactId>maven-antrun-plugin</artifactId>
          <version>${maven-antrun-version}</version>
        </plugin>
        <plugin>
          <groupId>org.codehaus.mojo</groupId>
          <artifactId>findbugs-maven-plugin</artifactId>
          <version>${findbugs-maven-version}</version>
        </plugin>
        <plugin>
          <groupId>org.apache.maven.plugins</groupId>
          <artifactId>maven-pmd-plugin</artifactId>
          <version>${maven-pmd-version}</version>
          <configuration>
            <sourceEncoding>${java-source-encoding}</sourceEncoding>
            <targetJdk>${target-java-version}</targetJdk>
          </configuration>
        </plugin>
        <plugin>
          <groupId>org.apache.maven.plugins</groupId>
          <artifactId>maven-checkstyle-plugin</artifactId>
          <version>${maven-checkstyle-version}</version>
          <configuration>
            <encoding>${java-source-encoding}</encoding>
          </configuration>
        </plugin>
        <plugin>
          <groupId>org.codehaus.mojo</groupId>
          <artifactId>exec-maven-plugin</artifactId>
          <version>${exec-maven-version}</version>
        </plugin>
        <plugin>
          <groupId>org.apache.maven.plugins</groupId>
          <artifactId>maven-compiler-plugin</artifactId>
          <version>${maven-compiler-version}</version>
        </plugin>
        <plugin>
          <groupId>org.jacoco</groupId>
          <artifactId>jacoco-maven-plugin</artifactId>
          <version>${jacoco-maven-version}</version>
        </plugin>
        <plugin>
          <groupId>org.apache.maven.plugins</groupId>
          <artifactId>maven-jar-plugin</artifactId>
          <version>${maven-jar-version}</version>
        </plugin>
        <plugin>
          <groupId>org.apache.maven.plugins</groupId>
          <artifactId>maven-assembly-plugin</artifactId>
          <version>${maven-assembly-version}</version>
        </plugin>
        <plugin>
          <groupId>org.apache.maven.plugins</groupId>
          <artifactId>maven-clean-plugin</artifactId>
          <version>${maven-clean-version}</version>
        </plugin>
        <plugin>
          <groupId>org.apache.maven.plugins</groupId>
          <artifactId>maven-deploy-plugin</artifactId>
          <version>${maven-deploy-version}</version>
        </plugin>
        <plugin>
          <groupId>org.apache.maven.plugins</groupId>
          <artifactId>maven-install-plugin</artifactId>
          <version>${maven-install-version}</version>
        </plugin>
        <plugin>
          <groupId>org.apache.maven.plugins</groupId>
          <artifactId>maven-site-plugin</artifactId>
          <version>${maven-site-version}</version>
        </plugin>
        <plugin>
          <groupId>org.apache.maven.plugins</groupId>
          <artifactId>maven-surefire-plugin</artifactId>
          <version>${maven-surefire-version}</version>
        </plugin>
        <plugin>
          <groupId>org.apache.maven.plugins</groupId>
          <artifactId>maven-jxr-plugin</artifactId>
          <version>${maven-jxr-version}</version>
        </plugin>
      </plugins>
    </pluginManagement>
  </build>
  <profiles>
    <!--
      EMF Compare can be built against Mars, Luna, Kepler, Juno, Indigo, Helios and Galileo.
      However, some parts of EMF Compare are dependent on recent platforms.
      Namely, the UML and diagram comparison supports are only available for platforms Juno and higher.
      Please set the "platform" variable to either one of the supported platform to activate the proper set of profiles.
    -->
    <!-- Target platforms are located in org.eclipse.emf.compare-parent/targetPlatforms. -->
    <profile>
      <id>mars</id>
      <activation>
        <activeByDefault>true</activeByDefault>
      </activation>
      <build>
        <plugins>
          <plugin>
            <groupId>org.eclipse.tycho</groupId>
            <artifactId>target-platform-configuration</artifactId>
            <configuration>
              <target>
                <artifact>
                  <groupId>org.eclipse.emf.compare</groupId>
                  <artifactId>emf.compare-parent</artifactId>
                  <version>${parent-version}</version>
                  <classifier>targetPlatforms/mars-sdk</classifier>
                </artifact>
              </target>
            </configuration>
          </plugin>
        </plugins>
      </build>
      <modules>
        <module>../packaging/org.eclipse.emf.compare.update</module>
        <module>../plugins/org.eclipse.emf.compare.ide.ui.tests.git</module>
        <module>../packaging/org.eclipse.emf.compare.uml2-feature</module>
        <module>../plugins/org.eclipse.emf.compare.uml2</module>
        <module>../plugins/org.eclipse.emf.compare.uml2.edit</module>
        <module>../plugins/org.eclipse.emf.compare.uml2.rcp</module>
        <module>../plugins/org.eclipse.emf.compare.uml2.rcp.ui</module>
        <module>../plugins/org.eclipse.emf.compare.uml2.tests</module>
        <module>../plugins/org.eclipse.emf.compare.uml2.rcp.ui.tests</module>
        <module>../packaging/org.eclipse.emf.compare.diagram.gmf-feature</module>
        <module>../plugins/org.eclipse.emf.compare.diagram</module>
        <module>../plugins/org.eclipse.emf.compare.diagram.edit</module>
        <module>../plugins/org.eclipse.emf.compare.diagram.ide.ui</module>
        <module>../packaging/org.eclipse.emf.compare.diagram.papyrus-feature</module>
        <module>../plugins/org.eclipse.emf.compare.diagram.ide.ui.papyrus</module>
        <module>../plugins/org.eclipse.emf.compare.uml2.edit.papyrus</module>
        <module>../plugins/org.eclipse.emf.compare.diagram.papyrus.tests</module>
        <module>../plugins/org.eclipse.emf.compare.uml2.ide</module>
        <module>../plugins/org.eclipse.emf.compare.uml2.ide.tests</module>
        <module>../plugins/org.eclipse.emf.compare.uml2.ide.ui.tests</module>

        <module>../plugins/org.eclipse.emf.compare.egit</module>
        <module>../packaging/org.eclipse.emf.compare.egit-feature</module>
        <module>../plugins/org.eclipse.emf.compare.subversive</module>
        <module>../packaging/org.eclipse.emf.compare.subversive-feature</module>
        
        <module>../maven/org.eclipse.emf.compare.maven.tests</module>
      </modules>
    </profile>
    <profile>
      <id>luna</id>
      <activation>
        <activeByDefault>false</activeByDefault>
      </activation>
      <build>
        <plugins>
          <plugin>
            <groupId>org.eclipse.tycho</groupId>
            <artifactId>target-platform-configuration</artifactId>
            <configuration>
              <target>
                <artifact>
                  <groupId>org.eclipse.emf.compare</groupId>
                  <artifactId>emf.compare-parent</artifactId>
                  <version>${parent-version}</version>
                  <classifier>targetPlatforms/luna-sdk</classifier>
                </artifact>
              </target>
            </configuration>
          </plugin>
        </plugins>
      </build>
      <modules>
        <!-- Uncomment when https://git.eclipse.org/r/#/c/29372/ merged into repository
        <module>../plugins/org.eclipse.emf.compare.ide.ui.tests.git</module>
        -->
        <module>../packaging/org.eclipse.emf.compare.uml2-feature</module>
        <module>../plugins/org.eclipse.emf.compare.uml2</module>
        <module>../plugins/org.eclipse.emf.compare.uml2.edit</module>
        <module>../plugins/org.eclipse.emf.compare.uml2.rcp</module>
        <module>../plugins/org.eclipse.emf.compare.uml2.rcp.ui</module>
        <module>../plugins/org.eclipse.emf.compare.uml2.tests</module>
        <module>../plugins/org.eclipse.emf.compare.uml2.rcp.ui.tests</module>
        <module>../packaging/org.eclipse.emf.compare.diagram.gmf-feature</module>
        <module>../plugins/org.eclipse.emf.compare.diagram</module>
        <module>../plugins/org.eclipse.emf.compare.diagram.edit</module>
        <module>../plugins/org.eclipse.emf.compare.diagram.ide.ui</module>
        <module>../packaging/org.eclipse.emf.compare.diagram.papyrus-feature</module>
        <module>../plugins/org.eclipse.emf.compare.uml2.edit.papyrus</module>
        <module>../plugins/org.eclipse.emf.compare.diagram.ide.ui.papyrus</module>
        <module>../plugins/org.eclipse.emf.compare.diagram.papyrus.tests</module>
        <module>../plugins/org.eclipse.emf.compare.uml2.ide</module>
        <module>../plugins/org.eclipse.emf.compare.uml2.ide.tests</module>
        <module>../plugins/org.eclipse.emf.compare.uml2.ide.ui.tests</module>

        <module>../plugins/org.eclipse.emf.compare.subversive</module>
        <module>../packaging/org.eclipse.emf.compare.subversive-feature</module>
      </modules>
    </profile>
    <profile>
      <id>kepler</id>
      <activation>
        <activeByDefault>false</activeByDefault>
      </activation>
      <build>
        <plugins>
          <plugin>
            <groupId>org.eclipse.tycho</groupId>
            <artifactId>target-platform-configuration</artifactId>
            <configuration>
              <target>
                <artifact>
                  <groupId>org.eclipse.emf.compare</groupId>
                  <artifactId>emf.compare-parent</artifactId>
                  <version>${parent-version}</version>
                  <classifier>targetPlatforms/kepler-sdk</classifier>
                </artifact>
              </target>
            </configuration>
          </plugin>
        </plugins>
      </build>
      <modules>
        <!-- Uncomment when https://git.eclipse.org/r/#/c/29372/ merged into repository
        <module>../plugins/org.eclipse.emf.compare.ide.ui.tests.git</module>
        -->
        <module>../packaging/org.eclipse.emf.compare.diagram.gmf-feature</module>
        <module>../plugins/org.eclipse.emf.compare.diagram</module>
        <module>../plugins/org.eclipse.emf.compare.diagram.edit</module>
        <module>../plugins/org.eclipse.emf.compare.diagram.ide.ui</module>
        <module>../packaging/org.eclipse.emf.compare.diagram.ecoretools-feature</module>
        <module>../plugins/org.eclipse.emf.compare.diagram.ide.ui.ecoretools</module>
        <module>../plugins/org.eclipse.emf.compare.diagram.ecoretools.tests</module>
        <module>../plugins/org.eclipse.emf.compare.diagram.ide.ecoretools.tests</module>
      </modules>
    </profile>
    <profile>
      <id>juno</id>
      <activation>
        <activeByDefault>false</activeByDefault>
      </activation>
      <build>
        <plugins>
          <plugin>
            <groupId>org.eclipse.tycho</groupId>
            <artifactId>target-platform-configuration</artifactId>
            <configuration>
              <target>
                <artifact>
                  <groupId>org.eclipse.emf.compare</groupId>
                  <artifactId>emf.compare-parent</artifactId>
                  <version>${parent-version}</version>
                  <classifier>targetPlatforms/juno-4.2-sdk</classifier>
                </artifact>
              </target>
            </configuration>
          </plugin>
        </plugins>
      </build>
      <modules>
        <!-- Uncomment when https://git.eclipse.org/r/#/c/29372/ merged into repository
        <module>../plugins/org.eclipse.emf.compare.ide.ui.tests.git</module>
        -->
        <module>../packaging/org.eclipse.emf.compare.diagram.gmf-feature</module>
        <module>../plugins/org.eclipse.emf.compare.diagram</module>
        <module>../plugins/org.eclipse.emf.compare.diagram.edit</module>
        <module>../plugins/org.eclipse.emf.compare.diagram.ide.ui</module>
        <module>../packaging/org.eclipse.emf.compare.diagram.ecoretools-feature</module>
        <module>../plugins/org.eclipse.emf.compare.diagram.ide.ui.ecoretools</module>
        <module>../plugins/org.eclipse.emf.compare.diagram.ecoretools.tests</module>
        <module>../plugins/org.eclipse.emf.compare.diagram.ide.ecoretools.tests</module>
      </modules>
    </profile>
    <profile>
      <id>indigo</id>
      <activation>
        <activeByDefault>false</activeByDefault>
      </activation>
      <build>
        <plugins>
          <plugin>
            <groupId>org.eclipse.tycho</groupId>
            <artifactId>target-platform-configuration</artifactId>
            <configuration>
              <target>
                <artifact>
                  <groupId>org.eclipse.emf.compare</groupId>
                  <artifactId>emf.compare-parent</artifactId>
                  <version>${parent-version}</version>
                  <classifier>targetPlatforms/indigo-sdk</classifier>
                </artifact>
              </target>
            </configuration>
          </plugin>
        </plugins>
      </build>
    </profile>
    <profile>
      <id>helios</id>
      <activation>
        <activeByDefault>false</activeByDefault>
      </activation>
      <build>
        <plugins>
          <plugin>
            <groupId>org.eclipse.tycho</groupId>
            <artifactId>target-platform-configuration</artifactId>
            <configuration>
              <target>
                <artifact>
                  <groupId>org.eclipse.emf.compare</groupId>
                  <artifactId>emf.compare-parent</artifactId>
                  <version>${parent-version}</version>
                  <classifier>targetPlatforms/helios-sdk</classifier>
                </artifact>
              </target>
            </configuration>
          </plugin>
        </plugins>
      </build>
    </profile>
    <profile>
      <id>galileo</id>
      <activation>
        <activeByDefault>false</activeByDefault>
      </activation>
      <build>
        <plugins>
          <plugin>
            <groupId>org.eclipse.tycho</groupId>
            <artifactId>target-platform-configuration</artifactId>
            <configuration>
              <target>
                <artifact>
                  <groupId>org.eclipse.emf.compare</groupId>
                  <artifactId>emf.compare-parent</artifactId>
                  <version>${parent-version}</version>
                  <classifier>targetPlatforms/galileo-sdk</classifier>
                </artifact>
              </target>
            </configuration>
          </plugin>
        </plugins>
      </build>
    </profile>
    <profile>
      <id>sign</id>
      <activation>
        <activeByDefault>false</activeByDefault>
      </activation>
      <build>
        <plugins>
          <plugin>
            <groupId>org.eclipse.tycho.extras</groupId>
            <artifactId>tycho-pack200a-plugin</artifactId>
            <executions>
              <execution>
                <id>pack200-normalize</id>
                <goals>
                  <goal>normalize</goal>
                </goals>
                <phase>package</phase>
              </execution>
            </executions>
          </plugin>
          <plugin>
            <groupId>org.eclipse.cbi.maven.plugins</groupId>
            <artifactId>eclipse-jarsigner-plugin</artifactId>
            <executions>
              <execution>
                <id>sign</id>
                <phase>package</phase>
                <goals>
                  <goal>sign</goal>
                </goals>
              </execution>
            </executions>
          </plugin>
          <plugin>
            <groupId>org.eclipse.tycho.extras</groupId>
            <artifactId>tycho-pack200b-plugin</artifactId>
            <executions>
              <execution>
                <id>pack200-pack</id>
                <goals>
                  <goal>pack</goal>
                </goals>
                <phase>package</phase>
              </execution>
            </executions>
          </plugin>
          <plugin>
            <groupId>org.eclipse.tycho</groupId>
            <artifactId>tycho-p2-plugin</artifactId>
            <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>
      <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>
    <!-- use this profile if you need to launch sonar or other quality-related plugins on the built artifacts. -->
    <profile>
      <id>quality</id>
      <activation>
        <activeByDefault>false</activeByDefault>
      </activation>
      <build>
        <plugins>
          <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-checkstyle-plugin</artifactId>
            <executions>
              <execution>
                <id>checkstyle</id>
                <phase>verify</phase>
                <goals>
                  <goal>checkstyle</goal>
                </goals>
                <configuration>
                  <configLocation>${project.basedir}/../../org.eclipse.emf.compare-parent/codeStyle/EMFCompareCheckstyle5Configuration.xml</configLocation>
                </configuration>
              </execution>
            </executions>
          </plugin>
          <plugin>
            <groupId>org.codehaus.mojo</groupId>
            <artifactId>findbugs-maven-plugin</artifactId>
            <configuration>
              <xmlOutput>true</xmlOutput>
              <failOnError>false</failOnError>
            </configuration>
            <executions>
              <execution>
                <id>findbugs</id>
                <phase>verify</phase>
                <goals>
                  <goal>findbugs</goal>
                </goals>
              </execution>
            </executions>
          </plugin>
          <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-pmd-plugin</artifactId>
            <executions>
              <execution>
                <id>pmd-cpd</id>
                <phase>verify</phase>
                <goals>
                  <goal>pmd</goal>
                  <goal>cpd</goal>
                </goals>
              </execution>
            </executions>
          </plugin>
        </plugins>
      </build>
      <reporting>
        <plugins>
          <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-jxr-plugin</artifactId>
          </plugin>
        </plugins>
      </reporting>
    </profile>
    <!-- use this profile to test performance of EMF Compare -->
    <profile>
      <id>performance</id>
      <activation>
        <activeByDefault>false</activeByDefault>
      </activation>
      <properties>
        <performance-suite>Performance</performance-suite>
      </properties>
      <modules>
        <module>../performance/org.eclipse.emf.compare.tests.performance</module>
        <module>../plugins/org.eclipse.emf.compare.uml2</module>
        <module>../plugins/org.eclipse.emf.compare.diagram</module>
      </modules>
      <build>
        <plugins>
          <plugin>
            <groupId>org.eclipse.tycho</groupId>
            <artifactId>target-platform-configuration</artifactId>
            <configuration>
              <target>
                <artifact>
                  <groupId>org.eclipse.emf.compare</groupId>
                  <artifactId>emf.compare-parent</artifactId>
                  <version>${parent-version}</version>
                  <classifier>targetPlatforms/mars-sdk</classifier>
                </artifact>
              </target>
            </configuration>
          </plugin>
        </plugins>
      </build>
    </profile>
    <!-- use this profile to test performance of EMF Compare with large models -->
    <profile>
      <id>performance-large</id>
      <activation>
        <activeByDefault>false</activeByDefault>
      </activation>
      <properties>
        <performance-suite>PerformanceLarge</performance-suite>
      </properties>
      <modules>
        <module>../performance/org.eclipse.emf.compare.tests.performance</module>
        <module>../plugins/org.eclipse.emf.compare.uml2</module>
        <module>../plugins/org.eclipse.emf.compare.diagram</module>
      </modules>
      <build>
        <plugins>
          <plugin>
            <groupId>org.eclipse.tycho</groupId>
            <artifactId>target-platform-configuration</artifactId>
            <configuration>
              <target>
                <artifact>
                  <groupId>org.eclipse.emf.compare</groupId>
                  <artifactId>emf.compare-parent</artifactId>
                  <version>${parent-version}</version>
                  <classifier>targetPlatforms/mars-sdk</classifier>
                </artifact>
              </target>
            </configuration>
          </plugin>
        </plugins>
      </build>
    </profile>
    <!-- use this profile to test performance of EMF Compare with models shared with git-->
    <profile>
      <id>performance-git</id>
      <activation>
        <activeByDefault>false</activeByDefault>
      </activation>
      <properties>
        <performance-suite>PerformanceGit</performance-suite>
      </properties>
      <modules>
        <module>../performance/org.eclipse.emf.compare.tests.performance</module>
        <module>../plugins/org.eclipse.emf.compare.uml2</module>
        <module>../plugins/org.eclipse.emf.compare.diagram</module>
      </modules>
      <build>
        <plugins>
          <plugin>
            <groupId>org.eclipse.tycho</groupId>
            <artifactId>target-platform-configuration</artifactId>
            <configuration>
              <target>
                <artifact>
                  <groupId>org.eclipse.emf.compare</groupId>
                  <artifactId>emf.compare-parent</artifactId>
                  <version>${parent-version}</version>
                  <classifier>targetPlatforms/mars-sdk</classifier>
                </artifact>
              </target>
            </configuration>
          </plugin>
        </plugins>
      </build>
    </profile>
    <!-- use this profile to test performance of EMF Compare with large models shared with git-->
    <profile>
      <id>performance-large-git</id>
      <activation>
        <activeByDefault>false</activeByDefault>
      </activation>
      <properties>
        <performance-suite>PerformanceLargeGit</performance-suite>
      </properties>
      <modules>
        <module>../performance/org.eclipse.emf.compare.tests.performance</module>
        <module>../plugins/org.eclipse.emf.compare.uml2</module>
        <module>../plugins/org.eclipse.emf.compare.diagram</module>
      </modules>
      <build>
        <plugins>
          <plugin>
            <groupId>org.eclipse.tycho</groupId>
            <artifactId>target-platform-configuration</artifactId>
            <configuration>
              <target>
                <artifact>
                  <groupId>org.eclipse.emf.compare</groupId>
                  <artifactId>emf.compare-parent</artifactId>
                  <version>${parent-version}</version>
                  <classifier>targetPlatforms/mars-sdk</classifier>
                </artifact>
              </target>
            </configuration>
          </plugin>
        </plugins>
      </build>
    </profile>
    <!-- this profile will activate by itself if the build is ran on a mac. Be carefull to also activate a profile -->
    <profile>
      <id>macosx-jvm-flags</id>
      <activation>
        <os>
          <family>mac</family>
        </os>
      </activation>
      <properties>
        <os-jvm-flags>-XstartOnFirstThread</os-jvm-flags>
      </properties>
    </profile>
    <!-- This profile is activated when the code.coverage property is not set.
    Another profile is defined in test-parent where jacoco is triggerred and will set testArgLine to
    its desired value. -->
    <profile>
      <id>no.code.coverage</id>
      <activation>
        <property>
          <name>!code.coverage</name>
        </property>
      </activation>
      <properties>
        <tycho.testArgLine/>
      </properties>
    </profile>
  </profiles>
  
  <distributionManagement>
    <repository>
      <id>repo.eclipse.org</id>
      <name>EMF Compare Repository - Releases</name>
      <url>https://repo.eclipse.org/content/repositories/emfcompare-releases/</url>
    </repository>
    <snapshotRepository>
      <id>repo.eclipse.org</id>
      <name>EMF Compare Repository - Snapshots</name>
      <url>https://repo.eclipse.org/content/repositories/emfcompare-snapshots/</url>
    </snapshotRepository>
  </distributionManagement>
</project>
