<?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.23.0-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.6</alt-target-version>
    <alt-platform-repository-url>http://download.eclipse.org/releases/neon/</alt-platform-repository-url>

    <orbit-repository-url>http://download.eclipse.org/tools/orbit/downloads/drops/S20170306214312/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/nightly/</mylyn-repository-url>
    <mylyn-builds-repository-url>http://download.eclipse.org/mylyn/snapshots/nightly/builds/</mylyn-builds-repository-url>
    <mylyn-commons-repository-url>http://download.eclipse.org/mylyn/snapshots/nightly/commons/</mylyn-commons-repository-url>
    <mylyn-context-repository-url>http://download.eclipse.org/mylyn/snapshots/nightly/context/</mylyn-context-repository-url>
    <mylyn-docs-repository-url>http://download.eclipse.org/mylyn/snapshots/nightly/docs/</mylyn-docs-repository-url>
    <mylyn-reviews-repository-url>http://download.eclipse.org/mylyn/snapshots/nightly/reviews/</mylyn-reviews-repository-url>
    <mylyn-tasks-repository-url>http://download.eclipse.org/mylyn/snapshots/nightly/tasks/</mylyn-tasks-repository-url>
    <mylyn-versions-repository-url>http://download.eclipse.org/mylyn/snapshots/nightly/versions/</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.23.0-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.6</target-version>
        <platform-repository-url>http://download.eclipse.org/releases/neon/</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>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>2.3.2</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>
