<?xml version="1.0" encoding="UTF-8"?>
<!--
  Copyright (c) 2015 BSI Business Systems Integration AG.
  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:
  BSI Business Systems Integration AG - 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/xsd/maven-4.0.0.xsd">
  <modelVersion>4.0.0</modelVersion>

  <parent>
    <groupId>org.eclipse.scout.sdk</groupId>
    <artifactId>org.eclipse.scout.sdk</artifactId>
    <version>8.0.0.005_Photon_RC2</version>
    <relativePath>../org.eclipse.scout.sdk/pom.xml</relativePath>
  </parent>

  <artifactId>org.eclipse.scout.sdk.s2e.releng</artifactId>
  <packaging>pom</packaging>
  <name>${project.groupId}:${project.artifactId}</name>

  <!--
    To update the Eclipse artifacts needed by the Maven class-loader side of Eclipse Scout SDK:

    1. If needed, update the source p2 repository below
    2. Update Equinox and JDT/APT versions in the parent POM:
    ${org.eclipse.osgi[-maven]}, ${org.eclipse.equinox.common[-maven]}, ${org.eclipse.jdt.core[-maven]}, ...
    3a. For deploying snapshots (to be used by Eclipse Scout SDK snapshots)
    - In org.eclipse.scout.sdk.s2e.releng/, execute
    mvn clean deploy -DforgeSnapshotUrl=https://scout.bsiag.com/repository/org.eclipse.scout-snapshot-local -DforgeSnapshotId=bsi-tools-snapshot
    3b. For deploying releases (to be used by Tycho releases):
    - Prerequisite: 1. you need to have GPG properly set up, see http://central.sonatype.org/pages/working-with-pgp-signatures.html
                    2. if not already present: you need to add the server with id of property DforgeReleaseId into your settings.xml including the corresponding credentials (e.g. oss sonatype username/password)
    - Make sure that ${org.eclipse.jdt.core-maven}, ${org.eclipse.equinox.common-maven}, ${org.eclipse.osgi-maven},... in the parent POM don't have a '-SNAPSHOT' suffix
    - In org.eclipse.scout.sdk.s2e.releng/, execute
    mvn clean deploy -Pdeploy-releases -DforgeReleaseUrl=https://oss.sonatype.org/service/local/staging/deploy/maven2/ -DforgeReleaseId=forge-releases -Dgpg.passphrase=<your_passphrase>
    - For single additional deps: In org.eclipse.scout.sdk.s2e.releng/, execute
    mvn clean deploy -Pdeploy-releases-addNewDeps -DforgeReleaseUrl=https://oss.sonatype.org/service/local/staging/deploy/maven2/ -DforgeReleaseId=forge-releases -Dgpg.passphrase=<your_passphrase>
    - Close and release staged artifacts into repository 'Releases'
  -->
  <properties>
    <downloaded>${project.build.directory}/repository/plugins/</downloaded>
    <!-- don't deploy this helper pom -->
    <maven.deploy.skip>true</maven.deploy.skip>
  </properties>

  <build>
    <pluginManagement>
      <plugins>
        <plugin>
          <groupId>org.eclipse.tycho.extras</groupId>
          <artifactId>tycho-p2-extras-plugin</artifactId>
          <version>${master_plugin_tycho-extras_version}</version>
        </plugin>
        <plugin>
          <groupId>com.googlecode.maven-download-plugin</groupId>
          <artifactId>download-maven-plugin</artifactId>
          <version>1.3.0</version>
        </plugin>
        <plugin>
          <groupId>org.apache.maven.plugins</groupId>
          <artifactId>maven-deploy-plugin</artifactId>
          <version>3.0-SNAPSHOT</version>
          <configuration>
            <url>${forgeSnapshotUrl}</url>
            <repositoryId>${forgeSnapshotId}</repositoryId>
          </configuration>
        </plugin>
      </plugins>
    </pluginManagement>

    <resources>
      <resource>
        <directory>src/main/resources</directory>
        <filtering>true</filtering>
        <includes>
          <include>*.pom</include>
        </includes>
      </resource>
      <resource>
        <directory>src/main/resources</directory>
        <filtering>false</filtering>
        <excludes>
          <exclude>*.pom</exclude>
        </excludes>
      </resource>
    </resources>

    <plugins>
      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-resources-plugin</artifactId>
        <executions>
          <execution>
            <id>filter-resources</id>
            <goals>
              <goal>resources</goal>
            </goals>
          </execution>
        </executions>
      </plugin>
      <plugin>
        <groupId>org.eclipse.tycho.extras</groupId>
        <artifactId>tycho-p2-extras-plugin</artifactId>
        <configuration>
          <includePacked>false</includePacked>
          <includeOptional>false</includeOptional>
          <source>
            <repository>
              <id>eclipse_neon</id>
              <url>http://download.eclipse.org/releases/neon/</url>
              <layout>p2</layout>
            </repository>
          </source>
          <ius>
            <iu>
              <id>org.eclipse.osgi</id>
              <version>${org.eclipse.osgi}</version>
            </iu>
            <iu>
              <id>org.eclipse.osgi.source</id>
              <version>${org.eclipse.osgi}</version>
            </iu>
            <iu>
              <id>org.eclipse.equinox.common</id>
              <version>${org.eclipse.equinox.common}</version>
            </iu>
            <iu>
              <id>org.eclipse.equinox.common.source</id>
              <version>${org.eclipse.equinox.common}</version>
            </iu>
            <iu>
              <id>org.eclipse.equinox.security</id>
              <version>${org.eclipse.equinox.security}</version>
            </iu>
            <iu>
              <id>org.eclipse.equinox.security.source</id>
              <version>${org.eclipse.equinox.security}</version>
            </iu>
            <iu>
              <id>org.eclipse.equinox.registry</id>
              <version>${org.eclipse.equinox.registry}</version>
            </iu>
            <iu>
              <id>org.eclipse.equinox.registry.source</id>
              <version>${org.eclipse.equinox.registry}</version>
            </iu>
            <iu>
              <id>org.eclipse.equinox.preferences</id>
              <version>${org.eclipse.equinox.preferences}</version>
            </iu>
            <iu>
              <id>org.eclipse.equinox.preferences.source</id>
              <version>${org.eclipse.equinox.preferences}</version>
            </iu>
            <iu>
              <id>org.eclipse.compare</id>
              <version>${org.eclipse.compare}</version>
            </iu>
            <iu>
              <id>org.eclipse.compare.source</id>
              <version>${org.eclipse.compare}</version>
            </iu>
            <iu>
              <id>org.eclipse.core.resources</id>
              <version>${org.eclipse.core.resources}</version>
            </iu>
            <iu>
              <id>org.eclipse.core.resources.source</id>
              <version>${org.eclipse.core.resources}</version>
            </iu>
            <iu>
              <id>org.eclipse.core.commands</id>
              <version>${org.eclipse.core.commands}</version>
            </iu>
            <iu>
              <id>org.eclipse.core.commands.source</id>
              <version>${org.eclipse.core.commands}</version>
            </iu>
            <iu>
              <id>org.eclipse.core.contenttype</id>
              <version>${org.eclipse.core.contenttype}</version>
            </iu>
            <iu>
              <id>org.eclipse.core.contenttype.source</id>
              <version>${org.eclipse.core.contenttype}</version>
            </iu>
            <iu>
              <id>org.eclipse.core.expressions</id>
              <version>${org.eclipse.core.expressions}</version>
            </iu>
            <iu>
              <id>org.eclipse.core.expressions.source</id>
              <version>${org.eclipse.core.expressions}</version>
            </iu>
            <iu>
              <id>org.eclipse.core.filesystem</id>
              <version>${org.eclipse.core.filesystem}</version>
            </iu>
            <iu>
              <id>org.eclipse.core.filesystem.source</id>
              <version>${org.eclipse.core.filesystem}</version>
            </iu>
            <iu>
              <id>org.eclipse.core.variables</id>
              <version>${org.eclipse.core.variables}</version>
            </iu>
            <iu>
              <id>org.eclipse.core.variables.source</id>
              <version>${org.eclipse.core.variables}</version>
            </iu>
            <iu>
              <id>org.eclipse.core.runtime</id>
              <version>${org.eclipse.core.runtime}</version>
            </iu>
            <iu>
              <id>org.eclipse.core.runtime.source</id>
              <version>${org.eclipse.core.runtime}</version>
            </iu>
            <iu>
              <id>org.eclipse.core.jobs</id>
              <version>${org.eclipse.core.jobs}</version>
            </iu>
            <iu>
              <id>org.eclipse.core.jobs.source</id>
              <version>${org.eclipse.core.jobs}</version>
            </iu>
            <iu>
              <id>org.eclipse.debug.core</id>
              <version>${org.eclipse.debug.core}</version>
            </iu>
            <iu>
              <id>org.eclipse.debug.core.source</id>
              <version>${org.eclipse.debug.core}</version>
            </iu>
            <iu>
              <id>org.eclipse.debug.ui</id>
              <version>${org.eclipse.debug.ui}</version>
            </iu>
            <iu>
              <id>org.eclipse.debug.ui.source</id>
              <version>${org.eclipse.debug.ui}</version>
            </iu>
            <iu>
              <id>org.eclipse.text</id>
              <version>${org.eclipse.text}</version>
            </iu>
            <iu>
              <id>org.eclipse.text.source</id>
              <version>${org.eclipse.text}</version>
            </iu>
            <iu>
              <id>org.eclipse.search</id>
              <version>${org.eclipse.search}</version>
            </iu>
            <iu>
              <id>org.eclipse.search.source</id>
              <version>${org.eclipse.search}</version>
            </iu>
            <iu>
              <id>org.eclipse.ltk.core.refactoring</id>
              <version>${org.eclipse.ltk.core.refactoring}</version>
            </iu>
            <iu>
              <id>org.eclipse.ltk.core.refactoring.source</id>
              <version>${org.eclipse.ltk.core.refactoring}</version>
            </iu>
            <iu>
              <id>org.eclipse.ltk.ui.refactoring</id>
              <version>${org.eclipse.ltk.ui.refactoring}</version>
            </iu>
            <iu>
              <id>org.eclipse.ltk.ui.refactoring.source</id>
              <version>${org.eclipse.ltk.ui.refactoring}</version>
            </iu>
            <iu>
              <id>org.eclipse.jdt.core</id>
              <version>${org.eclipse.jdt.core}</version>
            </iu>
            <iu>
              <id>org.eclipse.jdt.core.source</id>
              <version>${org.eclipse.jdt.core}</version>
            </iu>
            <iu>
              <id>org.eclipse.jdt.core.manipulation</id>
              <version>${org.eclipse.jdt.core.manipulation}</version>
            </iu>
            <iu>
              <id>org.eclipse.jdt.core.manipulation.source</id>
              <version>${org.eclipse.jdt.core.manipulation}</version>
            </iu>
            <iu>
              <id>org.eclipse.jdt.junit</id>
              <version>${org.eclipse.jdt.junit}</version>
            </iu>
            <iu>
              <id>org.eclipse.jdt.junit.source</id>
              <version>${org.eclipse.jdt.junit}</version>
            </iu>
            <iu>
              <id>org.eclipse.jdt.ui</id>
              <version>${org.eclipse.jdt.ui}</version>
            </iu>
            <iu>
              <id>org.eclipse.jdt.ui.source</id>
              <version>${org.eclipse.jdt.ui}</version>
            </iu>
            <iu>
              <id>org.eclipse.jdt.debug.ui</id>
              <version>${org.eclipse.jdt.debug.ui}</version>
            </iu>
            <iu>
              <id>org.eclipse.jdt.debug.ui.source</id>
              <version>${org.eclipse.jdt.debug.ui}</version>
            </iu>
            <iu>
              <id>org.eclipse.ui.workbench</id>
              <version>${org.eclipse.ui.workbench}</version>
            </iu>
            <iu>
              <id>org.eclipse.ui.workbench.source</id>
              <version>${org.eclipse.ui.workbench}</version>
            </iu>
            <iu>
              <id>org.eclipse.ui.workbench.texteditor</id>
              <version>${org.eclipse.ui.workbench.texteditor}</version>
            </iu>
            <iu>
              <id>org.eclipse.ui.workbench.texteditor.source</id>
              <version>${org.eclipse.ui.workbench.texteditor}</version>
            </iu>
            <iu>
              <id>org.eclipse.jface</id>
              <version>${org.eclipse.jface}</version>
            </iu>
            <iu>
              <id>org.eclipse.jface.source</id>
              <version>${org.eclipse.jface}</version>
            </iu>
            <iu>
              <id>org.eclipse.jface.text</id>
              <version>${org.eclipse.jface.text}</version>
            </iu>
            <iu>
              <id>org.eclipse.jface.text.source</id>
              <version>${org.eclipse.jface.text}</version>
            </iu>
            <iu>
              <id>org.eclipse.swt.win32.win32.x86</id>
              <version>${org.eclipse.swt.win32.win32.x86}</version>
            </iu>
            <iu>
              <id>org.eclipse.swt.win32.win32.x86.source</id>
              <version>${org.eclipse.swt.win32.win32.x86}</version>
            </iu>
            <iu>
              <id>org.eclipse.ui.ide</id>
              <version>${org.eclipse.ui.ide}</version>
            </iu>
            <iu>
              <id>org.eclipse.ui.ide.source</id>
              <version>${org.eclipse.ui.ide}</version>
            </iu>
            <iu>
              <id>org.eclipse.ui.editors</id>
              <version>${org.eclipse.ui.editors}</version>
            </iu>
            <iu>
              <id>org.eclipse.ui.editors.source</id>
              <version>${org.eclipse.ui.editors}</version>
            </iu>
            <iu>
              <id>org.eclipse.ui.console</id>
              <version>${org.eclipse.ui.console}</version>
            </iu>
            <iu>
              <id>org.eclipse.ui.console.source</id>
              <version>${org.eclipse.ui.console}</version>
            </iu>
            <iu>
              <id>org.eclipse.ui</id>
              <version>${org.eclipse.ui}</version>
            </iu>
            <iu>
              <id>org.eclipse.ui.source</id>
              <version>${org.eclipse.ui}</version>
            </iu>
            <iu>
              <id>org.eclipse.ui.views</id>
              <version>${org.eclipse.ui.views}</version>
            </iu>
            <iu>
              <id>org.eclipse.ui.views.source</id>
              <version>${org.eclipse.ui.views}</version>
            </iu>
            <iu>
              <id>org.eclipse.ui.forms</id>
              <version>${org.eclipse.ui.forms}</version>
            </iu>
            <iu>
              <id>org.eclipse.ui.forms.source</id>
              <version>${org.eclipse.ui.forms}</version>
            </iu>
            <iu>
              <id>org.eclipse.pde.core</id>
              <version>${org.eclipse.pde.core}</version>
            </iu>
            <iu>
              <id>org.eclipse.pde.core.source</id>
              <version>${org.eclipse.pde.core}</version>
            </iu>
            <iu>
              <id>org.eclipse.pde.ui</id>
              <version>${org.eclipse.pde.ui}</version>
            </iu>
            <iu>
              <id>org.eclipse.pde.ui.source</id>
              <version>${org.eclipse.pde.ui}</version>
            </iu>
            <iu>
              <id>org.eclipse.jdt.launching</id>
              <version>${org.eclipse.jdt.launching}</version>
            </iu>
            <iu>
              <id>org.eclipse.jdt.launching.source</id>
              <version>${org.eclipse.jdt.launching}</version>
            </iu>
            <iu>
              <id>org.eclipse.m2e.core</id>
              <version>${org.eclipse.m2e.core}</version>
            </iu>
            <iu>
              <id>org.eclipse.m2e.core.source</id>
              <version>${org.eclipse.m2e.core}</version>
            </iu>
            <iu>
              <id>org.eclipse.m2e.archetype.common</id>
              <version>${org.eclipse.m2e.archetype.common}</version>
            </iu>
            <iu>
              <id>org.eclipse.m2e.core.ui</id>
              <version>${org.eclipse.m2e.core.ui}</version>
            </iu>
            <iu>
              <id>org.eclipse.m2e.core.ui.source</id>
              <version>${org.eclipse.m2e.core.ui}</version>
            </iu>
          </ius>
          <followStrictOnly>true</followStrictOnly>
        </configuration>
        <executions>
          <execution>
            <goals>
              <goal>mirror</goal>
            </goals>
            <phase>validate</phase>
          </execution>
        </executions>
      </plugin>
      <plugin>
        <groupId>com.googlecode.maven-download-plugin</groupId>
        <artifactId>download-maven-plugin</artifactId>
        <executions>
          <execution>
            <id>get-ecj</id>
            <goals>
              <goal>wget</goal>
            </goals>
            <phase>validate</phase>
            <configuration>
              <url>http://mirror.switch.ch/eclipse/eclipse/downloads/drops4/R-4.6-201606061100/ecj-${ecj}.jar</url>
              <outputDirectory>${downloaded}</outputDirectory>
              <outputFileName>ecj_${ecj}.jar</outputFileName>
              <sha512>616866c166ae1fef00cc659799c842621f965e64764e4962c1e14140aded150585f58cc2360d58d3a578a51d259cbe655d3c72a0e543ec43257237153fa25ccb</sha512>
            </configuration>
          </execution>
          <execution>
            <id>get-ecj-src</id>
            <goals>
              <goal>wget</goal>
            </goals>
            <phase>validate</phase>
            <configuration>
              <url>http://mirror.switch.ch/eclipse/eclipse/downloads/drops4/R-4.6-201606061100/ecjsrc-${ecj}.jar</url>
              <outputDirectory>${downloaded}</outputDirectory>
              <outputFileName>ecj.source_${ecj}.jar</outputFileName>
              <sha512>f07ee9e00633fa15cc7bfdebb2ad07e6226c9df68e4a8b3d756def60c2cc2092faafb40461743c1f0980667e9d071a475245c8cee5c36888b9eaeddd25874aa3</sha512>
            </configuration>
          </execution>
        </executions>
      </plugin>
    </plugins>
  </build>

  <distributionManagement>
    <repository>
      <id>${forgeReleaseId}</id>
      <url>${forgeReleaseUrl}</url>
    </repository>
    <snapshotRepository>
      <id>${forgeSnapshotId}</id>
      <url>${forgeSnapshotUrl}</url>
    </snapshotRepository>
    <site>
      <id>eclipse.scout.sdk.site</id>
      <name>Eclipse Scout SDK Site</name>
      <!-- >workaround for http://jira.codehaus.org/browse/MSITE-671 -->
      <url>http://staging</url>
    </site>
  </distributionManagement>

  <pluginRepositories>
    <pluginRepository>
      <id>apache.snapshots</id>
      <name>Apache Snapshot Repository</name>
      <url>http://repository.apache.org/snapshots</url>
      <releases>
        <enabled>false</enabled>
      </releases>
    </pluginRepository>
  </pluginRepositories>

  <profiles>
    <profile>
      <id>deploy-ecj-snapshots</id>
      <activation>
        <activeByDefault>true</activeByDefault>
      </activation>
      <build>
        <plugins>
          <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-deploy-plugin</artifactId>
            <executions>
              <execution>
                <id>deploy-ecj</id>
                <goals>
                  <goal>deploy-file</goal>
                </goals>
                <phase>deploy</phase>
                <configuration>
                  <file>${downloaded}/ecj_${ecj}.jar</file>
                  <sources>${downloaded}/ecj.source_${ecj}.jar</sources>
                  <pomFile>${project.build.outputDirectory}/ecj.pom</pomFile>
                </configuration>
              </execution>
            </executions>
            <inherited>false</inherited>
          </plugin>
        </plugins>
      </build>
    </profile>
    <profile>
      <id>deploy-equinox-snapshots</id>
      <activation>
        <activeByDefault>true</activeByDefault>
      </activation>
      <build>
        <plugins>
          <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-deploy-plugin</artifactId>
            <executions>
              <execution>
                <id>deploy-osgi</id>
                <goals>
                  <goal>deploy-file</goal>
                </goals>
                <phase>deploy</phase>
                <configuration>
                  <file>${downloaded}/org.eclipse.osgi_${org.eclipse.osgi}.jar</file>
                  <sources>${downloaded}/org.eclipse.osgi.source_${org.eclipse.osgi}.jar</sources>
                  <pomFile>${project.build.outputDirectory}/org.eclipse.osgi.pom</pomFile>
                </configuration>
              </execution>
              <execution>
                <id>deploy-equinox-common</id>
                <goals>
                  <goal>deploy-file</goal>
                </goals>
                <phase>deploy</phase>
                <configuration>
                  <file>${downloaded}/org.eclipse.equinox.common_${org.eclipse.equinox.common}.jar</file>
                  <sources>${downloaded}/org.eclipse.equinox.common.source_${org.eclipse.equinox.common}.jar</sources>
                  <pomFile>${project.build.outputDirectory}/org.eclipse.equinox.common.pom</pomFile>
                </configuration>
              </execution>
              <execution>
                <id>deploy-equinox-security</id>
                <goals>
                  <goal>deploy-file</goal>
                </goals>
                <phase>deploy</phase>
                <configuration>
                  <file>${downloaded}/org.eclipse.equinox.security_${org.eclipse.equinox.security}.jar</file>
                  <sources>${downloaded}/org.eclipse.equinox.security.source_${org.eclipse.equinox.security}.jar</sources>
                  <pomFile>${project.build.outputDirectory}/org.eclipse.equinox.security.pom</pomFile>
                </configuration>
              </execution>
              <execution>
                <id>deploy-equinox-registry</id>
                <goals>
                  <goal>deploy-file</goal>
                </goals>
                <phase>deploy</phase>
                <configuration>
                  <file>${downloaded}/org.eclipse.equinox.registry_${org.eclipse.equinox.registry}.jar</file>
                  <sources>${downloaded}/org.eclipse.equinox.registry.source_${org.eclipse.equinox.registry}.jar</sources>
                  <pomFile>${project.build.outputDirectory}/org.eclipse.equinox.registry.pom</pomFile>
                </configuration>
              </execution>
              <execution>
                <id>deploy-equinox-preferences</id>
                <goals>
                  <goal>deploy-file</goal>
                </goals>
                <phase>deploy</phase>
                <configuration>
                  <file>${downloaded}/org.eclipse.equinox.preferences_${org.eclipse.equinox.preferences}.jar</file>
                  <sources>${downloaded}/org.eclipse.equinox.preferences.source_${org.eclipse.equinox.preferences}.jar</sources>
                  <pomFile>${project.build.outputDirectory}/org.eclipse.equinox.preferences.pom</pomFile>
                </configuration>
              </execution>
            </executions>
          </plugin>
        </plugins>
      </build>
    </profile>
    <profile>
      <id>deploy-eclipse-core-snapshots</id>
      <activation>
        <activeByDefault>true</activeByDefault>
      </activation>
      <build>
        <plugins>
          <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-deploy-plugin</artifactId>
            <executions>
              <execution>
                <id>deploy-compare</id>
                <goals>
                  <goal>deploy-file</goal>
                </goals>
                <phase>deploy</phase>
                <configuration>
                  <file>${downloaded}/org.eclipse.compare_${org.eclipse.compare}.jar</file>
                  <sources>${downloaded}/org.eclipse.compare.source_${org.eclipse.compare}.jar</sources>
                  <pomFile>${project.build.outputDirectory}/org.eclipse.compare.pom</pomFile>
                </configuration>
              </execution>
              <execution>
                <id>deploy-core-resources</id>
                <goals>
                  <goal>deploy-file</goal>
                </goals>
                <phase>deploy</phase>
                <configuration>
                  <file>${downloaded}/org.eclipse.core.resources_${org.eclipse.core.resources}.jar</file>
                  <sources>${downloaded}/org.eclipse.core.resources.source_${org.eclipse.core.resources}.jar</sources>
                  <pomFile>${project.build.outputDirectory}/org.eclipse.core.resources.pom</pomFile>
                </configuration>
              </execution>
              <execution>
                <id>deploy-core-commands</id>
                <goals>
                  <goal>deploy-file</goal>
                </goals>
                <phase>deploy</phase>
                <configuration>
                  <file>${downloaded}/org.eclipse.core.commands_${org.eclipse.core.commands}.jar</file>
                  <sources>${downloaded}/org.eclipse.core.commands.source_${org.eclipse.core.commands}.jar</sources>
                  <pomFile>${project.build.outputDirectory}/org.eclipse.core.commands.pom</pomFile>
                </configuration>
              </execution>
              <execution>
                <id>deploy-core-contenttype</id>
                <goals>
                  <goal>deploy-file</goal>
                </goals>
                <phase>deploy</phase>
                <configuration>
                  <file>${downloaded}/org.eclipse.core.contenttype_${org.eclipse.core.contenttype}.jar</file>
                  <sources>${downloaded}/org.eclipse.core.contenttype.source_${org.eclipse.core.contenttype}.jar</sources>
                  <pomFile>${project.build.outputDirectory}/org.eclipse.core.contenttype.pom</pomFile>
                </configuration>
              </execution>
              <execution>
                <id>deploy-core-expressions</id>
                <goals>
                  <goal>deploy-file</goal>
                </goals>
                <phase>deploy</phase>
                <configuration>
                  <file>${downloaded}/org.eclipse.core.expressions_${org.eclipse.core.expressions}.jar</file>
                  <sources>${downloaded}/org.eclipse.core.expressions.source_${org.eclipse.core.expressions}.jar</sources>
                  <pomFile>${project.build.outputDirectory}/org.eclipse.core.expressions.pom</pomFile>
                </configuration>
              </execution>
              <execution>
                <id>deploy-core-filesystems</id>
                <goals>
                  <goal>deploy-file</goal>
                </goals>
                <phase>deploy</phase>
                <configuration>
                  <file>${downloaded}/org.eclipse.core.filesystem_${org.eclipse.core.filesystem}.jar</file>
                  <sources>${downloaded}/org.eclipse.core.filesystem.source_${org.eclipse.core.filesystem}.jar</sources>
                  <pomFile>${project.build.outputDirectory}/org.eclipse.core.filesystem.pom</pomFile>
                </configuration>
              </execution>
              <execution>
                <id>deploy-core-variables</id>
                <goals>
                  <goal>deploy-file</goal>
                </goals>
                <phase>deploy</phase>
                <configuration>
                  <file>${downloaded}/org.eclipse.core.variables_${org.eclipse.core.variables}.jar</file>
                  <sources>${downloaded}/org.eclipse.core.variables.source_${org.eclipse.core.variables}.jar</sources>
                  <pomFile>${project.build.outputDirectory}/org.eclipse.core.variables.pom</pomFile>
                </configuration>
              </execution>
              <execution>
                <id>deploy-core-runtime</id>
                <goals>
                  <goal>deploy-file</goal>
                </goals>
                <phase>deploy</phase>
                <configuration>
                  <file>${downloaded}/org.eclipse.core.runtime_${org.eclipse.core.runtime}.jar</file>
                  <sources>${downloaded}/org.eclipse.core.runtime.source_${org.eclipse.core.runtime}.jar</sources>
                  <pomFile>${project.build.outputDirectory}/org.eclipse.core.runtime.pom</pomFile>
                </configuration>
              </execution>
              <execution>
                <id>deploy-core-jobs</id>
                <goals>
                  <goal>deploy-file</goal>
                </goals>
                <phase>deploy</phase>
                <configuration>
                  <file>${downloaded}/org.eclipse.core.jobs_${org.eclipse.core.jobs}.jar</file>
                  <sources>${downloaded}/org.eclipse.core.jobs.source_${org.eclipse.core.jobs}.jar</sources>
                  <pomFile>${project.build.outputDirectory}/org.eclipse.core.jobs.pom</pomFile>
                </configuration>
              </execution>
              <execution>
                <id>deploy-debug-core</id>
                <goals>
                  <goal>deploy-file</goal>
                </goals>
                <phase>deploy</phase>
                <configuration>
                  <file>${downloaded}/org.eclipse.debug.core_${org.eclipse.debug.core}.jar</file>
                  <sources>${downloaded}/org.eclipse.debug.core.source_${org.eclipse.debug.core}.jar</sources>
                  <pomFile>${project.build.outputDirectory}/org.eclipse.debug.core.pom</pomFile>
                </configuration>
              </execution>
              <execution>
                <id>deploy-debug-ui</id>
                <goals>
                  <goal>deploy-file</goal>
                </goals>
                <phase>deploy</phase>
                <configuration>
                  <file>${downloaded}/org.eclipse.debug.ui_${org.eclipse.debug.ui}.jar</file>
                  <sources>${downloaded}/org.eclipse.debug.ui.source_${org.eclipse.debug.ui}.jar</sources>
                  <pomFile>${project.build.outputDirectory}/org.eclipse.debug.ui.pom</pomFile>
                </configuration>
              </execution>
              <execution>
                <id>deploy-eclipse-text</id>
                <goals>
                  <goal>deploy-file</goal>
                </goals>
                <phase>deploy</phase>
                <configuration>
                  <file>${downloaded}/org.eclipse.text_${org.eclipse.text}.jar</file>
                  <sources>${downloaded}/org.eclipse.text.source_${org.eclipse.text}.jar</sources>
                  <pomFile>${project.build.outputDirectory}/org.eclipse.text.pom</pomFile>
                </configuration>
              </execution>
              <execution>
                <id>deploy-eclipse-search</id>
                <goals>
                  <goal>deploy-file</goal>
                </goals>
                <phase>deploy</phase>
                <configuration>
                  <file>${downloaded}/org.eclipse.search_${org.eclipse.search}.jar</file>
                  <sources>${downloaded}/org.eclipse.search.source_${org.eclipse.search}.jar</sources>
                  <pomFile>${project.build.outputDirectory}/org.eclipse.search.pom</pomFile>
                </configuration>
              </execution>
              <execution>
                <id>deploy-eclipse-ltk-refactoring</id>
                <goals>
                  <goal>deploy-file</goal>
                </goals>
                <phase>deploy</phase>
                <configuration>
                  <file>${downloaded}/org.eclipse.ltk.core.refactoring_${org.eclipse.ltk.core.refactoring}.jar</file>
                  <sources>${downloaded}/org.eclipse.ltk.core.refactoring.source_${org.eclipse.ltk.core.refactoring}.jar</sources>
                  <pomFile>${project.build.outputDirectory}/org.eclipse.ltk.core.refactoring.pom</pomFile>
                </configuration>
              </execution>
              <execution>
                <id>deploy-eclipse-ltk-ui-refactoring</id>
                <goals>
                  <goal>deploy-file</goal>
                </goals>
                <phase>deploy</phase>
                <configuration>
                  <file>${downloaded}/org.eclipse.ltk.ui.refactoring_${org.eclipse.ltk.ui.refactoring}.jar</file>
                  <sources>${downloaded}/org.eclipse.ltk.ui.refactoring.source_${org.eclipse.ltk.ui.refactoring}.jar</sources>
                  <pomFile>${project.build.outputDirectory}/org.eclipse.ltk.ui.refactoring.pom</pomFile>
                </configuration>
              </execution>
              <execution>
                <id>deploy-pde-core</id>
                <goals>
                  <goal>deploy-file</goal>
                </goals>
                <phase>deploy</phase>
                <configuration>
                  <file>${downloaded}/org.eclipse.pde.core_${org.eclipse.pde.core}.jar</file>
                  <sources>${downloaded}/org.eclipse.pde.core.source_${org.eclipse.pde.core}.jar</sources>
                  <pomFile>${project.build.outputDirectory}/org.eclipse.pde.core.pom</pomFile>
                </configuration>
              </execution>
              <execution>
                <id>deploy-pde-ui</id>
                <goals>
                  <goal>deploy-file</goal>
                </goals>
                <phase>deploy</phase>
                <configuration>
                  <file>${downloaded}/org.eclipse.pde.ui_${org.eclipse.pde.ui}.jar</file>
                  <sources>${downloaded}/org.eclipse.pde.ui.source_${org.eclipse.pde.ui}.jar</sources>
                  <pomFile>${project.build.outputDirectory}/org.eclipse.pde.ui.pom</pomFile>
                </configuration>
              </execution>
            </executions>
          </plugin>
        </plugins>
      </build>
    </profile>
    <profile>
      <id>deploy-m2e-snapshots</id>
      <activation>
        <activeByDefault>true</activeByDefault>
      </activation>
      <build>
        <plugins>
          <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-deploy-plugin</artifactId>
            <executions>
              <execution>
                <id>deploy-m2e-core</id>
                <goals>
                  <goal>deploy-file</goal>
                </goals>
                <phase>deploy</phase>
                <configuration>
                  <file>${downloaded}/org.eclipse.m2e.core_${org.eclipse.m2e.core}.jar</file>
                  <sources>${downloaded}/org.eclipse.m2e.core.source_${org.eclipse.m2e.core}.jar</sources>
                  <pomFile>${project.build.outputDirectory}/org.eclipse.m2e.core.pom</pomFile>
                </configuration>
              </execution>
              <execution>
                <id>deploy-m2e-ui</id>
                <goals>
                  <goal>deploy-file</goal>
                </goals>
                <phase>deploy</phase>
                <configuration>
                  <file>${downloaded}/org.eclipse.m2e.core.ui_${org.eclipse.m2e.core.ui}.jar</file>
                  <sources>${downloaded}/org.eclipse.m2e.core.ui.source_${org.eclipse.m2e.core.ui}.jar</sources>
                  <pomFile>${project.build.outputDirectory}/org.eclipse.m2e.core.ui.pom</pomFile>
                </configuration>
              </execution>
              <execution>
                <id>deploy-m2e-archetype-common</id>
                <goals>
                  <goal>deploy-file</goal>
                </goals>
                <phase>deploy</phase>
                <configuration>
                  <file>${downloaded}/org.eclipse.m2e.archetype.common_${org.eclipse.m2e.archetype.common}.jar</file>
                  <pomFile>${project.build.outputDirectory}/org.eclipse.m2e.archetype.common.pom</pomFile>
                </configuration>
              </execution>
            </executions>
          </plugin>
        </plugins>
      </build>
    </profile>
    <profile>
      <id>deploy-jdt-snapshots</id>
      <activation>
        <activeByDefault>true</activeByDefault>
      </activation>
      <build>
        <plugins>
          <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-deploy-plugin</artifactId>
            <executions>
              <execution>
                <id>deploy-jdt-core</id>
                <goals>
                  <goal>deploy-file</goal>
                </goals>
                <phase>deploy</phase>
                <configuration>
                  <file>${downloaded}/org.eclipse.jdt.core_${org.eclipse.jdt.core}.jar</file>
                  <sources>${downloaded}/org.eclipse.jdt.core.source_${org.eclipse.jdt.core}.jar</sources>
                  <pomFile>${project.build.outputDirectory}/org.eclipse.jdt.core.pom</pomFile>
                </configuration>
              </execution>
              <execution>
                <id>deploy-jdt-core-manipulation</id>
                <goals>
                  <goal>deploy-file</goal>
                </goals>
                <phase>deploy</phase>
                <configuration>
                  <file>${downloaded}/org.eclipse.jdt.core.manipulation_${org.eclipse.jdt.core.manipulation}.jar</file>
                  <sources>${downloaded}/org.eclipse.jdt.core.manipulation.source_${org.eclipse.jdt.core.manipulation}.jar</sources>
                  <pomFile>${project.build.outputDirectory}/org.eclipse.jdt.core.manipulation.pom</pomFile>
                </configuration>
              </execution>
              <execution>
                <id>deploy-jdt-junit</id>
                <goals>
                  <goal>deploy-file</goal>
                </goals>
                <phase>deploy</phase>
                <configuration>
                  <file>${downloaded}/org.eclipse.jdt.junit_${org.eclipse.jdt.junit}.jar</file>
                  <sources>${downloaded}/org.eclipse.jdt.junit.source_${org.eclipse.jdt.junit}.jar</sources>
                  <pomFile>${project.build.outputDirectory}/org.eclipse.jdt.junit.pom</pomFile>
                </configuration>
              </execution>
              <execution>
                <id>deploy-jdt-ui</id>
                <goals>
                  <goal>deploy-file</goal>
                </goals>
                <phase>deploy</phase>
                <configuration>
                  <file>${downloaded}/org.eclipse.jdt.ui_${org.eclipse.jdt.ui}.jar</file>
                  <sources>${downloaded}/org.eclipse.jdt.ui.source_${org.eclipse.jdt.ui}.jar</sources>
                  <pomFile>${project.build.outputDirectory}/org.eclipse.jdt.ui.pom</pomFile>
                </configuration>
              </execution>
              <execution>
                <id>deploy-jdt-launching</id>
                <goals>
                  <goal>deploy-file</goal>
                </goals>
                <phase>deploy</phase>
                <configuration>
                  <file>${downloaded}/org.eclipse.jdt.launching_${org.eclipse.jdt.launching}.jar</file>
                  <sources>${downloaded}/org.eclipse.jdt.launching.source_${org.eclipse.jdt.launching}.jar</sources>
                  <pomFile>${project.build.outputDirectory}/org.eclipse.jdt.launching.pom</pomFile>
                </configuration>
              </execution>
              <execution>
                <id>deploy-jdt-debug-ui</id>
                <goals>
                  <goal>deploy-file</goal>
                </goals>
                <phase>deploy</phase>
                <configuration>
                  <file>${downloaded}/org.eclipse.jdt.debug.ui_${org.eclipse.jdt.debug.ui}.jar</file>
                  <sources>${downloaded}/org.eclipse.jdt.debug.ui.source_${org.eclipse.jdt.debug.ui}.jar</sources>
                  <pomFile>${project.build.outputDirectory}/org.eclipse.jdt.debug.ui.pom</pomFile>
                </configuration>
              </execution>
            </executions>
          </plugin>
        </plugins>
      </build>
    </profile>
    <profile>
      <id>deploy-ui-snapshots</id>
      <activation>
        <activeByDefault>true</activeByDefault>
      </activation>
      <build>
        <plugins>
          <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-deploy-plugin</artifactId>
            <executions>
              <execution>
                <id>deploy-ui-workbench</id>
                <goals>
                  <goal>deploy-file</goal>
                </goals>
                <phase>deploy</phase>
                <configuration>
                  <file>${downloaded}/org.eclipse.ui.workbench_${org.eclipse.ui.workbench}.jar</file>
                  <sources>${downloaded}/org.eclipse.ui.workbench.source_${org.eclipse.ui.workbench}.jar</sources>
                  <pomFile>${project.build.outputDirectory}/org.eclipse.ui.workbench.pom</pomFile>
                </configuration>
              </execution>
              <execution>
                <id>deploy-ui-workbench-texteditor</id>
                <goals>
                  <goal>deploy-file</goal>
                </goals>
                <phase>deploy</phase>
                <configuration>
                  <file>${downloaded}/org.eclipse.ui.workbench.texteditor_${org.eclipse.ui.workbench.texteditor}.jar</file>
                  <sources>${downloaded}/org.eclipse.ui.workbench.texteditor.source_${org.eclipse.ui.workbench.texteditor}.jar</sources>
                  <pomFile>${project.build.outputDirectory}/org.eclipse.ui.workbench.texteditor.pom</pomFile>
                </configuration>
              </execution>
              <execution>
                <id>deploy-ui-jface</id>
                <goals>
                  <goal>deploy-file</goal>
                </goals>
                <phase>deploy</phase>
                <configuration>
                  <file>${downloaded}/org.eclipse.jface_${org.eclipse.jface}.jar</file>
                  <sources>${downloaded}/org.eclipse.jface.source_${org.eclipse.jface}.jar</sources>
                  <pomFile>${project.build.outputDirectory}/org.eclipse.jface.pom</pomFile>
                </configuration>
              </execution>
              <execution>
                <id>deploy-ui-jface-text</id>
                <goals>
                  <goal>deploy-file</goal>
                </goals>
                <phase>deploy</phase>
                <configuration>
                  <file>${downloaded}/org.eclipse.jface.text_${org.eclipse.jface.text}.jar</file>
                  <sources>${downloaded}/org.eclipse.jface.text.source_${org.eclipse.jface.text}.jar</sources>
                  <pomFile>${project.build.outputDirectory}/org.eclipse.jface.text.pom</pomFile>
                </configuration>
              </execution>
              <execution>
                <id>deploy-ui-swt</id>
                <goals>
                  <goal>deploy-file</goal>
                </goals>
                <phase>deploy</phase>
                <configuration>
                  <file>${downloaded}/org.eclipse.swt.win32.win32.x86_${org.eclipse.swt.win32.win32.x86}.jar</file>
                  <sources>${downloaded}/org.eclipse.swt.win32.win32.x86.source_${org.eclipse.swt.win32.win32.x86}.jar</sources>
                  <pomFile>${project.build.outputDirectory}/org.eclipse.swt.win32.win32.x86.pom</pomFile>
                </configuration>
              </execution>
              <execution>
                <id>deploy-ui-ide</id>
                <goals>
                  <goal>deploy-file</goal>
                </goals>
                <phase>deploy</phase>
                <configuration>
                  <file>${downloaded}/org.eclipse.ui.ide_${org.eclipse.ui.ide}.jar</file>
                  <sources>${downloaded}/org.eclipse.ui.ide.source_${org.eclipse.ui.ide}.jar</sources>
                  <pomFile>${project.build.outputDirectory}/org.eclipse.ui.ide.pom</pomFile>
                </configuration>
              </execution>
              <execution>
                <id>deploy-ui-editors</id>
                <goals>
                  <goal>deploy-file</goal>
                </goals>
                <phase>deploy</phase>
                <configuration>
                  <file>${downloaded}/org.eclipse.ui.editors_${org.eclipse.ui.editors}.jar</file>
                  <sources>${downloaded}/org.eclipse.ui.editors.source_${org.eclipse.ui.editors}.jar</sources>
                  <pomFile>${project.build.outputDirectory}/org.eclipse.ui.editors.pom</pomFile>
                </configuration>
              </execution>
              <execution>
                <id>deploy-ui-console</id>
                <goals>
                  <goal>deploy-file</goal>
                </goals>
                <phase>deploy</phase>
                <configuration>
                  <file>${downloaded}/org.eclipse.ui.console_${org.eclipse.ui.console}.jar</file>
                  <sources>${downloaded}/org.eclipse.ui.console.source_${org.eclipse.ui.console}.jar</sources>
                  <pomFile>${project.build.outputDirectory}/org.eclipse.ui.console.pom</pomFile>
                </configuration>
              </execution>
              <execution>
                <id>deploy-ui</id>
                <goals>
                  <goal>deploy-file</goal>
                </goals>
                <phase>deploy</phase>
                <configuration>
                  <file>${downloaded}/org.eclipse.ui_${org.eclipse.ui}.jar</file>
                  <sources>${downloaded}/org.eclipse.ui.source_${org.eclipse.ui}.jar</sources>
                  <pomFile>${project.build.outputDirectory}/org.eclipse.ui.pom</pomFile>
                </configuration>
              </execution>
              <execution>
                <id>deploy-ui-views</id>
                <goals>
                  <goal>deploy-file</goal>
                </goals>
                <phase>deploy</phase>
                <configuration>
                  <file>${downloaded}/org.eclipse.ui.views_${org.eclipse.ui.views}.jar</file>
                  <sources>${downloaded}/org.eclipse.ui.views.source_${org.eclipse.ui.views}.jar</sources>
                  <pomFile>${project.build.outputDirectory}/org.eclipse.ui.views.pom</pomFile>
                </configuration>
              </execution>
              <execution>
                <id>deploy-ui-forms</id>
                <goals>
                  <goal>deploy-file</goal>
                </goals>
                <phase>deploy</phase>
                <configuration>
                  <file>${downloaded}/org.eclipse.ui.forms_${org.eclipse.ui.forms}.jar</file>
                  <sources>${downloaded}/org.eclipse.ui.forms.source_${org.eclipse.ui.forms}.jar</sources>
                  <pomFile>${project.build.outputDirectory}/org.eclipse.ui.forms.pom</pomFile>
                </configuration>
              </execution>
            </executions>
          </plugin>
        </plugins>
      </build>
    </profile>
    <profile>
      <id>deploy-releases</id>
      <build>
        <plugins>
          <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-gpg-plugin</artifactId>
            <version>1.7.0.MGPG-53</version>
            <configuration>
              <repositoryId>${forgeReleaseId}</repositoryId>
              <url>${forgeReleaseUrl}</url>
            </configuration>
            <executions>
              <execution>
                <id>deploy-ecj</id>
                <goals>
                  <goal>sign-and-deploy-file</goal>
                </goals>
                <phase>deploy</phase>
                <configuration>
                  <file>${downloaded}/ecj_${ecj}.jar</file>
                  <sources>${downloaded}/ecj.source_${ecj}.jar</sources>
                  <pomFile>${project.build.outputDirectory}/ecj.pom</pomFile>
                  <javadoc>${project.build.outputDirectory}/javadoc.jar</javadoc>
                </configuration>
              </execution>
              <execution>
                <id>deploy-jdt-core</id>
                <goals>
                  <goal>sign-and-deploy-file</goal>
                </goals>
                <phase>deploy</phase>
                <configuration>
                  <file>${downloaded}/org.eclipse.jdt.core_${org.eclipse.jdt.core}.jar</file>
                  <sources>${downloaded}/org.eclipse.jdt.core.source_${org.eclipse.jdt.core}.jar</sources>
                  <pomFile>${project.build.outputDirectory}/org.eclipse.jdt.core.pom</pomFile>
                  <javadoc>${project.build.outputDirectory}/javadoc.jar</javadoc>
                </configuration>
              </execution>
              <execution>
                <id>deploy-jdt-junit</id>
                <goals>
                  <goal>sign-and-deploy-file</goal>
                </goals>
                <phase>deploy</phase>
                <configuration>
                  <file>${downloaded}/org.eclipse.jdt.junit_${org.eclipse.jdt.junit}.jar</file>
                  <sources>${downloaded}/org.eclipse.jdt.junit.source_${org.eclipse.jdt.junit}.jar</sources>
                  <pomFile>${project.build.outputDirectory}/org.eclipse.jdt.junit.pom</pomFile>
                  <javadoc>${project.build.outputDirectory}/javadoc.jar</javadoc>
                </configuration>
              </execution>
              <execution>
                <id>deploy-jdt-core-manipulation</id>
                <goals>
                  <goal>sign-and-deploy-file</goal>
                </goals>
                <phase>deploy</phase>
                <configuration>
                  <file>${downloaded}/org.eclipse.jdt.core.manipulation_${org.eclipse.jdt.core.manipulation}.jar</file>
                  <sources>${downloaded}/org.eclipse.jdt.core.manipulation.source_${org.eclipse.jdt.core.manipulation}.jar</sources>
                  <pomFile>${project.build.outputDirectory}/org.eclipse.jdt.core.manipulation.pom</pomFile>
                  <javadoc>${project.build.outputDirectory}/javadoc.jar</javadoc>
                </configuration>
              </execution>
              <execution>
                <id>deploy-jdt-ui</id>
                <goals>
                  <goal>sign-and-deploy-file</goal>
                </goals>
                <phase>deploy</phase>
                <configuration>
                  <file>${downloaded}/org.eclipse.jdt.ui_${org.eclipse.jdt.ui}.jar</file>
                  <sources>${downloaded}/org.eclipse.jdt.ui.source_${org.eclipse.jdt.ui}.jar</sources>
                  <pomFile>${project.build.outputDirectory}/org.eclipse.jdt.ui.pom</pomFile>
                  <javadoc>${project.build.outputDirectory}/javadoc.jar</javadoc>
                </configuration>
              </execution>
              <execution>
                <id>deploy-jdt-launching</id>
                <goals>
                  <goal>sign-and-deploy-file</goal>
                </goals>
                <phase>deploy</phase>
                <configuration>
                  <file>${downloaded}/org.eclipse.jdt.launching_${org.eclipse.jdt.launching}.jar</file>
                  <sources>${downloaded}/org.eclipse.jdt.launching.source_${org.eclipse.jdt.launching}.jar</sources>
                  <pomFile>${project.build.outputDirectory}/org.eclipse.jdt.launching.pom</pomFile>
                  <javadoc>${project.build.outputDirectory}/javadoc.jar</javadoc>
                </configuration>
              </execution>
              <execution>
                <id>deploy-jdt-debug-ui</id>
                <goals>
                  <goal>sign-and-deploy-file</goal>
                </goals>
                <phase>deploy</phase>
                <configuration>
                  <file>${downloaded}/org.eclipse.jdt.debug.ui_${org.eclipse.jdt.debug.ui}.jar</file>
                  <sources>${downloaded}/org.eclipse.jdt.debug.ui.source_${org.eclipse.jdt.debug.ui}.jar</sources>
                  <pomFile>${project.build.outputDirectory}/org.eclipse.jdt.debug.ui.pom</pomFile>
                  <javadoc>${project.build.outputDirectory}/javadoc.jar</javadoc>
                </configuration>
              </execution>
              <execution>
                <id>deploy-ui-workbench</id>
                <goals>
                  <goal>sign-and-deploy-file</goal>
                </goals>
                <phase>deploy</phase>
                <configuration>
                  <file>${downloaded}/org.eclipse.ui.workbench_${org.eclipse.ui.workbench}.jar</file>
                  <sources>${downloaded}/org.eclipse.ui.workbench.source_${org.eclipse.ui.workbench}.jar</sources>
                  <pomFile>${project.build.outputDirectory}/org.eclipse.ui.workbench.pom</pomFile>
                  <javadoc>${project.build.outputDirectory}/javadoc.jar</javadoc>
                </configuration>
              </execution>
              <execution>
                <id>deploy-ui-workbench-texteditor</id>
                <goals>
                  <goal>sign-and-deploy-file</goal>
                </goals>
                <phase>deploy</phase>
                <configuration>
                  <file>${downloaded}/org.eclipse.ui.workbench.texteditor_${org.eclipse.ui.workbench.texteditor}.jar</file>
                  <sources>${downloaded}/org.eclipse.ui.workbench.texteditor.source_${org.eclipse.ui.workbench.texteditor}.jar</sources>
                  <pomFile>${project.build.outputDirectory}/org.eclipse.ui.workbench.texteditor.pom</pomFile>
                  <javadoc>${project.build.outputDirectory}/javadoc.jar</javadoc>
                </configuration>
              </execution>
              <execution>
                <id>deploy-ui-jface</id>
                <goals>
                  <goal>sign-and-deploy-file</goal>
                </goals>
                <phase>deploy</phase>
                <configuration>
                  <file>${downloaded}/org.eclipse.jface_${org.eclipse.jface}.jar</file>
                  <sources>${downloaded}/org.eclipse.jface.source_${org.eclipse.jface}.jar</sources>
                  <pomFile>${project.build.outputDirectory}/org.eclipse.jface.pom</pomFile>
                  <javadoc>${project.build.outputDirectory}/javadoc.jar</javadoc>
                </configuration>
              </execution>
              <execution>
                <id>deploy-ui-jface-text</id>
                <goals>
                  <goal>sign-and-deploy-file</goal>
                </goals>
                <phase>deploy</phase>
                <configuration>
                  <file>${downloaded}/org.eclipse.jface.text_${org.eclipse.jface.text}.jar</file>
                  <sources>${downloaded}/org.eclipse.jface.text.source_${org.eclipse.jface.text}.jar</sources>
                  <pomFile>${project.build.outputDirectory}/org.eclipse.jface.text.pom</pomFile>
                  <javadoc>${project.build.outputDirectory}/javadoc.jar</javadoc>
                </configuration>
              </execution>
              <execution>
                <id>deploy-ui-swt</id>
                <goals>
                  <goal>sign-and-deploy-file</goal>
                </goals>
                <phase>deploy</phase>
                <configuration>
                  <file>${downloaded}/org.eclipse.swt.win32.win32.x86_${org.eclipse.swt.win32.win32.x86}.jar</file>
                  <sources>${downloaded}/org.eclipse.swt.win32.win32.x86.source_${org.eclipse.swt.win32.win32.x86}.jar</sources>
                  <pomFile>${project.build.outputDirectory}/org.eclipse.swt.win32.win32.x86.pom</pomFile>
                  <javadoc>${project.build.outputDirectory}/javadoc.jar</javadoc>
                </configuration>
              </execution>
              <execution>
                <id>deploy-ui-ide</id>
                <goals>
                  <goal>sign-and-deploy-file</goal>
                </goals>
                <phase>deploy</phase>
                <configuration>
                  <file>${downloaded}/org.eclipse.ui.ide_${org.eclipse.ui.ide}.jar</file>
                  <sources>${downloaded}/org.eclipse.ui.ide.source_${org.eclipse.ui.ide}.jar</sources>
                  <pomFile>${project.build.outputDirectory}/org.eclipse.ui.ide.pom</pomFile>
                  <javadoc>${project.build.outputDirectory}/javadoc.jar</javadoc>
                </configuration>
              </execution>
              <execution>
                <id>deploy-ui-editors</id>
                <goals>
                  <goal>sign-and-deploy-file</goal>
                </goals>
                <phase>deploy</phase>
                <configuration>
                  <file>${downloaded}/org.eclipse.ui.editors_${org.eclipse.ui.editors}.jar</file>
                  <sources>${downloaded}/org.eclipse.ui.editors.source_${org.eclipse.ui.editors}.jar</sources>
                  <pomFile>${project.build.outputDirectory}/org.eclipse.ui.editors.pom</pomFile>
                  <javadoc>${project.build.outputDirectory}/javadoc.jar</javadoc>
                </configuration>
              </execution>
              <execution>
                <id>deploy-ui-console</id>
                <goals>
                  <goal>sign-and-deploy-file</goal>
                </goals>
                <phase>deploy</phase>
                <configuration>
                  <file>${downloaded}/org.eclipse.ui.console_${org.eclipse.ui.console}.jar</file>
                  <sources>${downloaded}/org.eclipse.ui.console.source_${org.eclipse.ui.console}.jar</sources>
                  <pomFile>${project.build.outputDirectory}/org.eclipse.ui.console.pom</pomFile>
                  <javadoc>${project.build.outputDirectory}/javadoc.jar</javadoc>
                </configuration>
              </execution>
              <execution>
                <id>deploy-ui</id>
                <goals>
                  <goal>sign-and-deploy-file</goal>
                </goals>
                <phase>deploy</phase>
                <configuration>
                  <file>${downloaded}/org.eclipse.ui_${org.eclipse.ui}.jar</file>
                  <sources>${downloaded}/org.eclipse.ui.source_${org.eclipse.ui}.jar</sources>
                  <pomFile>${project.build.outputDirectory}/org.eclipse.ui.pom</pomFile>
                  <javadoc>${project.build.outputDirectory}/javadoc.jar</javadoc>
                </configuration>
              </execution>
              <execution>
                <id>deploy-ui-views</id>
                <goals>
                  <goal>sign-and-deploy-file</goal>
                </goals>
                <phase>deploy</phase>
                <configuration>
                  <file>${downloaded}/org.eclipse.ui.views_${org.eclipse.ui.views}.jar</file>
                  <sources>${downloaded}/org.eclipse.ui.views.source_${org.eclipse.ui.views}.jar</sources>
                  <pomFile>${project.build.outputDirectory}/org.eclipse.ui.views.pom</pomFile>
                  <javadoc>${project.build.outputDirectory}/javadoc.jar</javadoc>
                </configuration>
              </execution>
              <execution>
                <id>deploy-ui-forms</id>
                <goals>
                  <goal>sign-and-deploy-file</goal>
                </goals>
                <phase>deploy</phase>
                <configuration>
                  <file>${downloaded}/org.eclipse.ui.forms_${org.eclipse.ui.forms}.jar</file>
                  <sources>${downloaded}/org.eclipse.ui.forms.source_${org.eclipse.ui.forms}.jar</sources>
                  <pomFile>${project.build.outputDirectory}/org.eclipse.ui.forms.pom</pomFile>
                  <javadoc>${project.build.outputDirectory}/javadoc.jar</javadoc>
                </configuration>
              </execution>
              <execution>
                <id>deploy-osgi</id>
                <goals>
                  <goal>sign-and-deploy-file</goal>
                </goals>
                <phase>deploy</phase>
                <configuration>
                  <file>${downloaded}/org.eclipse.osgi_${org.eclipse.osgi}.jar</file>
                  <sources>${downloaded}/org.eclipse.osgi.source_${org.eclipse.osgi}.jar</sources>
                  <pomFile>${project.build.outputDirectory}/org.eclipse.osgi.pom</pomFile>
                  <javadoc>${project.build.outputDirectory}/javadoc.jar</javadoc>
                </configuration>
              </execution>
              <execution>
                <id>deploy-equinox-common</id>
                <goals>
                  <goal>sign-and-deploy-file</goal>
                </goals>
                <phase>deploy</phase>
                <configuration>
                  <file>${downloaded}/org.eclipse.equinox.common_${org.eclipse.equinox.common}.jar</file>
                  <sources>${downloaded}/org.eclipse.equinox.common.source_${org.eclipse.equinox.common}.jar</sources>
                  <pomFile>${project.build.outputDirectory}/org.eclipse.equinox.common.pom</pomFile>
                  <javadoc>${project.build.outputDirectory}/javadoc.jar</javadoc>
                </configuration>
              </execution>
              <execution>
                <id>deploy-equinox-security</id>
                <goals>
                  <goal>sign-and-deploy-file</goal>
                </goals>
                <phase>deploy</phase>
                <configuration>
                  <file>${downloaded}/org.eclipse.equinox.security_${org.eclipse.equinox.security}.jar</file>
                  <sources>${downloaded}/org.eclipse.equinox.security.source_${org.eclipse.equinox.security}.jar</sources>
                  <pomFile>${project.build.outputDirectory}/org.eclipse.equinox.security.pom</pomFile>
                  <javadoc>${project.build.outputDirectory}/javadoc.jar</javadoc>
                </configuration>
              </execution>
              <execution>
                <id>deploy-equinox-registry</id>
                <goals>
                  <goal>sign-and-deploy-file</goal>
                </goals>
                <phase>deploy</phase>
                <configuration>
                  <file>${downloaded}/org.eclipse.equinox.registry_${org.eclipse.equinox.registry}.jar</file>
                  <sources>${downloaded}/org.eclipse.equinox.registry.source_${org.eclipse.equinox.registry}.jar</sources>
                  <pomFile>${project.build.outputDirectory}/org.eclipse.equinox.registry.pom</pomFile>
                  <javadoc>${project.build.outputDirectory}/javadoc.jar</javadoc>
                </configuration>
              </execution>
              <execution>
                <id>deploy-equinox-preferences</id>
                <goals>
                  <goal>sign-and-deploy-file</goal>
                </goals>
                <phase>deploy</phase>
                <configuration>
                  <file>${downloaded}/org.eclipse.equinox.preferences_${org.eclipse.equinox.preferences}.jar</file>
                  <sources>${downloaded}/org.eclipse.equinox.preferences.source_${org.eclipse.equinox.preferences}.jar</sources>
                  <pomFile>${project.build.outputDirectory}/org.eclipse.equinox.preferences.pom</pomFile>
                  <javadoc>${project.build.outputDirectory}/javadoc.jar</javadoc>
                </configuration>
              </execution>
              <execution>
                <id>deploy-eclipse-compare</id>
                <goals>
                  <goal>sign-and-deploy-file</goal>
                </goals>
                <phase>deploy</phase>
                <configuration>
                  <file>${downloaded}/org.eclipse.compare_${org.eclipse.compare}.jar</file>
                  <sources>${downloaded}/org.eclipse.compare.source_${org.eclipse.compare}.jar</sources>
                  <pomFile>${project.build.outputDirectory}/org.eclipse.compare.pom</pomFile>
                  <javadoc>${project.build.outputDirectory}/javadoc.jar</javadoc>
                </configuration>
              </execution>
              <execution>
                <id>deploy-core-resources</id>
                <goals>
                  <goal>sign-and-deploy-file</goal>
                </goals>
                <phase>deploy</phase>
                <configuration>
                  <file>${downloaded}/org.eclipse.core.resources_${org.eclipse.core.resources}.jar</file>
                  <sources>${downloaded}/org.eclipse.core.resources.source_${org.eclipse.core.resources}.jar</sources>
                  <pomFile>${project.build.outputDirectory}/org.eclipse.core.resources.pom</pomFile>
                  <javadoc>${project.build.outputDirectory}/javadoc.jar</javadoc>
                </configuration>
              </execution>
              <execution>
                <id>deploy-core-commands</id>
                <goals>
                  <goal>sign-and-deploy-file</goal>
                </goals>
                <phase>deploy</phase>
                <configuration>
                  <file>${downloaded}/org.eclipse.core.commands_${org.eclipse.core.commands}.jar</file>
                  <sources>${downloaded}/org.eclipse.core.commands.source_${org.eclipse.core.commands}.jar</sources>
                  <pomFile>${project.build.outputDirectory}/org.eclipse.core.commands.pom</pomFile>
                  <javadoc>${project.build.outputDirectory}/javadoc.jar</javadoc>
                </configuration>
              </execution>
              <execution>
                <id>deploy-core-contenttype</id>
                <goals>
                  <goal>sign-and-deploy-file</goal>
                </goals>
                <phase>deploy</phase>
                <configuration>
                  <file>${downloaded}/org.eclipse.core.contenttype_${org.eclipse.core.contenttype}.jar</file>
                  <sources>${downloaded}/org.eclipse.core.contenttype.source_${org.eclipse.core.contenttype}.jar</sources>
                  <pomFile>${project.build.outputDirectory}/org.eclipse.core.contenttype.pom</pomFile>
                  <javadoc>${project.build.outputDirectory}/javadoc.jar</javadoc>
                </configuration>
              </execution>
              <execution>
                <id>deploy-core-expressions</id>
                <goals>
                  <goal>sign-and-deploy-file</goal>
                </goals>
                <phase>deploy</phase>
                <configuration>
                  <file>${downloaded}/org.eclipse.core.expressions_${org.eclipse.core.expressions}.jar</file>
                  <sources>${downloaded}/org.eclipse.core.expressions.source_${org.eclipse.core.expressions}.jar</sources>
                  <pomFile>${project.build.outputDirectory}/org.eclipse.core.expressions.pom</pomFile>
                  <javadoc>${project.build.outputDirectory}/javadoc.jar</javadoc>
                </configuration>
              </execution>
              <execution>
                <id>deploy-core-filesystem</id>
                <goals>
                  <goal>sign-and-deploy-file</goal>
                </goals>
                <phase>deploy</phase>
                <configuration>
                  <file>${downloaded}/org.eclipse.core.filesystem_${org.eclipse.core.filesystem}.jar</file>
                  <sources>${downloaded}/org.eclipse.core.filesystem.source_${org.eclipse.core.filesystem}.jar</sources>
                  <pomFile>${project.build.outputDirectory}/org.eclipse.core.filesystem.pom</pomFile>
                  <javadoc>${project.build.outputDirectory}/javadoc.jar</javadoc>
                </configuration>
              </execution>
              <execution>
                <id>deploy-core-variables</id>
                <goals>
                  <goal>sign-and-deploy-file</goal>
                </goals>
                <phase>deploy</phase>
                <configuration>
                  <file>${downloaded}/org.eclipse.core.variables_${org.eclipse.core.variables}.jar</file>
                  <sources>${downloaded}/org.eclipse.core.variables.source_${org.eclipse.core.variables}.jar</sources>
                  <pomFile>${project.build.outputDirectory}/org.eclipse.core.variables.pom</pomFile>
                  <javadoc>${project.build.outputDirectory}/javadoc.jar</javadoc>
                </configuration>
              </execution>
              <execution>
                <id>deploy-core-runtime</id>
                <goals>
                  <goal>sign-and-deploy-file</goal>
                </goals>
                <phase>deploy</phase>
                <configuration>
                  <file>${downloaded}/org.eclipse.core.runtime_${org.eclipse.core.runtime}.jar</file>
                  <sources>${downloaded}/org.eclipse.core.runtime.source_${org.eclipse.core.runtime}.jar</sources>
                  <pomFile>${project.build.outputDirectory}/org.eclipse.core.runtime.pom</pomFile>
                  <javadoc>${project.build.outputDirectory}/javadoc.jar</javadoc>
                </configuration>
              </execution>
              <execution>
                <id>deploy-core-jobs</id>
                <goals>
                  <goal>sign-and-deploy-file</goal>
                </goals>
                <phase>deploy</phase>
                <configuration>
                  <file>${downloaded}/org.eclipse.core.jobs_${org.eclipse.core.jobs}.jar</file>
                  <sources>${downloaded}/org.eclipse.core.jobs.source_${org.eclipse.core.jobs}.jar</sources>
                  <pomFile>${project.build.outputDirectory}/org.eclipse.core.jobs.pom</pomFile>
                  <javadoc>${project.build.outputDirectory}/javadoc.jar</javadoc>
                </configuration>
              </execution>
              <execution>
                <id>deploy-eclipse-debug-core</id>
                <goals>
                  <goal>sign-and-deploy-file</goal>
                </goals>
                <phase>deploy</phase>
                <configuration>
                  <file>${downloaded}/org.eclipse.debug.core_${org.eclipse.debug.core}.jar</file>
                  <sources>${downloaded}/org.eclipse.debug.core.source_${org.eclipse.debug.core}.jar</sources>
                  <pomFile>${project.build.outputDirectory}/org.eclipse.debug.core.pom</pomFile>
                  <javadoc>${project.build.outputDirectory}/javadoc.jar</javadoc>
                </configuration>
              </execution>
              <execution>
                <id>deploy-eclipse-debug-ui</id>
                <goals>
                  <goal>sign-and-deploy-file</goal>
                </goals>
                <phase>deploy</phase>
                <configuration>
                  <file>${downloaded}/org.eclipse.debug.ui_${org.eclipse.debug.ui}.jar</file>
                  <sources>${downloaded}/org.eclipse.debug.ui.source_${org.eclipse.debug.ui}.jar</sources>
                  <pomFile>${project.build.outputDirectory}/org.eclipse.debug.ui.pom</pomFile>
                  <javadoc>${project.build.outputDirectory}/javadoc.jar</javadoc>
                </configuration>
              </execution>
              <execution>
                <id>deploy-eclipse-text</id>
                <goals>
                  <goal>sign-and-deploy-file</goal>
                </goals>
                <phase>deploy</phase>
                <configuration>
                  <file>${downloaded}/org.eclipse.text_${org.eclipse.text}.jar</file>
                  <sources>${downloaded}/org.eclipse.text.source_${org.eclipse.text}.jar</sources>
                  <pomFile>${project.build.outputDirectory}/org.eclipse.text.pom</pomFile>
                  <javadoc>${project.build.outputDirectory}/javadoc.jar</javadoc>
                </configuration>
              </execution>
              <execution>
                <id>deploy-eclipse-search</id>
                <goals>
                  <goal>sign-and-deploy-file</goal>
                </goals>
                <phase>deploy</phase>
                <configuration>
                  <file>${downloaded}/org.eclipse.search_${org.eclipse.search}.jar</file>
                  <sources>${downloaded}/org.eclipse.search.source_${org.eclipse.search}.jar</sources>
                  <pomFile>${project.build.outputDirectory}/org.eclipse.search.pom</pomFile>
                  <javadoc>${project.build.outputDirectory}/javadoc.jar</javadoc>
                </configuration>
              </execution>
              <execution>
                <id>deploy-eclipse-ltk-refactoring</id>
                <goals>
                  <goal>sign-and-deploy-file</goal>
                </goals>
                <phase>deploy</phase>
                <configuration>
                  <file>${downloaded}/org.eclipse.ltk.core.refactoring_${org.eclipse.ltk.core.refactoring}.jar</file>
                  <sources>${downloaded}/org.eclipse.ltk.core.refactoring.source_${org.eclipse.ltk.core.refactoring}.jar</sources>
                  <pomFile>${project.build.outputDirectory}/org.eclipse.ltk.core.refactoring.pom</pomFile>
                  <javadoc>${project.build.outputDirectory}/javadoc.jar</javadoc>
                </configuration>
              </execution>
              <execution>
                <id>deploy-eclipse-ltk-ui-refactoring</id>
                <goals>
                  <goal>sign-and-deploy-file</goal>
                </goals>
                <phase>deploy</phase>
                <configuration>
                  <file>${downloaded}/org.eclipse.ltk.ui.refactoring_${org.eclipse.ltk.ui.refactoring}.jar</file>
                  <sources>${downloaded}/org.eclipse.ltk.ui.refactoring.source_${org.eclipse.ltk.ui.refactoring}.jar</sources>
                  <pomFile>${project.build.outputDirectory}/org.eclipse.ltk.ui.refactoring.pom</pomFile>
                  <javadoc>${project.build.outputDirectory}/javadoc.jar</javadoc>
                </configuration>
              </execution>
              <execution>
                <id>deploy-pde-core</id>
                <goals>
                  <goal>sign-and-deploy-file</goal>
                </goals>
                <phase>deploy</phase>
                <configuration>
                  <file>${downloaded}/org.eclipse.pde.core_${org.eclipse.pde.core}.jar</file>
                  <sources>${downloaded}/org.eclipse.pde.core.source_${org.eclipse.pde.core}.jar</sources>
                  <pomFile>${project.build.outputDirectory}/org.eclipse.pde.core.pom</pomFile>
                  <javadoc>${project.build.outputDirectory}/javadoc.jar</javadoc>
                </configuration>
              </execution>
              <execution>
                <id>deploy-pde-ui</id>
                <goals>
                  <goal>sign-and-deploy-file</goal>
                </goals>
                <phase>deploy</phase>
                <configuration>
                  <file>${downloaded}/org.eclipse.pde.ui_${org.eclipse.pde.ui}.jar</file>
                  <sources>${downloaded}/org.eclipse.pde.ui.source_${org.eclipse.pde.ui}.jar</sources>
                  <pomFile>${project.build.outputDirectory}/org.eclipse.pde.ui.pom</pomFile>
                  <javadoc>${project.build.outputDirectory}/javadoc.jar</javadoc>
                </configuration>
              </execution>
              <execution>
                <id>deploy-m2e-core</id>
                <goals>
                  <goal>sign-and-deploy-file</goal>
                </goals>
                <phase>deploy</phase>
                <configuration>
                  <file>${downloaded}/org.eclipse.m2e.core_${org.eclipse.m2e.core}.jar</file>
                  <sources>${downloaded}/org.eclipse.m2e.core.source_${org.eclipse.m2e.core}.jar</sources>
                  <pomFile>${project.build.outputDirectory}/org.eclipse.m2e.core.pom</pomFile>
                  <javadoc>${project.build.outputDirectory}/javadoc.jar</javadoc>
                </configuration>
              </execution>
              <execution>
                <id>deploy-m2e-ui</id>
                <goals>
                  <goal>sign-and-deploy-file</goal>
                </goals>
                <phase>deploy</phase>
                <configuration>
                  <file>${downloaded}/org.eclipse.m2e.core.ui_${org.eclipse.m2e.core.ui}.jar</file>
                  <sources>${downloaded}/org.eclipse.m2e.core.ui.source_${org.eclipse.m2e.core.ui}.jar</sources>
                  <pomFile>${project.build.outputDirectory}/org.eclipse.m2e.core.ui.pom</pomFile>
                  <javadoc>${project.build.outputDirectory}/javadoc.jar</javadoc>
                </configuration>
              </execution>
              <execution>
                <id>deploy-m2e-archetype-common</id>
                <goals>
                  <goal>sign-and-deploy-file</goal>
                </goals>
                <phase>deploy</phase>
                <configuration>
                  <file>${downloaded}/org.eclipse.m2e.archetype.common_${org.eclipse.m2e.archetype.common}.jar</file>
                  <pomFile>${project.build.outputDirectory}/org.eclipse.m2e.archetype.common.pom</pomFile>
                  <javadoc>${project.build.outputDirectory}/javadoc.jar</javadoc>
                </configuration>
              </execution>
            </executions>
          </plugin>
        </plugins>
      </build>
    </profile>
    <profile>
      <id>deploy-releases-addNewDeps</id>
      <build>
        <plugins>
          <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-gpg-plugin</artifactId>
            <version>1.7.0.MGPG-53</version>
            <configuration>
              <repositoryId>${forgeReleaseId}</repositoryId>
              <url>${forgeReleaseUrl}</url>
            </configuration>
            <executions>
              <execution>
                <id>deploy-compare</id>
                <goals>
                  <goal>sign-and-deploy-file</goal>
                </goals>
                <phase>deploy</phase>
                <inherited>true</inherited>
                <configuration>
                  <file>${downloaded}/org.eclipse.compare_${org.eclipse.compare}.jar</file>
                  <sources>${downloaded}/org.eclipse.compare.source_${org.eclipse.compare}.jar</sources>
                  <pomFile>${project.build.outputDirectory}/org.eclipse.compare.pom</pomFile>
                  <javadoc>${project.build.outputDirectory}/javadoc.jar</javadoc>
                </configuration>
              </execution>
            </executions>
          </plugin>
        </plugins>
      </build>
    </profile>
  </profiles>
</project>
