<?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.15.0-SNAPSHOT</version>
  <packaging>pom</packaging>

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

  <properties>
    <tycho-version>0.23.0</tycho-version>
    <tycho-extras-version>0.23.0</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>
    <promote.prefix></promote.prefix>

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

    <!-- alternative target for components that don't build against galileo -->
    <alt-target-version>3.7</alt-target-version>
    <alt-platform-repository-url>http://download.eclipse.org/releases/indigo/201202240900/</alt-platform-repository-url>

    <orbit-repository-url>http://download.eclipse.org/tools/orbit/downloads/drops/R20140525021250/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.15.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</arch>
                </environment>
                <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</arch>
                </environment>
                <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>3.6</target-version>
        <platform-repository-url>http://download.eclipse.org/releases/helios/201102250900/</platform-repository-url>
      </properties>
    </profile>
    <profile>
      <id>helios</id>
      <activation>
        <property>
          <name>target-profile</name>
          <value>helios</value>
        </property>
      </activation>
      <properties>
        <target-version>3.6</target-version>
        <platform-repository-url>http://download.eclipse.org/releases/helios/201102250900/</platform-repository-url>
      </properties>
    </profile>
    <profile>
      <id>indigo</id>
      <activation>
        <property>
          <name>target-profile</name>
          <value>indigo</value>
        </property>
      </activation>
      <properties>
        <target-version>3.7</target-version>
        <platform-repository-url>http://download.eclipse.org/releases/indigo/201202240900/</platform-repository-url>
      </properties>
    </profile>
    <profile>
      <id>e3.8</id>
      <activation>
        <property>
          <name>target-profile</name>
          <value>e3.8</value>
        </property>
      </activation>
      <properties>
        <target-version>3.8</target-version>
        <platform-repository-url>http://download.eclipse.org/releases/juno/201303010900/</platform-repository-url>
        <alt-target-version>3.8</alt-target-version>
        <alt-platform-repository-url>http://download.eclipse.org/releases/juno/201303010900/</alt-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>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 -DhttpnonProxyHosts=*.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>hudsonbuild</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 -DhttpnonProxyHosts=*.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>
        <promote.prefix></promote.prefix>
      </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.6</source>
            <target>1.6</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.6</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 -XX:MaxPermSize=256m -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>
            <dependencies>
              <dependency>
                <type>p2-installable-unit</type>
                <artifactId>org.eclipse.sdk.feature.group</artifactId>
                <version>${platform-version}</version>
              </dependency>
            </dependencies>
          </configuration>
        </plugin>
      </plugins>
    </pluginManagement>
  </build>
</project>
