<?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.12.1</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>

    <!-- jakarta.xml.ws:jakarta.xml.ws-api 2.3.3 -->
    <master_dependency_jaxws_api_version>2.3.3</master_dependency_jaxws_api_version>

    <!-- Version to generate JAX-WS artifacts -->
    <!-- https://github.com/javaee/metro-jax-ws -->
    <!-- http://www.mojohaus.org/jaxws-maven-plugin/ -->
    <!-- org.glassfish.jaxb:txw2 2.3.2 -->
    <!-- com.sun.xml.ws:jaxws-rt 2.3.2 -->
    <!-- com.sun.xml.ws:jaxws-tools 2.3.2 -->
    <master_dependency_jaxws_version>2.3.2</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>

    <!-- http://www.mojohaus.org/flatten-maven-plugin/ -->
    <!-- https://github.com/mojohaus/flatten-maven-plugin -->
    <master_plugin_flatten_version>1.2.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.12.1</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.9.1</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>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>
    </plugins>
  </build>

  <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>v3.12.1</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>
  </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>
  </distributionManagement>

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