<?xml version="1.0" encoding="UTF-8"?>
<!--
    Copyright (c) 2012, 2015 Tasktop Technologies 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:
         Tasktop Technologies - 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/maven-v4_0_0.xsd">
  <modelVersion>4.0.0</modelVersion>

  <groupId>org.eclipse.mylyn</groupId>
  <artifactId>org.eclipse.mylyn-parent</artifactId>
  <version>3.25.1-SNAPSHOT</version>
  <packaging>pom</packaging>

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

  <properties>
    <tycho-version>1.0.0</tycho-version>
    <tycho-extras-version>${tycho-version}</tycho-extras-version>

    <mylyn-test-append></mylyn-test-append>

    <analysis.skip>true</analysis.skip>

    <coverage.skip>true</coverage.skip>
    <coverage.filter>org.eclipse.mylyn.*</coverage.filter>
    <coverage.destFile>../target/jacoco.exec</coverage.destFile>
    <sonar.core.codeCoveragePlugin>jacoco</sonar.core.codeCoveragePlugin>
    <sonar.dynamicAnalysis>reuseReports</sonar.dynamicAnalysis>
    <sonar.jacoco.reportPath>${coverage.destFile}</sonar.jacoco.reportPath>

    <test.skip>${maven.test.skip}</test.skip>
    <test.all.skip>${test.skip}</test.all.skip>
    <test.component.skip>${test.skip}</test.component.skip>
    <test.integration.skip>${test.all.skip}</test.integration.skip>
    <test.performance.skip>${test.skip}</test.performance.skip>
    <test.system.skip>${test.skip}</test.system.skip>
    <test.vmargs>-ea -Dorg.eclipse.mylyn.wikitext.tests.disableOutput=true ${test.osvmargs} ${test.uservmargs}</test.vmargs>
    <test.uservmargs></test.uservmargs>
    <test.osvmargs></test.osvmargs>
    <test.args>-eclipse.keyring ${test.keyring.file} -eclipse.password ${test.keyring.password} ${test.userargs}</test.args>
    <test.userargs></test.userargs>
    <test.keyring.file>${project.build.directory}/.eclipse.keyring</test.keyring.file>
    <test.keyring.password>${project.build.directory}/../../.gitignore</test.keyring.password>

    <sign.skip>true</sign.skip>
    <pack.skip>false</pack.skip>
    <promote.skip>true</promote.skip>

    <dist.qualifier>'N'yyyyMMdd-HHmm</dist.qualifier>
    <dist.repository>${project.name}</dist.repository>
    <dist.archive>${basedir}/target/drops</dist.archive>
    <dist.site></dist.site>
    <dist.pack200>${java.home}/bin</dist.pack200>

    <dist.releases.url>https://repo.eclipse.org/content/repositories/mylyn-releases/</dist.releases.url>
    <dist.snapshots.url>https://repo.eclipse.org/content/repositories/mylyn-snapshots/</dist.snapshots.url>

    <target-platform>mylyn-e${target-version}</target-platform>
    <egit-repository-url>http://download.eclipse.org/egit/updates-1.3/</egit-repository-url>
    <swtbot-repository-url>http://download.eclipse.org/technology/swtbot/helios/dev-build/update-site/</swtbot-repository-url>

    <alt-target-version>4.7</alt-target-version>
    <alt-platform-repository-url>http://download.eclipse.org/releases/oxygen/</alt-platform-repository-url>

    <orbit-repository-url>http://download.eclipse.org/tools/orbit/downloads/drops/R20170516192513/repository/</orbit-repository-url>
    <jdt-annotation-repository-url>http://download.eclipse.org/mylyn/snapshots/jdt-annotation/</jdt-annotation-repository-url>
    <mylyn-repository-url>http://download.eclipse.org/mylyn/snapshots/3.25/</mylyn-repository-url>
    <mylyn-builds-repository-url>http://download.eclipse.org/mylyn/snapshots/3.25/</mylyn-builds-repository-url>
    <mylyn-commons-repository-url>http://download.eclipse.org/mylyn/snapshots/3.25/</mylyn-commons-repository-url>
    <mylyn-context-repository-url>http://download.eclipse.org/mylyn/snapshots/3.25/</mylyn-context-repository-url>
    <mylyn-docs-repository-url>http://download.eclipse.org/mylyn/snapshots/3.25/</mylyn-docs-repository-url>
    <mylyn-reviews-repository-url>http://download.eclipse.org/mylyn/snapshots/3.25/</mylyn-reviews-repository-url>
    <mylyn-tasks-repository-url>http://download.eclipse.org/mylyn/snapshots/3.25/</mylyn-tasks-repository-url>
    <mylyn-versions-repository-url>http://download.eclipse.org/mylyn/snapshots/3.25/</mylyn-versions-repository-url>
  </properties>

  <mailingLists>
    <mailingList>
      <name>Mylyn Mailing List</name>
      <post>mylyn-dev@eclipse.org</post>
      <subscribe>https://dev.eclipse.org/mailman/listinfo/mylyn-dev</subscribe>
      <unsubscribe>https://dev.eclipse.org/mailman/listinfo/mylyn-dev</unsubscribe>
      <archive>http://dev.eclipse.org/mhonarc/lists/mylyn-dev</archive>
    </mailingList>
  </mailingLists>

  <issueManagement>
    <url>https://bugs.eclipse.org/bugs/buglist.cgi?query_format=advanced;classification=Mylyn</url>
    <system>Bugzilla</system>
  </issueManagement>

  <distributionManagement>
    <repository>
      <id>repo.eclipse.org</id>
      <name>Mylyn Repository - Releases</name>
      <url>${dist.releases.url}</url>
    </repository>
    <snapshotRepository>
      <id>repo.eclipse.org</id>
      <name>Mylyn Repository - Snapshots</name>
      <url>${dist.snapshots.url}</url>
    </snapshotRepository>
  </distributionManagement>

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

  <licenses>
    <license>
      <name>Eclipse Public License v1.0</name>
      <url>http://www.eclipse.org/legal/epl-v10.html</url>
      <distribution>repo</distribution>
      <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>

  <organization>
    <name>Eclipse Foundation</name>
    <url>http://www.eclipse.org/</url>
  </organization>

  <profiles>
    <!-- Target definition profiles -->
    <!-- Needs to be specified first to allow target profiles to override settings -->
    <profile>
      <id>explicit-target</id>
      <activation>
        <property>
          <name>explicit-target</name>
        </property>
      </activation>
      <build>
        <plugins>
          <plugin>
            <groupId>org.eclipse.tycho</groupId>
            <artifactId>target-platform-configuration</artifactId>
            <version>${tycho-version}</version>
            <configuration>
              <resolver>p2</resolver>
              <target>
                <artifact>
                  <groupId>org.eclipse.mylyn</groupId>
                  <artifactId>org.eclipse.mylyn-target</artifactId>
                  <version>3.25.1-SNAPSHOT</version>
                  <classifier>${target-platform}</classifier>
                </artifact>
              </target>
              <ignoreTychoRepositories>true</ignoreTychoRepositories>
              <dependency-resolution>
                <optionalDependencies>ignore</optionalDependencies>
              </dependency-resolution>
              <environments>
                <environment>
                  <os>macosx</os>
                  <ws>cocoa</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>linux</os>
                  <ws>gtk</ws>
                  <arch>x86</arch>
                </environment>
                <environment>
                  <os>linux</os>
                  <ws>gtk</ws>
                  <arch>x86_64</arch>
                </environment>
                <environment>
                  <os>linux</os>
                  <ws>gtk</ws>
                  <arch>ppc64</arch>
                </environment>
              </environments>
            </configuration>
          </plugin>
        </plugins>
      </build>
    </profile>
    <profile>
      <id>implicit-target</id>
      <activation>
        <property>
          <name>!explicit-target</name>
        </property>
      </activation>
      <build>
        <plugins>
          <plugin>
            <groupId>org.eclipse.tycho</groupId>
            <artifactId>target-platform-configuration</artifactId>
            <version>${tycho-version}</version>
            <configuration>
              <resolver>p2</resolver>
              <ignoreTychoRepositories>false</ignoreTychoRepositories>
              <dependency-resolution>
                <optionalDependencies>ignore</optionalDependencies>
              </dependency-resolution>
              <jgit.dirtyWorkingTree>ignore</jgit.dirtyWorkingTree>
              <environments>
                <environment>
                  <os>macosx</os>
                  <ws>cocoa</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>linux</os>
                  <ws>gtk</ws>
                  <arch>x86</arch>
                </environment>
                <environment>
                  <os>linux</os>
                  <ws>gtk</ws>
                  <arch>x86_64</arch>
                </environment>
                <environment>
                  <os>linux</os>
                  <ws>gtk</ws>
                  <arch>ppc64</arch>
                </environment>
              </environments>
            </configuration>
          </plugin>
        </plugins>
      </build>
      <repositories>
        <repository>
          <id>eclipse-platform</id>
          <layout>p2</layout>
          <url>${platform-repository-url}</url>
        </repository>
        <repository>
          <id>eclipse-egit</id>
          <layout>p2</layout>
          <url>${egit-repository-url}</url>
        </repository>
        <repository>
          <id>eclipse-orbit</id>
          <layout>p2</layout>
          <url>${orbit-repository-url}</url>
        </repository>
        <repository>
          <id>eclipse-jdt-annotation</id>
          <layout>p2</layout>
          <url>${jdt-annotation-repository-url}</url>
        </repository>
      </repositories>
    </profile>

    <!-- Target profiles -->
    <profile>
      <id>default-target</id>
      <activation>
        <property>
          <name>!target-profile</name>
        </property>
      </activation>
      <!-- Properties get overridden if a specific target profile is activated. -->
      <properties>
        <target-version>4.7</target-version>
        <platform-repository-url>http://download.eclipse.org/releases/oxygen/</platform-repository-url>
      </properties>
    </profile>
    <profile>
      <id>juno</id>
      <activation>
        <property>
          <name>target-profile</name>
          <value>juno</value>
        </property>
      </activation>
      <properties>
        <target-version>4.2</target-version>
        <platform-repository-url>http://download.eclipse.org/releases/juno/201303010900/</platform-repository-url>
        <alt-target-version>4.2</alt-target-version>
        <alt-platform-repository-url>http://download.eclipse.org/releases/juno/201303010900/</alt-platform-repository-url>
      </properties>
    </profile>
    <profile>
      <id>kepler</id>
      <activation>
        <property>
          <name>target-profile</name>
          <value>kepler</value>
        </property>
      </activation>
      <properties>
        <target-version>4.3</target-version>
        <platform-repository-url>http://download.eclipse.org/releases/kepler/</platform-repository-url>
        <alt-target-version>4.3</alt-target-version>
        <alt-platform-repository-url>http://download.eclipse.org/releases/kepler/</alt-platform-repository-url>
      </properties>
    </profile>
    <profile>
      <id>luna</id>
      <activation>
        <property>
          <name>target-profile</name>
          <value>luna</value>
        </property>
      </activation>
      <properties>
        <target-version>4.4</target-version>
        <platform-repository-url>http://download.eclipse.org/releases/luna/</platform-repository-url>
        <alt-target-version>4.4</alt-target-version>
        <alt-platform-repository-url>http://download.eclipse.org/releases/luna/</alt-platform-repository-url>
      </properties>
    </profile>
    <profile>
      <id>mars</id>
      <activation>
        <property>
          <name>target-profile</name>
          <value>mars</value>
        </property>
      </activation>
      <properties>
        <target-version>4.5</target-version>
        <platform-repository-url>http://download.eclipse.org/releases/mars/</platform-repository-url>
        <alt-target-version>4.5</alt-target-version>
        <alt-platform-repository-url>http://download.eclipse.org/releases/mars/</alt-platform-repository-url>
      </properties>
    </profile>
    <profile>
      <id>neon</id>
      <activation>
        <property>
          <name>target-profile</name>
          <value>neon</value>
        </property>
      </activation>
      <properties>
        <target-version>4.6</target-version>
        <platform-repository-url>http://download.eclipse.org/releases/neon/</platform-repository-url>
        <alt-target-version>4.6</alt-target-version>
        <alt-platform-repository-url>http://download.eclipse.org/releases/neon/</alt-platform-repository-url>
      </properties>
    </profile>
    <profile>
      <id>oxygen</id>
      <activation>
        <property>
          <name>target-profile</name>
          <value>oxygen</value>
        </property>
      </activation>
      <properties>
        <target-version>4.7</target-version>
        <platform-repository-url>http://download.eclipse.org/releases/oxygen/</platform-repository-url>
        <alt-target-version>4.7</alt-target-version>
        <alt-platform-repository-url>http://download.eclipse.org/releases/oxygen/</alt-platform-repository-url>
      </properties>
    </profile>
    <profile>
      <id>photon</id>
      <activation>
        <property>
          <name>target-profile</name>
          <value>photon</value>
        </property>
      </activation>
      <properties>
        <target-version>4.8</target-version>
        <platform-repository-url>http://download.eclipse.org/releases/photon/</platform-repository-url>
        <alt-target-version>4.photon</alt-target-version>
        <alt-platform-repository-url>http://download.eclipse.org/releases/photon/</alt-platform-repository-url>
      </properties>
    </profile>
    <profile>
      <id>maintenance</id>
      <activation>
        <property>
          <name>target-profile</name>
          <value>maintenance</value>
        </property>
      </activation>
      <properties>
        <target-version>maintenance</target-version>
        <platform-repository-url>http://download.eclipse.org/releases/maintenance/</platform-repository-url>
        <alt-target-version>maintenance</alt-target-version>
        <alt-platform-repository-url>http://download.eclipse.org/releases/maintenance/</alt-platform-repository-url>
      </properties>
    </profile>
    <profile>
      <id>staging</id>
      <activation>
        <property>
          <name>target-profile</name>
          <value>staging</value>
        </property>
      </activation>
      <properties>
        <target-version>staging</target-version>
        <platform-repository-url>http://download.eclipse.org/releases/staging/</platform-repository-url>
        <alt-target-version>staging</alt-target-version>
        <alt-platform-repository-url>http://download.eclipse.org/releases/staging/</alt-platform-repository-url>
      </properties>
    </profile>

    <!-- OS and machine specific profiles -->
    <profile>
      <id>coverage-initializer</id>
      <activation>
        <property>
          <name>!coverage.skip</name>
        </property>
      </activation>
      <!-- set default property values if test coverage is diabled -->
      <properties>
        <tycho.testArgLine></tycho.testArgLine>
      </properties>
    </profile>
    <profile>
      <id>osx</id>
      <activation>
        <property>
          <name>os.name</name>
          <value>Mac OS X</value>
        </property>
      </activation>
      <properties>
        <test.osvmargs>-Dosgi.ws=cocoa -XstartOnFirstThread</test.osvmargs>
      </properties>
    </profile>
    <profile>
      <id>tycho-snapshot</id>
      <activation>
        <property>
          <name>tycho-version</name>
        </property>
      </activation>
      <pluginRepositories>
        <pluginRepository>
          <id>tycho-snapshots</id>
          <url>https://repo.eclipse.org/content/repositories/tycho-snapshots/</url>
        </pluginRepository>
      </pluginRepositories>
    </profile>
    <profile>
      <id>sandbox.eclipse.org</id>
      <properties>
        <test.vmargs>-ea -Dorg.eclipse.mylyn.wikitext.tests.disableOutput=true -Dhttp.proxyHost=proxy.eclipse.org -Dhttp.proxyPort=9898 -Dhttps.proxyHost=proxy.eclipse.org -Dhttps.proxyPort=9898 -Dhttp.nonProxyHosts=*.eclipse.org ${test.uservmargs}</test.vmargs>
        <dist.pack200>/shared/common/jdk-1.5.0-22.x86_64/bin</dist.pack200>
        <maven.test.error.ignore>true</maven.test.error.ignore>
        <maven.test.failure.ignore>true</maven.test.failure.ignore>
      </properties>
    </profile>
    <profile>
      <id>hudson.eclipse.org</id>
      <activation>
        <property>
          <name>user.name</name>
          <value>genie.mylyn</value>
        </property>
      </activation>
      <properties>
        <mylyn-credentials>/shared/mylyn/.credentials.properties</mylyn-credentials>
        <test.vmargs>-ea -Dmylyn.credentials=${mylyn-credentials} -Dorg.eclipse.mylyn.wikitext.tests.disableOutput=true -Dhttp.proxyHost=proxy.eclipse.org -Dhttp.proxyPort=9898 -Dhttps.proxyHost=proxy.eclipse.org -Dhttps.proxyPort=9898 -Dhttp.nonProxyHosts=*.eclipse.org ${test.uservmargs}</test.vmargs>
        <!--
            <mylyn-test-append>@e${target-version}</mylyn-test-append>
        -->
        <dist.pack200>/shared/common/jdk-1.5.0-22.x86_64/bin</dist.pack200>
        <maven.test.error.ignore>true</maven.test.error.ignore>
        <maven.test.failure.ignore>true</maven.test.failure.ignore>
      </properties>
    </profile>

    <!-- Release type profiles -->
    <profile>
      <id>heartbeat</id>
    </profile>
    <profile>
      <id>snapshot</id>
      <activation>
        <property>
          <name>env.TYPE</name>
          <value>snapshot</value>
        </property>
      </activation>
      <properties>
        <sign.skip>false</sign.skip>
        <dist.site>/home/data/httpd/download.eclipse.org/mylyn/snapshots</dist.site>
        <dist.qualifier>'v'yyyyMMdd-HHmm</dist.qualifier>
      </properties>
    </profile>
    <profile>
      <id>release</id>
      <activation>
        <property>
          <name>env.TYPE</name>
          <value>release</value>
        </property>
      </activation>
      <properties>
        <sign.skip>false</sign.skip>
        <dist.site>/home/data/httpd/download.eclipse.org/mylyn/snapshots</dist.site>
        <dist.qualifier>'v'yyyyMMdd-HHmm</dist.qualifier>
      </properties>
    </profile>
    <profile>
      <id>test-build</id>
      <properties>
        <sign.skip>true</sign.skip>
        <dist.site>/home/data/httpd/download.eclipse.org/mylyn/snapshots</dist.site>
        <dist.qualifier>'x'yyyyMMdd-HHmm</dist.qualifier>
      </properties>
    </profile>
    <profile>
      <id>publish</id>
      <activation>
        <property>
          <name>env.PUBLISH</name>
          <value>true</value>
        </property>
      </activation>
      <properties>
        <promote.skip>false</promote.skip>
      </properties>
    </profile>
  </profiles>

  <build>
    <plugins>
      <plugin>
        <groupId>org.eclipse.tycho</groupId>
        <artifactId>tycho-maven-plugin</artifactId>
        <version>${tycho-version}</version>
        <extensions>true</extensions>
      </plugin>
      <!-- common coverage configuration -->
      <plugin>
        <groupId>org.jacoco</groupId>
        <artifactId>jacoco-maven-plugin</artifactId>
        <version>0.5.6.201201232323</version>
        <executions>
          <execution>
            <goals>
              <goal>prepare-agent</goal>
            </goals>
            <configuration>
              <skip>${coverage.skip}</skip>
              <destFile>${coverage.destFile}</destFile>
              <includes>
                <include>${coverage.filter}</include>
              </includes>
              <append>true</append>
            </configuration>
          </execution>
        </executions>
      </plugin>
    </plugins>
    <pluginManagement>
      <plugins>
        <plugin>
          <groupId>org.eclipse.tycho</groupId>
          <artifactId>tycho-source-plugin</artifactId>
          <version>${tycho-version}</version>
          <executions>
            <execution>
              <id>attach-source</id>
              <phase>process-classes</phase>
              <goals>
                <goal>plugin-source</goal>
              </goals>
            </execution>
          </executions>
        </plugin>
        <plugin>
          <groupId>org.eclipse.tycho</groupId>
          <artifactId>tycho-compiler-plugin</artifactId>
          <version>${tycho-version}</version>
          <configuration>
            <encoding>UTF-8</encoding>
          </configuration>
        </plugin>
        <plugin>
          <groupId>org.apache.maven.plugins</groupId>
          <artifactId>maven-compiler-plugin</artifactId>
          <version>2.0.2</version>
          <configuration>
            <source>1.8</source>
            <target>1.8</target>
          </configuration>
        </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.eclipse.tycho</groupId>
          <artifactId>tycho-packaging-plugin</artifactId>
          <version>${tycho-version}</version>
          <dependencies>
            <dependency>
              <groupId>org.eclipse.tycho.extras</groupId>
              <artifactId>tycho-buildtimestamp-jgit</artifactId>
              <version>${tycho-extras-version}</version>
            </dependency>
            <dependency>
              <groupId>org.eclipse.tycho.extras</groupId>
              <artifactId>tycho-sourceref-jgit</artifactId>
              <version>${tycho-extras-version}</version>
            </dependency>
          </dependencies>
          <configuration>
            <format>${dist.qualifier}</format>
            <archiveSite>false</archiveSite>
            <archive>
              <addMavenDescriptor>false</addMavenDescriptor>
            </archive>
            <sourceReferences>
              <generate>true</generate>
            </sourceReferences>
            <timestampProvider>jgit</timestampProvider>
          </configuration>
        </plugin>
        <!-- code analysis -->
        <plugin>
          <groupId>org.codehaus.mojo</groupId>
          <artifactId>findbugs-maven-plugin</artifactId>
          <version>3.0.5</version>
          <configuration>
            <findbugsXmlOutput>true</findbugsXmlOutput>
            <failOnError>false</failOnError>
            <skip>${analysis.skip}</skip>
          </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.8</targetJdk>
            <format>xml</format>
            <failOnViolation>false</failOnViolation>
            <skip>${analysis.skip}</skip>
          </configuration>
          <executions>
            <execution>
              <goals>
                <goal>cpd-check</goal>
              </goals>
            </execution>
          </executions>
        </plugin>
        <plugin>
          <groupId>org.apache.maven.plugins</groupId>
          <artifactId>maven-deploy-plugin</artifactId>
          <version>2.5</version>
          <!-- support for scp -->
          <!--
              <dependencies>
              <dependency>
              <groupId>org.apache.maven.wagon</groupId>
              <artifactId>wagon-ssh</artifactId>
              <version>1.0-beta-7</version>
              </dependency>
              </dependencies>
          -->
          <configuration>
            <uniqueVersion>false</uniqueVersion>
          </configuration>
        </plugin>
        <!-- record git revision in manifest -->
        <plugin>
          <groupId>org.codehaus.mojo</groupId>
          <artifactId>exec-maven-plugin</artifactId>
          <version>1.1.1</version>
          <executions>
            <execution>
              <phase>validate</phase>
              <goals>
                <goal>exec</goal>
              </goals>
            </execution>
          </executions>
          <configuration>
            <executable>git</executable>
            <arguments>
              <argument>log</argument>
              <argument>--pretty=format:source.control.id=%H</argument>
              <argument>-n1</argument>
            </arguments>
            <outputFile>${project.build.directory}/git.properties</outputFile>
            <successCodes>
              <successCode>0</successCode>
              <successCode>1</successCode>
              <successCode>127</successCode>
              <successCode>128</successCode>
            </successCodes>
          </configuration>
        </plugin>
        <plugin>
          <groupId>org.codehaus.mojo</groupId>
          <artifactId>properties-maven-plugin</artifactId>
          <version>1.0-alpha-2</version>
          <executions>
            <execution>
              <phase>initialize</phase>
              <goals>
                <goal>read-project-properties</goal>
              </goals>
              <configuration>
                <files>
                  <file>${project.build.directory}/git.properties</file>
                </files>
                <!-- continue on failure -->
                <quiet>true</quiet>
              </configuration>
            </execution>
          </executions>
        </plugin>
        <!-- common test configuration -->
        <plugin>
          <groupId>org.eclipse.tycho</groupId>
          <artifactId>tycho-surefire-plugin</artifactId>
          <version>${tycho-version}</version>
          <configuration>
            <skip>${test.skip}</skip>
            <useUIThread>${test.useUIThread}</useUIThread>
            <useUIHarness>true</useUIHarness>
            <failIfNoTests>true</failIfNoTests>
            <forkedProcessTimeoutInSeconds>10800</forkedProcessTimeoutInSeconds>
            <product>org.eclipse.sdk.ide</product>
            <application>org.eclipse.ui.ide.workbench</application>
            <argLine>${tycho.testArgLine} -Xmx512m -Djava.io.tmpdir=${project.build.directory} ${test.vmargs}</argLine>
            <appArgLine>${test.args}</appArgLine>
            <!--
                <environmentVariables>
                <http_proxy>${http_proxy}</http_proxy>
                <https_proxy>${https_proxy}</https_proxy>
                </environmentVariables>
            -->
            <application>org.eclipse.ui.ide.workbench</application>
            <dependency-resolution>
              <extraRequirements>
                <requirement>
                  <type>p2-installable-unit</type>
                  <id>org.eclipse.sdk.feature.group</id>
                  <versionRange>${platform-version}</versionRange>
                </requirement>
              </extraRequirements>
            </dependency-resolution>
          </configuration>
        </plugin>
      </plugins>
    </pluginManagement>
  </build>
</project>
