<?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</groupId>
    <artifactId>maven_sdk_plugin_config-master</artifactId>
    <version>2.0.13</version>
    <relativePath></relativePath>
  </parent>

  <groupId>org.eclipse.scout.sdk</groupId>
  <artifactId>org.eclipse.scout.sdk</artifactId>
  <version>7.1.0.003_Photon_M3</version>
  <packaging>pom</packaging>
  <name>Eclipse Scout SDK</name>
  <description>Eclipse Scout SDK</description>

  <prerequisites>
    <maven>3.2.2</maven>
  </prerequisites>

  <modules>
    <!-- Must be at first position -->
    <module>../scout-helloworld-app</module>
    <module>../scout-jaxws-module</module>

    <module>../org.eclipse.scout.sdk.core</module>
    <module>../org.eclipse.scout.sdk.core.test</module>
    <module>../org.eclipse.scout.sdk.core.s</module>
    <module>../org.eclipse.scout.sdk.core.s.test</module>

    <module>../org.eclipse.scout.sdk.s2e</module>
    <module>../org.eclipse.scout.sdk.s2e.test</module>
    <module>../org.eclipse.scout.sdk.s2e.doc</module>
    <module>../org.eclipse.scout.sdk.s2e.nls</module>
    <module>../org.eclipse.scout.sdk.s2e.ui</module>

    <module>../org.eclipse.scout.sdk-settings</module>
  </modules>

  <properties>
    <scout.base.version>7.1.0</scout.base.version>
    <base.version>${scout.base.version}</base.version>
    <org.eclipse.scout.rt_version>7.1.0.003_Photon_M3</org.eclipse.scout.rt_version>

    <master_coverage_jacoco_destFile>${basedir}/../org.eclipse.scout.sdk/target/jacoco-all.exec</master_coverage_jacoco_destFile>

    <!-- Sonar properties -->
    <sonar.branch>releases_7.1.x</sonar.branch>
    <master_test_timeout>1800</master_test_timeout>
    <sonar.jacoco.reportPath>${master_coverage_jacoco_destFile}</sonar.jacoco.reportPath>

     <!-- exclude fixtures -->
    <sonar.exclusions>
      **/src/main/fixture/**,
      **/src/main/client/**,
      **/src/main/shared/**
    </sonar.exclusions>

    <!-- exclude fixtures, archetypes, UI -->
    <sonar.coverage.exclusions>
      **/src/main/fixture/**/*,
      **/src/main/client/**/*,
      **/src/main/shared/**/*,
      **/src/main/resources/archetype-resources/**/*,
      **/src/main/java/org/eclipse/scout/sdk/s2e/nls/**/*,
      **/src/main/java/org/eclipse/scout/sdk/s2e/ui/**/*,
      **/src/main/java/org/eclipse/scout/sdk/s2e/doc/**/*,
      **/org/eclipse/scout/maven/plugins/updatesite/**/*
    </sonar.coverage.exclusions>

    <!-- dependencies to Eclipse artifacts deployed by org.eclipse.scout.sdk.core.releng/ -->
    <ecj>4.6</ecj>
    <ecj-maven>${ecj}</ecj-maven>

    <org.eclipse.osgi>3.11.0.v20160603-1336</org.eclipse.osgi>
    <org.eclipse.osgi-maven>${org.eclipse.osgi}</org.eclipse.osgi-maven>
    <org.eclipse.osgi-range>[3.11.0,3.11.1)</org.eclipse.osgi-range>

    <org.eclipse.equinox.common>3.8.0.v20160509-1230</org.eclipse.equinox.common>
    <org.eclipse.equinox.common-maven>${org.eclipse.equinox.common}</org.eclipse.equinox.common-maven>
    <org.eclipse.equinox.common-range>[3.8.0,3.8.1)</org.eclipse.equinox.common-range>

    <org.eclipse.equinox.registry>3.6.100.v20160223-2218</org.eclipse.equinox.registry>
    <org.eclipse.equinox.registry-maven>${org.eclipse.equinox.registry}</org.eclipse.equinox.registry-maven>
    <org.eclipse.equinox.registry-range>[3.6.100,3.6.101)</org.eclipse.equinox.registry-range>

    <org.eclipse.equinox.preferences>3.6.0.v20160120-1756</org.eclipse.equinox.preferences>
    <org.eclipse.equinox.preferences-maven>${org.eclipse.equinox.preferences}</org.eclipse.equinox.preferences-maven>
    <org.eclipse.equinox.preferences-range>[3.6.0,3.6.1)</org.eclipse.equinox.preferences-range>

    <org.eclipse.equinox.security>1.2.200.v20150715-1528</org.eclipse.equinox.security>
    <org.eclipse.equinox.security-maven>${org.eclipse.equinox.security}</org.eclipse.equinox.security-maven>
    <org.eclipse.equinox.security-range>[1.2.200,1.2.201)</org.eclipse.equinox.security-range>

    <org.eclipse.compare>3.6.0.v20160418-1534</org.eclipse.compare>
    <org.eclipse.compare-maven>${org.eclipse.compare}</org.eclipse.compare-maven>
    <org.eclipse.compare-range>[3.6.0,3.6.1)</org.eclipse.compare-range>

    <org.eclipse.core.resources>3.11.0.v20160503-1608</org.eclipse.core.resources>
    <org.eclipse.core.resources-maven>${org.eclipse.core.resources}</org.eclipse.core.resources-maven>
    <org.eclipse.core.resources-range>[3.11.0,3.11.1)</org.eclipse.core.resources-range>

    <org.eclipse.core.commands>3.8.0.v20160316-1921</org.eclipse.core.commands>
    <org.eclipse.core.commands-maven>${org.eclipse.core.commands}</org.eclipse.core.commands-maven>
    <org.eclipse.core.commands-range>[3.8.0,3.8.1)</org.eclipse.core.commands-range>

    <org.eclipse.core.contenttype>3.5.100.v20160418-1621</org.eclipse.core.contenttype>
    <org.eclipse.core.contenttype-maven>${org.eclipse.core.contenttype}</org.eclipse.core.contenttype-maven>
    <org.eclipse.core.contenttype-range>[3.5.100,3.5.101)</org.eclipse.core.contenttype-range>

    <org.eclipse.core.expressions>3.5.100.v20160418-1621</org.eclipse.core.expressions>
    <org.eclipse.core.expressions-maven>${org.eclipse.core.expressions}</org.eclipse.core.expressions-maven>
    <org.eclipse.core.expressions-range>[3.5.100,3.5.101)</org.eclipse.core.expressions-range>

    <org.eclipse.core.filesystem>1.6.0.v20160503-1608</org.eclipse.core.filesystem>
    <org.eclipse.core.filesystem-maven>${org.eclipse.core.filesystem}</org.eclipse.core.filesystem-maven>
    <org.eclipse.core.filesystem-range>[1.6.0,1.6.1)</org.eclipse.core.filesystem-range>

    <org.eclipse.core.variables>3.3.0.v20160419-1720</org.eclipse.core.variables>
    <org.eclipse.core.variables-maven>${org.eclipse.core.variables}</org.eclipse.core.variables-maven>
    <org.eclipse.core.variables-range>[3.3.0,3.3.1)</org.eclipse.core.variables-range>

    <org.eclipse.core.runtime>3.12.0.v20160606-1342</org.eclipse.core.runtime>
    <org.eclipse.core.runtime-maven>${org.eclipse.core.runtime}</org.eclipse.core.runtime-maven>
    <org.eclipse.core.runtime-range>[3.12.0,3.12.1)</org.eclipse.core.runtime-range>

    <org.eclipse.core.jobs>3.8.0.v20160509-0411</org.eclipse.core.jobs>
    <org.eclipse.core.jobs-maven>${org.eclipse.core.jobs}</org.eclipse.core.jobs-maven>
    <org.eclipse.core.jobs-range>[3.8.0,3.8.1)</org.eclipse.core.jobs-range>

    <org.eclipse.debug.core>3.10.100.v20160419-1720</org.eclipse.debug.core>
    <org.eclipse.debug.core-maven>${org.eclipse.debug.core}</org.eclipse.debug.core-maven>
    <org.eclipse.debug.core-range>[3.10.100,3.10.101)</org.eclipse.debug.core-range>

    <org.eclipse.debug.ui>3.11.200.v20160518-1858</org.eclipse.debug.ui>
    <org.eclipse.debug.ui-maven>${org.eclipse.debug.ui}</org.eclipse.debug.ui-maven>
    <org.eclipse.debug.ui-range>[3.11.200,3.11.201)</org.eclipse.debug.ui-range>

    <org.eclipse.text>3.6.0.v20160503-1849</org.eclipse.text>
    <org.eclipse.text-maven>${org.eclipse.text}</org.eclipse.text-maven>
    <org.eclipse.text-range>[3.6.0,3.6.1)</org.eclipse.text-range>

    <org.eclipse.search>3.11.0.v20160519-1501</org.eclipse.search>
    <org.eclipse.search-maven>${org.eclipse.search}</org.eclipse.search-maven>
    <org.eclipse.search-range>[3.11.0,3.11.1)</org.eclipse.search-range>

    <org.eclipse.ltk.core.refactoring>3.7.0.v20160419-0705</org.eclipse.ltk.core.refactoring>
    <org.eclipse.ltk.core.refactoring-maven>${org.eclipse.ltk.core.refactoring}</org.eclipse.ltk.core.refactoring-maven>
    <org.eclipse.ltk.core.refactoring-range>[3.7.0,3.7.1)</org.eclipse.ltk.core.refactoring-range>

    <org.eclipse.ltk.ui.refactoring>3.8.0.v20160518-1817</org.eclipse.ltk.ui.refactoring>
    <org.eclipse.ltk.ui.refactoring-maven>${org.eclipse.ltk.ui.refactoring}</org.eclipse.ltk.ui.refactoring-maven>
    <org.eclipse.ltk.ui.refactoring-range>[3.8.0,3.8.1)</org.eclipse.ltk.ui.refactoring-range>

    <org.eclipse.jdt.core>3.12.0.v20160516-2131</org.eclipse.jdt.core>
    <org.eclipse.jdt.core-maven>${org.eclipse.jdt.core}</org.eclipse.jdt.core-maven>
    <org.eclipse.jdt.core-range>[3.12.0,3.12.1)</org.eclipse.jdt.core-range>

    <org.eclipse.jdt.core.manipulation>1.7.0.v20160419-0705</org.eclipse.jdt.core.manipulation>
    <org.eclipse.jdt.core.manipulation-maven>${org.eclipse.jdt.core.manipulation}</org.eclipse.jdt.core.manipulation-maven>
    <org.eclipse.jdt.core.manipulation-range>[1.7.0,1.7.1)</org.eclipse.jdt.core.manipulation-range>

    <org.eclipse.jdt.ui>3.12.0.v20160525-1829</org.eclipse.jdt.ui>
    <org.eclipse.jdt.ui-maven>${org.eclipse.jdt.ui}</org.eclipse.jdt.ui-maven>
    <org.eclipse.jdt.ui-range>[3.12.0,3.12.1)</org.eclipse.jdt.ui-range>

    <org.eclipse.jdt.debug.ui>3.7.200.v20160423-1519</org.eclipse.jdt.debug.ui>
    <org.eclipse.jdt.debug.ui-maven>${org.eclipse.jdt.debug.ui}</org.eclipse.jdt.debug.ui-maven>
    <org.eclipse.jdt.debug.ui-range>[3.7.200,3.7.201)</org.eclipse.jdt.debug.ui-range>

    <org.eclipse.jdt.junit>3.9.0.v20160421-1701</org.eclipse.jdt.junit>
    <org.eclipse.jdt.junit-maven>${org.eclipse.jdt.junit}</org.eclipse.jdt.junit-maven>
    <org.eclipse.jdt.junit-range>[3.9.0,3.9.1)</org.eclipse.jdt.junit-range>

    <org.eclipse.ui.workbench>3.108.0.v20160602-1232</org.eclipse.ui.workbench>
    <org.eclipse.ui.workbench-maven>${org.eclipse.ui.workbench}</org.eclipse.ui.workbench-maven>
    <org.eclipse.ui.workbench-range>[3.108.0,3.108.1)</org.eclipse.ui.workbench-range>

    <org.eclipse.ui.workbench.texteditor>3.10.0.v20160530-2011</org.eclipse.ui.workbench.texteditor>
    <org.eclipse.ui.workbench.texteditor-maven>${org.eclipse.ui.workbench.texteditor}</org.eclipse.ui.workbench.texteditor-maven>
    <org.eclipse.ui.workbench.texteditor-range>[3.10.0,3.10.1)</org.eclipse.ui.workbench.texteditor-range>

    <org.eclipse.jface>3.12.0.v20160518-1929</org.eclipse.jface>
    <org.eclipse.jface-maven>${org.eclipse.jface}</org.eclipse.jface-maven>
    <org.eclipse.jface-range>[3.12.0,3.12.1)</org.eclipse.jface-range>

    <org.eclipse.jface.text>3.11.0.v20160505-1301</org.eclipse.jface.text>
    <org.eclipse.jface.text-maven>${org.eclipse.jface.text}</org.eclipse.jface.text-maven>
    <org.eclipse.jface.text-range>[3.11.0,3.11.1)</org.eclipse.jface.text-range>

    <org.eclipse.swt.win32.win32.x86>3.105.0.v20160603-0902</org.eclipse.swt.win32.win32.x86>
    <org.eclipse.swt.win32.win32.x86-maven>${org.eclipse.swt.win32.win32.x86}</org.eclipse.swt.win32.win32.x86-maven>
    <org.eclipse.swt.win32.win32.x86-range>[3.105.0,3.105.1)</org.eclipse.swt.win32.win32.x86-range>

    <org.eclipse.ui.ide>3.12.0.v20160601-1609</org.eclipse.ui.ide>
    <org.eclipse.ui.ide-maven>${org.eclipse.ui.ide}</org.eclipse.ui.ide-maven>
    <org.eclipse.ui.ide-range>[3.12.0,3.12.1)</org.eclipse.ui.ide-range>

    <org.eclipse.ui.editors>3.10.0.v20160505-0931</org.eclipse.ui.editors>
    <org.eclipse.ui.editors-maven>${org.eclipse.ui.editors}</org.eclipse.ui.editors-maven>
    <org.eclipse.ui.editors-range>[3.10.0,3.10.1)</org.eclipse.ui.editors-range>

    <org.eclipse.ui>3.108.0.v20160518-1929</org.eclipse.ui>
    <org.eclipse.ui-maven>${org.eclipse.ui}</org.eclipse.ui-maven>
    <org.eclipse.ui-range>[3.108.0,3.108.1)</org.eclipse.ui-range>

    <org.eclipse.ui.console>3.6.200.v20160518-1858</org.eclipse.ui.console>
    <org.eclipse.ui.console-maven>${org.eclipse.ui.console}</org.eclipse.ui.console-maven>
    <org.eclipse.ui.console-range>[3.6.200,3.6.201)</org.eclipse.ui.console-range>

    <org.eclipse.ui.views>3.8.100.v20160518-1929</org.eclipse.ui.views>
    <org.eclipse.ui.views-maven>${org.eclipse.ui.views}</org.eclipse.ui.views-maven>
    <org.eclipse.ui.views-range>[3.8.100,3.8.101)</org.eclipse.ui.views-range>

    <org.eclipse.ui.forms>3.7.0.v20160518-1929</org.eclipse.ui.forms>
    <org.eclipse.ui.forms-maven>${org.eclipse.ui.forms}</org.eclipse.ui.forms-maven>
    <org.eclipse.ui.forms-range>[3.7.0,3.7.1)</org.eclipse.ui.forms-range>

    <org.eclipse.pde.core>3.11.0.v20160510-1223</org.eclipse.pde.core>
    <org.eclipse.pde.core-maven>${org.eclipse.pde.core}</org.eclipse.pde.core-maven>
    <org.eclipse.pde.core-range>[3.11.0,3.11.1)</org.eclipse.pde.core-range>

    <org.eclipse.pde.ui>3.9.0.v20160525-1830</org.eclipse.pde.ui>
    <org.eclipse.pde.ui-maven>${org.eclipse.pde.ui}</org.eclipse.pde.ui-maven>
    <org.eclipse.pde.ui-range>[3.9.0,3.9.1)</org.eclipse.pde.ui-range>

    <org.eclipse.jdt.launching>3.8.100.v20160505-0636</org.eclipse.jdt.launching>
    <org.eclipse.jdt.launching-maven>${org.eclipse.jdt.launching}</org.eclipse.jdt.launching-maven>
    <org.eclipse.jdt.launching-range>[3.8.100,3.8.101)</org.eclipse.jdt.launching-range>

    <org.eclipse.m2e.core>1.7.0.20160603-1933</org.eclipse.m2e.core>
    <org.eclipse.m2e.core-maven>${org.eclipse.m2e.core}</org.eclipse.m2e.core-maven>
    <org.eclipse.m2e.core-range>[1.7.0,1.7.1)</org.eclipse.m2e.core-range>

    <org.eclipse.m2e.core.ui>1.7.0.20160603-1933</org.eclipse.m2e.core.ui>
    <org.eclipse.m2e.core.ui-maven>${org.eclipse.m2e.core.ui}</org.eclipse.m2e.core.ui-maven>
    <org.eclipse.m2e.core.ui-range>[1.7.0,1.7.1)</org.eclipse.m2e.core.ui-range>

    <org.eclipse.m2e.archetype.common>1.7.0.20160603-1931</org.eclipse.m2e.archetype.common>
    <org.eclipse.m2e.archetype.common-maven>${org.eclipse.m2e.archetype.common}</org.eclipse.m2e.archetype.common-maven>
    <org.eclipse.m2e.archetype.common-range>[1.7.0,1.7.1)</org.eclipse.m2e.archetype.common-range>

    <maven.model.dependency.version>3.3.3</maven.model.dependency.version>
  </properties>

  <dependencyManagement>
    <dependencies>
      <dependency>
        <groupId>org.eclipse.scout.sdk</groupId>
        <artifactId>org.eclipse.scout.sdk.core</artifactId>
        <version>7.1.0.003_Photon_M3</version>
      </dependency>
      <dependency>
        <groupId>org.eclipse.scout.sdk</groupId>
        <artifactId>org.eclipse.scout.sdk.core.test</artifactId>
        <version>7.1.0.003_Photon_M3</version>
      </dependency>

      <dependency>
        <groupId>org.eclipse.scout.sdk</groupId>
        <artifactId>org.eclipse.scout.sdk.core.s</artifactId>
        <version>7.1.0.003_Photon_M3</version>
      </dependency>

      <dependency>
        <groupId>org.eclipse.scout.sdk</groupId>
        <artifactId>org.eclipse.scout.sdk.core.s.test</artifactId>
        <version>7.1.0.003_Photon_M3</version>
      </dependency>

      <dependency>
        <groupId>org.eclipse.scout.sdk.s2e</groupId>
        <artifactId>org.eclipse.scout.sdk.s2e</artifactId>
        <version>7.1.0.003_Photon_M3</version>
      </dependency>
      <dependency>
        <groupId>org.eclipse.scout.sdk.s2e</groupId>
        <artifactId>org.eclipse.scout.sdk.s2e</artifactId>
        <version>7.1.0.003_Photon_M3</version>
        <classifier>sources</classifier>
      </dependency>

      <dependency>
        <groupId>org.eclipse.scout.sdk.s2e</groupId>
        <artifactId>org.eclipse.scout.sdk.s2e.doc</artifactId>
        <version>7.1.0.003_Photon_M3</version>
      </dependency>
      <dependency>
        <groupId>org.eclipse.scout.sdk.s2e</groupId>
        <artifactId>org.eclipse.scout.sdk.s2e.doc</artifactId>
        <version>7.1.0.003_Photon_M3</version>
        <classifier>sources</classifier>
      </dependency>

      <dependency>
        <groupId>org.eclipse.scout.sdk.s2e</groupId>
        <artifactId>org.eclipse.scout.sdk.s2e.nls</artifactId>
        <version>7.1.0.003_Photon_M3</version>
      </dependency>
      <dependency>
        <groupId>org.eclipse.scout.sdk.s2e</groupId>
        <artifactId>org.eclipse.scout.sdk.s2e.nls</artifactId>
        <version>7.1.0.003_Photon_M3</version>
        <classifier>sources</classifier>
      </dependency>

      <dependency>
        <groupId>org.eclipse.scout.sdk.s2e</groupId>
        <artifactId>org.eclipse.scout.sdk.s2e.ui</artifactId>
        <version>7.1.0.003_Photon_M3</version>
      </dependency>
      <dependency>
        <groupId>org.eclipse.scout.sdk.s2e</groupId>
        <artifactId>org.eclipse.scout.sdk.s2e.ui</artifactId>
        <version>7.1.0.003_Photon_M3</version>
        <classifier>sources</classifier>
      </dependency>

      <dependency>
        <groupId>org.eclipse.scout.sdk.s2e</groupId>
        <artifactId>org.eclipse.scout.sdk.s2e.test</artifactId>
        <version>7.1.0.003_Photon_M3</version>
      </dependency>

      <!-- Build Dependencies -->
      <dependency>
        <groupId>org.apache.maven</groupId>
        <artifactId>maven-model</artifactId>
        <version>${maven.model.dependency.version}</version>
      </dependency>

      <dependency>
        <groupId>org.eclipse.scout.sdk.deps</groupId>
        <artifactId>ecj</artifactId>
        <version>${ecj-maven}</version>
      </dependency>

      <dependency>
        <groupId>org.eclipse.scout.sdk.deps</groupId>
        <artifactId>org.eclipse.core.commands</artifactId>
        <version>${org.eclipse.core.commands-maven}</version>
      </dependency>

      <dependency>
        <groupId>org.eclipse.scout.sdk.deps</groupId>
        <artifactId>org.eclipse.equinox</artifactId>
        <version>${org.eclipse.equinox-maven}</version>
      </dependency>

      <dependency>
        <groupId>org.eclipse.scout.sdk.deps</groupId>
        <artifactId>org.eclipse.equinox.common</artifactId>
        <version>${org.eclipse.equinox.common-maven}</version>
      </dependency>

      <dependency>
        <groupId>org.eclipse.scout.sdk.deps</groupId>
        <artifactId>org.eclipse.equinox.preferences</artifactId>
        <version>${org.eclipse.equinox.preferences-maven}</version>
      </dependency>

      <dependency>
        <groupId>org.eclipse.scout.sdk.deps</groupId>
        <artifactId>org.eclipse.equinox.registry</artifactId>
        <version>${org.eclipse.equinox.registry-maven}</version>
      </dependency>

      <dependency>
        <groupId>org.eclipse.scout.sdk.deps</groupId>
        <artifactId>org.eclipse.equinox.security</artifactId>
        <version>${org.eclipse.equinox.security-maven}</version>
      </dependency>

      <dependency>
        <groupId>org.eclipse.scout.sdk.deps</groupId>
        <artifactId>org.eclipse.compare</artifactId>
        <version>${org.eclipse.compare-maven}</version>
      </dependency>

      <dependency>
        <groupId>org.eclipse.scout.sdk.deps</groupId>
        <artifactId>org.eclipse.core.expressions</artifactId>
        <version>${org.eclipse.core.expressions-maven}</version>
      </dependency>

      <dependency>
        <groupId>org.eclipse.scout.sdk.deps</groupId>
        <artifactId>org.eclipse.core.filesystem</artifactId>
        <version>${org.eclipse.core.filesystem-maven}</version>
      </dependency>

      <dependency>
        <groupId>org.eclipse.scout.sdk.deps</groupId>
        <artifactId>org.eclipse.core.variables</artifactId>
        <version>${org.eclipse.core.variables-maven}</version>
      </dependency>

      <dependency>
        <groupId>org.eclipse.scout.sdk.deps</groupId>
        <artifactId>org.eclipse.core.resources</artifactId>
        <version>${org.eclipse.core.resources-maven}</version>
      </dependency>

      <dependency>
        <groupId>org.eclipse.scout.sdk.deps</groupId>
        <artifactId>org.eclipse.core.runtime</artifactId>
        <version>${org.eclipse.core.runtime-maven}</version>
      </dependency>

      <dependency>
        <groupId>org.eclipse.scout.sdk.deps</groupId>
        <artifactId>org.eclipse.jdt.core.manipulation</artifactId>
        <version>${org.eclipse.jdt.core.manipulation-maven}</version>
      </dependency>

      <dependency>
        <groupId>org.eclipse.scout.sdk.deps</groupId>
        <artifactId>org.eclipse.jdt.core</artifactId>
        <version>${org.eclipse.jdt.core-maven}</version>
      </dependency>

      <dependency>
        <groupId>org.eclipse.scout.sdk.deps</groupId>
        <artifactId>org.eclipse.debug.core</artifactId>
        <version>${org.eclipse.debug.core-maven}</version>
      </dependency>

      <dependency>
        <groupId>org.eclipse.scout.sdk.deps</groupId>
        <artifactId>org.eclipse.debug.ui</artifactId>
        <version>${org.eclipse.debug.ui-maven}</version>
      </dependency>

      <dependency>
        <groupId>org.eclipse.scout.sdk.deps</groupId>
        <artifactId>org.eclipse.jdt.junit</artifactId>
        <version>${org.eclipse.jdt.junit-maven}</version>
      </dependency>

      <dependency>
        <groupId>org.eclipse.scout.sdk.deps</groupId>
        <artifactId>org.eclipse.jdt.debug.ui</artifactId>
        <version>${org.eclipse.jdt.debug.ui-maven}</version>
      </dependency>

      <dependency>
        <groupId>org.eclipse.scout.sdk.deps</groupId>
        <artifactId>org.eclipse.jdt.launching</artifactId>
        <version>${org.eclipse.jdt.launching-maven}</version>
      </dependency>

      <dependency>
        <groupId>org.eclipse.scout.sdk.deps</groupId>
        <artifactId>org.eclipse.jdt.ui</artifactId>
        <version>${org.eclipse.jdt.ui-maven}</version>
      </dependency>

      <dependency>
        <groupId>org.eclipse.scout.sdk.deps</groupId>
        <artifactId>org.eclipse.jface.text</artifactId>
        <version>${org.eclipse.jface.text-maven}</version>
      </dependency>

      <dependency>
        <groupId>org.eclipse.scout.sdk.deps</groupId>
        <artifactId>org.eclipse.ltk.core.refactoring</artifactId>
        <version>${org.eclipse.ltk.core.refactoring-maven}</version>
      </dependency>

      <dependency>
        <groupId>org.eclipse.scout.sdk.deps</groupId>
        <artifactId>org.eclipse.ltk.ui.refactoring</artifactId>
        <version>${org.eclipse.ltk.ui.refactoring-maven}</version>
      </dependency>

      <dependency>
        <groupId>org.eclipse.scout.sdk.deps</groupId>
        <artifactId>org.eclipse.m2e.core</artifactId>
        <version>${org.eclipse.m2e.core-maven}</version>
      </dependency>

      <dependency>
        <groupId>org.eclipse.scout.sdk.deps</groupId>
        <artifactId>org.eclipse.m2e.core.ui</artifactId>
        <version>${org.eclipse.m2e.core.ui-maven}</version>
      </dependency>

      <dependency>
        <groupId>org.apache.maven.archetype</groupId>
        <artifactId>archetype-catalog</artifactId>
        <version>2.4</version>
      </dependency>

      <dependency>
        <groupId>org.apache.maven.archetype</groupId>
        <artifactId>archetype-common</artifactId>
        <version>2.4</version>
      </dependency>

      <dependency>
        <groupId>org.eclipse.scout.sdk.deps</groupId>
        <artifactId>org.eclipse.m2e.archetype.common</artifactId>
        <version>${org.eclipse.m2e.archetype.common-maven}</version>
      </dependency>

      <dependency>
        <groupId>org.eclipse.scout.sdk.deps</groupId>
        <artifactId>org.eclipse.pde.core</artifactId>
        <version>${org.eclipse.pde.core-maven}</version>
      </dependency>

      <dependency>
        <groupId>org.eclipse.scout.sdk.deps</groupId>
        <artifactId>org.eclipse.pde.ui</artifactId>
        <version>${org.eclipse.pde.ui-maven}</version>
      </dependency>

      <dependency>
        <groupId>org.eclipse.scout.sdk.deps</groupId>
        <artifactId>org.eclipse.search</artifactId>
        <version>${org.eclipse.search-maven}</version>
      </dependency>

      <dependency>
        <groupId>org.eclipse.scout.sdk.deps</groupId>
        <artifactId>org.eclipse.ui.console</artifactId>
        <version>${org.eclipse.ui.console-maven}</version>
      </dependency>

      <dependency>
        <groupId>org.eclipse.scout.sdk.deps</groupId>
        <artifactId>org.eclipse.ui.editors</artifactId>
        <version>${org.eclipse.ui.editors-maven}</version>
      </dependency>

      <dependency>
        <groupId>org.eclipse.scout.sdk.deps</groupId>
        <artifactId>org.eclipse.ui.ide</artifactId>
        <version>${org.eclipse.ui.ide-maven}</version>
      </dependency>

      <dependency>
        <groupId>org.eclipse.scout.sdk.deps</groupId>
        <artifactId>org.eclipse.ui.workbench</artifactId>
        <version>${org.eclipse.ui.workbench-maven}</version>
      </dependency>

      <dependency>
        <groupId>org.eclipse.scout.sdk.deps</groupId>
        <artifactId>org.eclipse.ui</artifactId>
        <version>${org.eclipse.ui-maven}</version>
      </dependency>

      <dependency>
        <groupId>org.apache.maven</groupId>
        <artifactId>maven-embedder</artifactId>
        <version>3.3.9</version>
      </dependency>

      <dependency>
        <groupId>ch.qos.logback</groupId>
        <artifactId>logback-classic</artifactId>
        <version>1.2.2</version>
      </dependency>

      <dependency>
        <groupId>org.slf4j</groupId>
        <artifactId>jul-to-slf4j</artifactId>
        <version>1.7.25</version>
      </dependency>

      <dependency>
        <groupId>org.eclipse.aether</groupId>
        <artifactId>aether-connector-basic</artifactId>
        <version>1.0.2.v20150114</version>
      </dependency>

      <dependency>
        <groupId>org.eclipse.aether</groupId>
        <artifactId>aether-transport-wagon</artifactId>
        <version>1.0.2.v20150114</version>
      </dependency>

      <dependency>
        <groupId>io.takari.aether</groupId>
        <artifactId>aether-connector-okhttp</artifactId>
        <version>0.16.0</version>
      </dependency>

      <dependency>
        <groupId>org.apache.maven.wagon</groupId>
        <artifactId>wagon-provider-api</artifactId>
        <version>2.10</version>
      </dependency>

      <dependency>
        <groupId>org.apache.commons</groupId>
        <artifactId>commons-lang3</artifactId>
        <version>3.1</version>
      </dependency>

      <dependency>
        <groupId>wsdl4j</groupId>
        <artifactId>wsdl4j</artifactId>
        <version>1.6.2</version>
      </dependency>

      <!-- Test Dependencies -->
      <dependency>
        <groupId>org.slf4j</groupId>
        <artifactId>slf4j-api</artifactId>
        <version>1.7.25</version>
      </dependency>

      <dependency>
        <groupId>com.google.guava</groupId>
        <artifactId>guava</artifactId>
        <version>18.0</version>
      </dependency>

      <dependency>
        <groupId>junit</groupId>
        <artifactId>junit</artifactId>
        <version>4.12</version>
      </dependency>

      <dependency>
        <groupId>org.eclipse.scout.rt</groupId>
        <artifactId>org.eclipse.scout.rt</artifactId>
        <version>${org.eclipse.scout.rt_version}</version>
        <type>pom</type>
        <scope>import</scope>
      </dependency>
    </dependencies>
  </dependencyManagement>

  <build>
    <pluginManagement>
      <plugins>
        <plugin>
          <groupId>org.eclipse.scout</groupId>
          <artifactId>eclipse-settings-maven-plugin</artifactId>
          <dependencies>
            <dependency>
              <groupId>org.eclipse.scout.sdk</groupId>
              <artifactId>org.eclipse.scout.sdk-settings</artifactId>
              <version>${project.version}</version>
            </dependency>
          </dependencies>
        </plugin>
      </plugins>
    </pluginManagement>
    <plugins>
      <plugin>
        <groupId>org.codehaus.mojo</groupId>
        <artifactId>flatten-maven-plugin</artifactId>
        <inherited>false</inherited>
        <configuration>
          <flattenMode>bom</flattenMode>
        </configuration>
      </plugin>
      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-scm-plugin</artifactId>
        <configuration>
          <basedir>${project.basedir}/..</basedir>
        </configuration>
      </plugin>
    </plugins>
  </build>

  <!-- primarily for license header generation -->
  <inceptionYear>2015</inceptionYear>

  <organization>
    <name>Eclipse Scout Project</name>
    <url>https://eclipse.org/scout</url>
  </organization>

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

  <developers>
    <developer>
      <name>Eclipse Scout Committers</name>
      <email>scout-dev@eclipse.org</email>
      <organization>Eclipse</organization>
      <organizationUrl>https://www.eclipse.org</organizationUrl>
    </developer>
  </developers>

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

  <scm>
    <connection>scm:git:git://git.eclipse.org/gitroot/scout/org.eclipse.scout.sdk.git</connection>
    <developerConnection>scm:git:ssh://${eclipse_gerrit_username}@git.eclipse.org:29418/scout/org.eclipse.scout.sdk</developerConnection>
    <tag>7.1.0.003_Photon_M3</tag>
    <url>http://git.eclipse.org/c/scout/org.eclipse.scout.sdk.git/</url>
  </scm>

  <issueManagement>
    <system>Bugzilla</system>
    <url>https://bugs.eclipse.org/bugs/buglist.cgi?classification=Technology;component=Scout SDK;product=Scout;query_format=advanced</url>
  </issueManagement>

  <repositories>
    <repository>
      <snapshots>
        <enabled>false</enabled>
      </snapshots>
      <id>eclipse.release</id>
      <name>eclipse-release-repo</name>
      <url>https://repo.eclipse.org/content/groups/releases/</url>
    </repository>
    <repository>
      <snapshots></snapshots>
      <id>eclipse.snapshot</id>
      <name>eclipse-snapshot-repo</name>
      <url>https://repo.eclipse.org/content/groups/snapshots/</url>
    </repository>
  </repositories>

  <pluginRepositories>
    <pluginRepository>
      <snapshots>
        <enabled>false</enabled>
      </snapshots>
      <id>eclipse.release</id>
      <name>eclipse-release-repo</name>
      <url>https://repo.eclipse.org/content/groups/releases/</url>
    </pluginRepository>
    <pluginRepository>
      <snapshots></snapshots>
      <id>eclipse.snapshot</id>
      <name>eclipse-snapshot-repo</name>
      <url>https://repo.eclipse.org/content/groups/snapshots/</url>
    </pluginRepository>
  </pluginRepositories>

  <distributionManagement>
    <repository>
      <id>repo.eclipse.org</id>
      <name>Scout Repository - Releases</name>
      <url>https://repo.eclipse.org/content/repositories/scout-releases/</url>
    </repository>
    <snapshotRepository>
      <id>repo.eclipse.org</id>
      <name>Scout Repository - Snapshots</name>
      <url>https://repo.eclipse.org/content/repositories/scout-snapshots/</url>
    </snapshotRepository>
  </distributionManagement>

  <profiles>
    <profile>
      <id>release.setversion</id>
      <activation>
        <activeByDefault>false</activeByDefault>
      </activation>
      <build>
        <plugins>
          <plugin>
            <groupId>com.google.code.maven-replacer-plugin</groupId>
            <artifactId>replacer</artifactId>
            <executions>
              <execution>
                <id>replace_scout_version_parent_pom</id>
                <goals>
                  <goal>replace</goal>
                </goals>
                <phase>generate-resources</phase>
                <configuration>
                  <basedir>${project.basedir}</basedir>
                  <includes>
                    <include>pom.xml</include>
                  </includes>
                  <token>(\\x3corg.eclipse.scout.rt_version\\x3e)[0-9A-Z\\.\\-]*(\\x3c/org.eclipse.scout.rt_version\\x3e)</token>
                  <value>$1${org.eclipse.scout.rt_version}$2</value>
                  <unescape>true</unescape>
                </configuration>
              </execution>
              <execution>
                <id>replace_scout_version_project_helper</id>
                <goals>
                  <goal>replace</goal>
                </goals>
                <phase>generate-resources</phase>
                <configuration>
                  <basedir>${project.basedir}/..</basedir>
                  <includes>
                    <include>**/ScoutProjectNewHelper.java</include>
                  </includes>
                  <token>(_VERSION = \\")[0-9A-Z\\.\\-]*(\\";)</token>
                  <value>$1${org.eclipse.scout.rt_version}$2</value>
                  <unescape>true</unescape>
                </configuration>
              </execution>
            </executions>
          </plugin>
        </plugins>
      </build>
    </profile>

    <profile>
      <id>release.checkin</id>
      <build>
        <plugins>
          <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-scm-plugin</artifactId>
            <configuration>
              <includes>*/pom.xml,**/ScoutProjectNewHelper.java,*/src/main/resources/archetype-resources/*/pom.xml,*/feature.xml,*/category.xml</includes>
            </configuration>
          </plugin>
        </plugins>
      </build>
    </profile>
  </profiles>
</project>
