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

  <groupId>org.eclipse.scout</groupId>
  <artifactId>maven_plugin_version-master</artifactId>
  <version>3.8.0</version>
  <packaging>pom</packaging>
  <name>Maven Master Plugin Version Configuration</name>
  <description>Maven Master hosted at Eclipse Scout</description>

  <properties>
    <master_deploy_ReleaseId>repo.eclipse.org</master_deploy_ReleaseId>
    <master_deploy_ReleaseUrl>https://repo.eclipse.org/content/repositories/scout-releases/</master_deploy_ReleaseUrl>
    <master_deploy_SnapshotId>repo.eclipse.org</master_deploy_SnapshotId>
    <master_deploy_SnapshotUrl>https://repo.eclipse.org/content/repositories/scout-snapshots/</master_deploy_SnapshotUrl>

    <master_node_version>v12.12.0</master_node_version>
    <master_pnpm_version>4.0.2</master_pnpm_version>
    <master_scout_releng_version>^10.0.0</master_scout_releng_version>

    <!-- Release Control -->
    <master_release_pushChanges>false</master_release_pushChanges>
    <master_release_newVersion>${project.version}</master_release_newVersion>
    <master_release_tagName>${master_release_newVersion}</master_release_tagName>
    <master_release_checkinMessage>[release] version updated to ${project.version}</master_release_checkinMessage>
    <master_ossrh_autoReleaseAfterClose>false</master_ossrh_autoReleaseAfterClose>

    <!-- ####################################################################### -->
    <!-- Maven Plugin versions, ordered like http://maven.apache.org/plugins/ -->
    <!-- ####################################################################### -->
    <!-- Core plugins. -->
    <!-- Plugins corresponding to default core phases (ie. clean, compile). They may have multiple goals as well. -->
    <!-- ####################################################################### -->
    <master_plugin_clean_version>3.1.0</master_plugin_clean_version>
    <master_plugin_compiler_version>3.8.0</master_plugin_compiler_version>
    <master_plugin_deploy_version>2.8.2</master_plugin_deploy_version>
    <master_plugin_failsafe_version>2.22.1</master_plugin_failsafe_version>
    <master_plugin_install_version>2.5.2</master_plugin_install_version>
    <master_plugin_resources_version>3.1.0</master_plugin_resources_version>
    <master_plugin_site_version>3.7.1</master_plugin_site_version>
    <master_plugin_surefire_version>2.22.1</master_plugin_surefire_version>

    <!-- ####################################################################### -->
    <!-- Packaging types/tools -->
    <!-- These plugins relate to packaging respective artifact types. -->
    <!-- ####################################################################### -->
    <master_plugin_ear_version>3.0.1</master_plugin_ear_version>
    <master_plugin_jar_version>3.1.1</master_plugin_jar_version>
    <master_plugin_war_version>3.2.2</master_plugin_war_version>
    <master_plugin_source_version>3.0.1</master_plugin_source_version>

    <!-- ####################################################################### -->
    <!-- Reporting plugins -->
    <!-- Plugins which generate reports, are configured as reports in the POM and run under the site generation lifecycle. -->
    <!-- ####################################################################### -->
    <master_plugin_changelog_version>2.3</master_plugin_changelog_version>
    <master_plugin_javadoc_version>3.0.1</master_plugin_javadoc_version>
    <master_plugin_jxr_version>3.0.0</master_plugin_jxr_version>
    <master_plugin_project-info-reports_version>3.0.0</master_plugin_project-info-reports_version>

    <!-- ####################################################################### -->
    <!-- Tools -->
    <!-- These are miscellaneous tools available through Maven by default. -->
    <!-- ####################################################################### -->
    <master_plugin_ant_version>1.10.5</master_plugin_ant_version>
    <master_plugin_antrun_version>1.8</master_plugin_antrun_version>
    <master_plugin_assembly_version>3.1.0</master_plugin_assembly_version>
    <master_plugin_dependency_version>3.1.1</master_plugin_dependency_version>
    <master_plugin_enforcer_version>1.4.1</master_plugin_enforcer_version>
    <master_plugin_gpg_version>1.6</master_plugin_gpg_version>
    <master_plugin_release_version>2.5.3</master_plugin_release_version>
    <master_plugin_scm_version>1.11.1</master_plugin_scm_version>
    <master_plugin_security_dependency_check_version>5.2.2</master_plugin_security_dependency_check_version>

    <!-- ####################################################################### -->
    <!-- Retired -->
    <!-- ####################################################################### -->
    <master_plugin_eclipse_version>2.10</master_plugin_eclipse_version>

    <!-- ####################################################################### -->
    <!-- Outside The Maven Land (List at http://maven.apache.org/plugins/) -->
    <!-- ####################################################################### -->
    <!-- http://www.mojohaus.org/animal-sniffer/ -->
    <!-- https://github.com/mojohaus/animal-sniffer -->
    <master_plugin_animal-sniffer_version>1.17</master_plugin_animal-sniffer_version>

    <!-- http://www.mojohaus.org/build-helper-maven-plugin -->
    <!-- https://github.com/mojohaus/build-helper-maven-plugin -->
    <master_plugin_build-helper_version>3.0.0</master_plugin_build-helper_version>

    <!-- http://www.mojohaus.org/versions-maven-plugin/ -->
    <!-- https://github.com/mojohaus/versions-maven-plugin -->
    <master_plugin_versions_version>2.7</master_plugin_versions_version>

    <!-- https://codehaus-cargo.github.io/cargo/Home.html -->
    <master_plugin_cargo_version>1.7.1</master_plugin_cargo_version>

    <!-- http://tomcat.apache.org/maven-plugin.html -->
    <master_plugin_tomcat7_version>2.2</master_plugin_tomcat7_version>

    <!-- ####################################################################### -->
    <!-- Outside The Maven Land (Own list) -->
    <!-- ####################################################################### -->
    <!-- http://www.mojohaus.org/exec-maven-plugin/ -->
    <master_plugin_exec_version>1.6.0</master_plugin_exec_version>

    <!-- https://github.com/basepom/duplicate-finder-maven-plugin/releases -->
    <master_plugin_duplicate-finder_version>1.3.0</master_plugin_duplicate-finder_version>

    <!-- https://github.com/wildfly/jandex-maven-plugin -->
    <master_plugin_jandex_version>1.0.5</master_plugin_jandex_version>

    <!-- Plugin version of 'jaxws-maven-plugin' to generate webservice stub. -->
    <!-- http://www.mojohaus.org/jaxws-maven-plugin/ -->
    <!-- https://github.com/mojohaus/jaxws-maven-plugin/issues/54 -->
    <!-- https://github.com/phax/jaxws-maven-plugin -->
    <master_plugin_jaxws_version>2.6.1</master_plugin_jaxws_version>

    <!-- Version to generate JAX-WS artifacts -->
    <!-- https://github.com/javaee/metro-jax-ws -->
    <!-- http://www.mojohaus.org/jaxws-maven-plugin/ -->
    <master_dependency_jaxws_version>2.3.1</master_dependency_jaxws_version>

    <!-- http://site.kuali.org/maven/plugins/properties-maven-plugin/latest/index.html -->
    <master_plugin_properties_version>2.0.1</master_plugin_properties_version>

    <!-- http://code.mycila.com/license-maven-plugin/ -->
    <!-- https://github.com/mycila/license-maven-plugin -->
    <master_plugin_license_version>3.0</master_plugin_license_version>

    <!-- http://felix.apache.org/components/bundle-plugin/ -->
    <!-- http://svn.apache.org/viewvc/felix/releases/maven-bundle-plugin-4.1.0/ -->
    <master_plugin_bundle_version>4.1.0</master_plugin_bundle_version>

    <!-- https://github.com/ktoso/maven-git-commit-id-plugin -->
    <master_plugin_git-commit-id_version>2.2.5</master_plugin_git-commit-id_version>

    <!-- https://www.eclemma.org/jacoco/trunk/doc/maven.html -->
    <master_plugin_jacoco_version>0.8.2</master_plugin_jacoco_version>

    <!-- https://github.com/Ekryd/sortpom -->
    <master_plugin_sortpom_version>2.10.0</master_plugin_sortpom_version>

    <!-- http://www.mojohaus.org/flatten-maven-plugin/ -->
    <!-- https://github.com/mojohaus/flatten-maven-plugin -->
    <master_plugin_flatten_version>1.0.1</master_plugin_flatten_version>

    <!-- https://code.google.com/archive/p/maven-replacer-plugin/ -->
    <!-- https://github.com/dtracers/maven-replacer-plugin -->
    <master_plugin_replacer_version>1.5.3</master_plugin_replacer_version>

    <!-- https://github.com/sonatype/nexus-maven-plugins/tree/master/staging/maven-plugin -->
    <master_plugin_nexus-staging_version>1.6.8</master_plugin_nexus-staging_version>

    <!-- https://github.com/BSI-Business-Systems-Integration-AG/eclipse-settings-maven-plugin -->
    <master_plugin_eclipse-settings_version>3.0.3</master_plugin_eclipse-settings_version>
    <master_dependency_eclipseSettings_master_version>3.8.0</master_dependency_eclipseSettings_master_version>

    <!-- https://www.eclipse.org/tycho/sitedocs/index.html -->
    <!-- version of Tycho used by org.eclipse.scout.sdk.core.releng build and profiles eclipse-sign and eclipse-pack -->
    <master_plugin_tycho_version>1.3.0</master_plugin_tycho_version>

    <!-- https://www.eclipse.org/tycho/ -->
    <master_dependency_tycho-compiler_version>${master_plugin_tycho_version}</master_dependency_tycho-compiler_version>

    <!-- use 3.16 compiler which matches Eclipse 2018-12 -->
    <master_ecj-compiler_version>3.16.0</master_ecj-compiler_version>

    <!-- https://www.eclipse.org/tycho/sitedocs-extras/index.html -->
    <master_plugin_tycho-extras_version>${master_plugin_tycho_version}</master_plugin_tycho-extras_version>

    <!-- https://www.eclipse.org/cbi/sitedocs/eclipse-jarsigner-plugin/ -->
    <master_plugin_jarsigner_version>1.1.5</master_plugin_jarsigner_version>

    <!-- https://github.com/eirslett/frontend-maven-plugin -->
    <master_plugin_frontend_version>1.8.0</master_plugin_frontend_version>
  </properties>

  <build>
    <pluginManagement>
      <plugins>
        <plugin>
          <groupId>org.apache.maven.plugins</groupId>
          <artifactId>maven-resources-plugin</artifactId>
          <version>${master_plugin_resources_version}</version>
        </plugin>

        <plugin>
          <groupId>org.apache.maven.plugins</groupId>
          <artifactId>maven-source-plugin</artifactId>
          <version>${master_plugin_source_version}</version>
        </plugin>

        <plugin>
          <groupId>org.apache.maven.plugins</groupId>
          <artifactId>maven-compiler-plugin</artifactId>
          <version>${master_plugin_compiler_version}</version>
        </plugin>

        <plugin>
          <groupId>org.apache.maven.plugins</groupId>
          <artifactId>maven-surefire-plugin</artifactId>
          <version>${master_plugin_surefire_version}</version>
        </plugin>

        <plugin>
          <groupId>org.apache.maven.plugins</groupId>
          <artifactId>maven-failsafe-plugin</artifactId>
          <version>${master_plugin_failsafe_version}</version>
        </plugin>

        <plugin>
          <groupId>org.apache.maven.plugins</groupId>
          <artifactId>maven-jar-plugin</artifactId>
          <version>${master_plugin_jar_version}</version>
        </plugin>

        <plugin>
          <groupId>org.apache.maven.plugins</groupId>
          <artifactId>maven-changelog-plugin</artifactId>
          <version>${master_plugin_changelog_version}</version>
        </plugin>

        <plugin>
          <groupId>org.apache.maven.plugins</groupId>
          <artifactId>maven-javadoc-plugin</artifactId>
          <version>${master_plugin_javadoc_version}</version>
        </plugin>

        <plugin>
          <groupId>org.apache.maven.plugins</groupId>
          <artifactId>maven-jxr-plugin</artifactId>
          <version>${master_plugin_jxr_version}</version>
        </plugin>

        <plugin>
          <groupId>org.apache.maven.plugins</groupId>
          <artifactId>maven-clean-plugin</artifactId>
          <version>${master_plugin_clean_version}</version>
        </plugin>

        <plugin>
          <groupId>org.apache.maven.plugins</groupId>
          <artifactId>maven-install-plugin</artifactId>
          <version>${master_plugin_install_version}</version>
        </plugin>

        <plugin>
          <groupId>org.apache.maven.plugins</groupId>
          <artifactId>maven-deploy-plugin</artifactId>
          <version>${master_plugin_deploy_version}</version>
        </plugin>

        <plugin>
          <groupId>org.apache.maven.plugins</groupId>
          <artifactId>maven-site-plugin</artifactId>
          <version>${master_plugin_site_version}</version>
        </plugin>

        <plugin>
          <groupId>org.apache.maven.plugins</groupId>
          <artifactId>maven-dependency-plugin</artifactId>
          <version>${master_plugin_dependency_version}</version>
        </plugin>

        <plugin>
          <groupId>org.apache.maven.plugins</groupId>
          <artifactId>maven-assembly-plugin</artifactId>
          <version>${master_plugin_assembly_version}</version>
        </plugin>

        <plugin>
          <groupId>org.apache.maven.plugins</groupId>
          <artifactId>maven-release-plugin</artifactId>
          <version>${master_plugin_release_version}</version>
        </plugin>

        <plugin>
          <groupId>org.apache.maven.plugins</groupId>
          <artifactId>maven-gpg-plugin</artifactId>
          <version>${master_plugin_gpg_version}</version>
        </plugin>

        <plugin>
          <groupId>org.apache.maven.plugins</groupId>
          <artifactId>maven-project-info-reports-plugin</artifactId>
          <version>${master_plugin_project-info-reports_version}</version>
        </plugin>

        <plugin>
          <groupId>org.apache.maven.plugins</groupId>
          <artifactId>maven-eclipse-plugin</artifactId>
          <version>${master_plugin_eclipse_version}</version>
        </plugin>

        <plugin>
          <groupId>org.apache.maven.plugins</groupId>
          <artifactId>maven-war-plugin</artifactId>
          <version>${master_plugin_war_version}</version>
        </plugin>

        <plugin>
          <groupId>org.apache.maven.plugins</groupId>
          <artifactId>maven-ear-plugin</artifactId>
          <version>${master_plugin_ear_version}</version>
        </plugin>

        <plugin>
          <groupId>org.apache.maven.plugins</groupId>
          <artifactId>maven-antrun-plugin</artifactId>
          <version>${master_plugin_antrun_version}</version>
          <dependencies>
            <dependency>
              <groupId>org.apache.ant</groupId>
              <artifactId>ant</artifactId>
              <version>${master_plugin_ant_version}</version>
            </dependency>
            <dependency>
              <groupId>org.apache.ant</groupId>
              <artifactId>ant-launcher</artifactId>
              <version>${master_plugin_ant_version}</version>
            </dependency>
          </dependencies>
        </plugin>

        <plugin>
          <groupId>org.apache.maven.plugins</groupId>
          <artifactId>maven-enforcer-plugin</artifactId>
          <version>${master_plugin_enforcer_version}</version>
        </plugin>

        <plugin>
          <groupId>org.apache.maven.plugins</groupId>
          <artifactId>maven-scm-plugin</artifactId>
          <version>${master_plugin_scm_version}</version>
          <configuration>
            <providerImplementations>
              <git>jgit</git>
            </providerImplementations>
          </configuration>
          <dependencies>
            <dependency>
              <groupId>org.apache.maven.scm</groupId>
              <artifactId>maven-scm-provider-jgit</artifactId>
              <version>${master_plugin_scm_version}</version>
            </dependency>
            <dependency>
              <groupId>org.eclipse.jgit</groupId>
              <artifactId>org.eclipse.jgit</artifactId>
              <version>5.2.0.201812061821-r</version>
            </dependency>
          </dependencies>
        </plugin>

        <plugin>
          <groupId>org.codehaus.mojo</groupId>
          <artifactId>exec-maven-plugin</artifactId>
          <version>${master_plugin_exec_version}</version>
        </plugin>

        <plugin>
          <groupId>org.codehaus.mojo</groupId>
          <artifactId>build-helper-maven-plugin</artifactId>
          <version>${master_plugin_build-helper_version}</version>
        </plugin>

        <plugin>
          <groupId>org.codehaus.mojo</groupId>
          <artifactId>animal-sniffer-maven-plugin</artifactId>
          <version>${master_plugin_animal-sniffer_version}</version>
        </plugin>

        <plugin>
          <groupId>org.codehaus.mojo</groupId>
          <artifactId>versions-maven-plugin</artifactId>
          <version>${master_plugin_versions_version}</version>
        </plugin>

        <plugin>
          <groupId>org.basepom.maven</groupId>
          <artifactId>duplicate-finder-maven-plugin</artifactId>
          <version>${master_plugin_duplicate-finder_version}</version>
        </plugin>

        <plugin>
          <groupId>org.jboss.jandex</groupId>
          <artifactId>jandex-maven-plugin</artifactId>
          <version>${master_plugin_jandex_version}</version>
        </plugin>

        <plugin>
          <groupId>com.helger.maven</groupId>
          <artifactId>jaxws-maven-plugin</artifactId>
          <version>${master_plugin_jaxws_version}</version>
        </plugin>

        <plugin>
          <groupId>org.codehaus.cargo</groupId>
          <artifactId>cargo-maven2-plugin</artifactId>
          <version>${master_plugin_cargo_version}</version>
        </plugin>

        <plugin>
          <groupId>org.kuali.maven.plugins</groupId>
          <artifactId>properties-maven-plugin</artifactId>
          <version>${master_plugin_properties_version}</version>
        </plugin>

        <plugin>
          <groupId>org.apache.tomcat.maven</groupId>
          <artifactId>tomcat7-maven-plugin</artifactId>
          <version>${master_plugin_tomcat7_version}</version>
        </plugin>

        <plugin>
          <groupId>com.mycila</groupId>
          <artifactId>license-maven-plugin</artifactId>
          <version>${master_plugin_license_version}</version>
        </plugin>

        <plugin>
          <groupId>pl.project13.maven</groupId>
          <artifactId>git-commit-id-plugin</artifactId>
          <version>${master_plugin_git-commit-id_version}</version>
        </plugin>

        <plugin>
          <groupId>org.jacoco</groupId>
          <artifactId>jacoco-maven-plugin</artifactId>
          <version>${master_plugin_jacoco_version}</version>
        </plugin>

        <plugin>
          <groupId>com.github.ekryd.sortpom</groupId>
          <artifactId>sortpom-maven-plugin</artifactId>
          <version>${master_plugin_sortpom_version}</version>
        </plugin>

        <plugin>
          <groupId>org.codehaus.mojo</groupId>
          <artifactId>flatten-maven-plugin</artifactId>
          <version>${master_plugin_flatten_version}</version>
        </plugin>

        <plugin>
          <groupId>com.google.code.maven-replacer-plugin</groupId>
          <artifactId>replacer</artifactId>
          <version>${master_plugin_replacer_version}</version>
        </plugin>

        <plugin>
          <groupId>org.sonatype.plugins</groupId>
          <artifactId>nexus-staging-maven-plugin</artifactId>
          <version>${master_plugin_nexus-staging_version}</version>
        </plugin>

        <plugin>
          <groupId>org.apache.felix</groupId>
          <artifactId>maven-bundle-plugin</artifactId>
          <version>${master_plugin_bundle_version}</version>
        </plugin>

        <plugin>
          <groupId>org.eclipse.tycho</groupId>
          <artifactId>tycho-maven-plugin</artifactId>
          <version>${master_plugin_tycho_version}</version>
        </plugin>

        <plugin>
          <groupId>org.eclipse.tycho.extras</groupId>
          <artifactId>tycho-pack200a-plugin</artifactId>
          <version>${master_plugin_tycho_version}</version>
        </plugin>

        <plugin>
          <groupId>org.eclipse.cbi.maven.plugins</groupId>
          <artifactId>eclipse-jarsigner-plugin</artifactId>
          <version>${master_plugin_jarsigner_version}</version>
        </plugin>

        <plugin>
          <groupId>org.eclipse.tycho.extras</groupId>
          <artifactId>tycho-pack200b-plugin</artifactId>
          <version>${master_plugin_tycho_version}</version>
        </plugin>

        <plugin>
          <groupId>org.eclipse.tycho</groupId>
          <artifactId>target-platform-configuration</artifactId>
          <version>${master_plugin_tycho_version}</version>
        </plugin>

        <plugin>
          <groupId>org.eclipse.tycho</groupId>
          <artifactId>tycho-packaging-plugin</artifactId>
          <version>${master_plugin_tycho_version}</version>
        </plugin>

        <plugin>
          <groupId>org.eclipse.tycho</groupId>
          <artifactId>tycho-p2-director-plugin</artifactId>
          <version>${master_plugin_tycho_version}</version>
        </plugin>

        <plugin>
          <groupId>org.eclipse.tycho</groupId>
          <artifactId>tycho-p2-repository-plugin</artifactId>
          <version>${master_plugin_tycho_version}</version>
        </plugin>

        <plugin>
          <groupId>org.eclipse.tycho.extras</groupId>
          <artifactId>tycho-source-feature-plugin</artifactId>
          <version>${master_plugin_tycho-extras_version}</version>
        </plugin>

        <plugin>
          <groupId>org.eclipse.tycho.extras</groupId>
          <artifactId>tycho-custom-bundle-plugin</artifactId>
          <version>${master_plugin_tycho-extras_version}</version>
        </plugin>

        <plugin>
          <groupId>org.eclipse.tycho</groupId>
          <artifactId>tycho-p2-plugin</artifactId>
          <version>${master_plugin_tycho_version}</version>
        </plugin>

        <plugin>
          <groupId>org.eclipse.tycho</groupId>
          <artifactId>tycho-p2-publisher-plugin</artifactId>
          <version>${master_plugin_tycho_version}</version>
        </plugin>

        <plugin>
          <groupId>org.eclipse.scout</groupId>
          <artifactId>eclipse-settings-maven-plugin</artifactId>
          <version>${master_plugin_eclipse-settings_version}</version>
        </plugin>

        <plugin>
          <groupId>com.github.eirslett</groupId>
          <artifactId>frontend-maven-plugin</artifactId>
          <version>${master_plugin_frontend_version}</version>
        </plugin>

        <plugin>
          <groupId>org.owasp</groupId>
          <artifactId>dependency-check-maven</artifactId>
          <version>${master_plugin_security_dependency_check_version}</version>
        </plugin>
      </plugins>
    </pluginManagement>

    <plugins>
      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-deploy-plugin</artifactId>
        <inherited>false</inherited>
        <configuration>
          <deployAtEnd>${deployAtEnd}</deployAtEnd>
        </configuration>
      </plugin>

      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-release-plugin</artifactId>
        <inherited>false</inherited>
        <configuration>
          <autoVersionSubmodules>true</autoVersionSubmodules>
          <tagNameFormat>@{project.version}</tagNameFormat>
          <pushChanges>false</pushChanges>
          <arguments>${arguments} -Drelease-build</arguments>
          <useReleaseProfile>false</useReleaseProfile>
        </configuration>
      </plugin>

      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-gpg-plugin</artifactId>
        <inherited>false</inherited>
      </plugin>

      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-site-plugin</artifactId>
        <executions>
          <execution>
            <id>attach-descriptor</id>
            <goals>
              <goal>attach-descriptor</goal>
            </goals>
          </execution>
        </executions>
      </plugin>
    </plugins>
  </build>

  <reporting>
    <plugins>
      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-project-info-reports-plugin</artifactId>
      </plugin>

      <plugin>
        <groupId>org.codehaus.mojo</groupId>
        <artifactId>versions-maven-plugin</artifactId>
        <reportSets>
          <reportSet>
            <reports>
              <report>dependency-updates-report</report>
              <report>plugin-updates-report</report>
              <report>property-updates-report</report>
            </reports>
          </reportSet>
        </reportSets>
      </plugin>

      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-jxr-plugin</artifactId>
      </plugin>

      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-changelog-plugin</artifactId>
        <reportSets>
          <reportSet>
            <id>dual-report</id>
            <configuration>
              <type>range</type>
              <range>30</range>
              <displayFileDetailUrl>https://git.eclipse.org/c/scout/maven-master.git/tree/%FILE%</displayFileDetailUrl>
              <displayFileRevDetailUrl>https://git.eclipse.org/c/scout/maven-master.git/tree/%FILE%?id=%REV%</displayFileRevDetailUrl>
              <displayChangeSetDetailUrl>https://git.eclipse.org/c/scout/maven-master.git/commit/?id=%REV%</displayChangeSetDetailUrl>
            </configuration>
            <reports>
              <report>changelog</report>
              <report>file-activity</report>
              <report>dev-activity</report>
            </reports>
          </reportSet>
        </reportSets>
      </plugin>
    </plugins>
  </reporting>
  <url>https://eclipse.org/scout</url>

  <inceptionYear>2015</inceptionYear>

  <licenses>
    <license>
      <name>Eclipse Public License v1.0</name>
      <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/maven-master.git</connection>
    <developerConnection>scm:git:ssh://${eclipse_gerrit_username}@git.eclipse.org:29418/scout/maven-master.git</developerConnection>
    <tag>3.8.0</tag>
    <url>https://git.eclipse.org/c/scout/maven-master.git/</url>
  </scm>

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

  <repositories>
    <repository>
      <snapshots>
        <enabled>true</enabled>
      </snapshots>
      <releases>
        <enabled>false</enabled>
      </releases>
      <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>
      <releases>
        <enabled>true</enabled>
      </releases>
      <id>eclipse.release</id>
      <name>eclipse-release-repo</name>
      <url>https://repo.eclipse.org/content/groups/releases/</url>
    </pluginRepository>
    <pluginRepository>
      <snapshots>
        <enabled>true</enabled>
      </snapshots>
      <releases>
        <enabled>false</enabled>
      </releases>
      <id>eclipse.snapshot</id>
      <name>eclipse-snapshot-repo</name>
      <url>https://repo.eclipse.org/content/groups/snapshots/</url>
    </pluginRepository>
    <!-- Bintray Repository for for snapshots of https://github.com/mojohaus/animal-sniffer -->
    <pluginRepository>
      <snapshots>
        <enabled>false</enabled>
      </snapshots>
      <releases>
        <enabled>true</enabled>
      </releases>
      <id>bintray-bsi-business-systems-integration-ag-scout-eclipse-org</id>
      <name>bintray-plugins</name>
      <url>http://dl.bintray.com/bsi-business-systems-integration-ag/scout-eclipse-org</url>
    </pluginRepository>
  </pluginRepositories>

  <distributionManagement>
    <repository>
      <id>${master_deploy_ReleaseId}</id>
      <name>Scout Repository - Releases</name>
      <url>${master_deploy_ReleaseUrl}</url>
    </repository>
    <snapshotRepository>
      <id>${master_deploy_SnapshotId}</id>
      <name>Scout Repository - Snapshots</name>
      <url>${master_deploy_SnapshotUrl}</url>
    </snapshotRepository>
    <site>
      <id>eclipse.scout.site</id>
      <name>Eclipse Scout Site</name>
      <!-- >workaround for http://jira.codehaus.org/browse/MSITE-671 -->
      <url>http://staging</url>
    </site>
  </distributionManagement>

  <profiles>
    <profile>
      <id>sortpom</id>
      <activation>
        <property>
          <name>sort</name>
        </property>
      </activation>
      <build>
        <plugins>
          <plugin>
            <groupId>com.github.ekryd.sortpom</groupId>
            <artifactId>sortpom-maven-plugin</artifactId>
            <configuration>
              <createBackupFile>false</createBackupFile>
              <predefinedSortOrder>custom_1</predefinedSortOrder>
              <lineSeparator>\n</lineSeparator>
              <keepBlankLines>true</keepBlankLines>
            </configuration>
            <executions>
              <execution>
                <id>sort</id>
                <goals>
                  <goal>sort</goal>
                </goals>
              </execution>
            </executions>
          </plugin>
        </plugins>
      </build>
    </profile>

    <profile>
      <id>release.setversion</id>
      <activation>
        <activeByDefault>false</activeByDefault>
      </activation>
      <properties>
        <enforcer.skip>true</enforcer.skip>
      </properties>
      <build>
        <defaultGoal>org.codehaus.mojo:versions-maven-plugin:set generate-resources</defaultGoal>
        <plugins>
          <plugin>
            <groupId>org.codehaus.mojo</groupId>
            <artifactId>versions-maven-plugin</artifactId>
            <configuration>
              <newVersion>${master_release_newVersion}</newVersion>
              <generateBackupPoms>false</generateBackupPoms>
            </configuration>
          </plugin>

          <plugin>
            <groupId>com.google.code.maven-replacer-plugin</groupId>
            <artifactId>replacer</artifactId>
            <executions>
              <execution>
                <id>replace_tag</id>
                <goals>
                  <goal>replace</goal>
                </goals>
                <phase>generate-resources</phase>
                <configuration>
                  <basedir>${project.basedir}</basedir>
                  <includes>
                    <include>pom.xml</include>
                  </includes>
                  <!-- token finds the <scm><tag> and places the ${master_release_tagName} string there -->
                  <token>(\\x3cscm\\x3e[a-zA-Z0-9\\x3c\\x3e:/@\\s\\.\\{\\}_\\-$]*\\x3ctag\\x3e).*(\\x3c/tag\\x3e[a-zA-Z0-9\\x3c\\x3e:/@\\s\\.\\-?=%;]*\\x3c/scm\\x3e)</token>
                  <value>$1${master_release_tagName}$2</value>
                  <unescape>true</unescape>
                </configuration>
              </execution>
              <execution>
                <id>settings-version</id>
                <goals>
                  <goal>replace</goal>
                </goals>
                <phase>generate-resources</phase>
                <configuration>
                  <basedir>${project.basedir}</basedir>
                  <includes>
                    <include>pom.xml</include>
                  </includes>
                  <!-- token finds the <master_dependency_eclipseSettings_master_version> and places the ${master_release_newVersion} string there -->
                  <token>(\\x3cmaster_dependency_eclipseSettings_master_version\\x3e).*(\\x3c/master_dependency_eclipseSettings_master_version\\x3e)</token>
                  <value>$1${master_release_newVersion}$2</value>
                  <unescape>true</unescape>
                </configuration>
              </execution>
            </executions>
          </plugin>
        </plugins>
      </build>
    </profile>

    <profile>
      <id>release.checkin</id>
      <activation>
        <activeByDefault>false</activeByDefault>
      </activation>
      <build>
        <defaultGoal>scm:add scm:checkin</defaultGoal>
        <plugins>
          <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-scm-plugin</artifactId>
            <configuration>
              <connectionType>developerConnection</connectionType>
              <message>${master_release_checkinMessage}</message>
              <basedir>${project.basedir}/..</basedir>
              <includes>pom.xml,*/pom.xml,package.json,*/package.json</includes>
              <pushChanges>${master_release_pushChanges}</pushChanges>
            </configuration>
          </plugin>
        </plugins>
      </build>
    </profile>

    <profile>
      <id>release.tag</id>
      <activation>
        <activeByDefault>false</activeByDefault>
      </activation>
      <properties>
        <master_release_tagName>${project.version}</master_release_tagName>
      </properties>
      <build>
        <defaultGoal>scm:tag</defaultGoal>
        <plugins>
          <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-scm-plugin</artifactId>
            <configuration>
              <connectionType>developerConnection</connectionType>
              <basedir>${project.basedir}/..</basedir>
              <tag>${master_release_tagName}</tag>
              <pushChanges>${master_release_pushChanges}</pushChanges>
            </configuration>
          </plugin>
        </plugins>
      </build>
    </profile>

    <!-- TODO avd: Delete release profile in a future version
         gpg signing is now explicitly done in eclipse-sign profile for sdk and
         in the sign profile for rt.
      -->
    <profile>
      <id>release</id>
      <activation>
        <property>
          <name>release-build</name>
        </property>
      </activation>
      <build>
        <plugins>
          <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-gpg-plugin</artifactId>
            <executions>
              <execution>
                <id>sign-artifacts</id>
                <goals>
                  <goal>sign</goal>
                </goals>
                <phase>verify</phase>
              </execution>
            </executions>
          </plugin>
        </plugins>
      </build>
    </profile>

    <profile>
      <id>ossrh</id>
      <build>
        <plugins>
          <plugin>
            <groupId>org.sonatype.plugins</groupId>
            <artifactId>nexus-staging-maven-plugin</artifactId>
            <extensions>true</extensions>
            <configuration>
              <serverId>ossrh</serverId>
              <nexusUrl>https://oss.sonatype.org/</nexusUrl>
              <autoReleaseAfterClose>${master_ossrh_autoReleaseAfterClose}</autoReleaseAfterClose>
            </configuration>
          </plugin>
        </plugins>
      </build>
      <distributionManagement>
        <repository>
          <id>ossrh</id>
          <name>Open Source Project Repository Hosting - Releases (Maven Central)</name>
          <url>https://oss.sonatype.org/service/local/staging/deploy/maven2/</url>
        </repository>
      </distributionManagement>
    </profile>
  </profiles>
</project>
