<?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-SNAPSHOT</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-SNAPSHOT</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>master</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>
