<!--
  ~ Copyright the original author or authors.
  ~
  ~ Licensed under the Apache License, Version 2.0 (the "License");
  ~ you may not use this file except in compliance with the License.
  ~ You may obtain a copy of the License at
  ~
  ~     http://www.apache.org/licenses/LICENSE-2.0
  ~
  ~ Unless required by applicable law or agreed to in writing, software
  ~ distributed under the License is distributed on an "AS IS" BASIS,
  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  ~ See the License for the specific language governing permissions and
  ~ limitations under the License.
  -->

<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/maven-v4_0_0.xsd">
  <modelVersion>4.0.0</modelVersion>

  <groupId>org.citrusframework</groupId>
  <artifactId>citrus-bom</artifactId>
  <version>4.2.1</version>
  <packaging>pom</packaging>
  <name>Citrus :: Catalog :: BOM</name>
  <description>This Bill of Materials POM can be used to ease dependency management when referencing multiple Citrus artifacts using Gradle or Maven</description>
  <url>https://citrusframework.org</url>
  <inceptionYear>2008</inceptionYear>

  <licenses>
    <license>
      <name>The Apache License, Version 2.0</name>
      <url>http://www.apache.org/licenses/LICENSE-2.0.txt</url>
      <distribution>manual</distribution>
      <comments>Citrus is published free of charge under Apache License, Version 2.0. You are allowed to use Citrus to test any kind of software
        (also commercial applications). If you do this, we kindly ask you to tell us about it so that we can add you to our references
        list. You may also use our "Tested using Citrus" logo in your online or printed documentation.</comments>
    </license>
  </licenses>

  <ciManagement>
    <system>GitHub actions</system>
    <url>https://github.com/citrusframework/citrus/actions</url>
    <notifiers>
      <notifier>
        <type>mail</type>
        <address>citrus-dev@googlegroups.com</address>
      </notifier>
    </notifiers>
  </ciManagement>

  <developers>
    <developer>
      <id>christophd</id>
      <name>Christoph Deppisch</name>
      <email>citrus-dev@googlegroups.com</email>
      <organization>Red Hat</organization>
      <organizationUrl>https://www.redhat.com/</organizationUrl>
      <roles>
        <role>Developer</role>
      </roles>
    </developer>
    <developer>
      <id>bbortt</id>
      <name>Timon Borter</name>
      <email>citrus-dev@googlegroups.com</email>
      <organization>PostFinance AG</organization>
      <organizationUrl>https://www.postfinance.ch/</organizationUrl>
      <roles>
        <role>Developer</role>
      </roles>
    </developer>
    <developer>
      <id>tschlat</id>
      <name>Thorsten Schlathoelter</name>
      <email>citrus-dev@googlegroups.com</email>
      <organization>PostFinance AG</organization>
      <organizationUrl>https://www.postfinance.ch/</organizationUrl>
      <roles>
        <role>Developer</role>
      </roles>
    </developer>
    <developer>
      <id>svettwer</id>
      <name>Sven Hettwer</name>
      <email>citrus-dev@googlegroups.com</email>
      <organization>IBM Deutschland Research and Development GmbH</organization>
      <organizationUrl>https://www.ibm.com/</organizationUrl>
      <roles>
        <role>Developer</role>
      </roles>
    </developer>
    <developer>
      <id>s1hofmann</id>
      <name>Simon Hofmann</name>
      <email>citrus-dev@googlegroups.com</email>
      <organization>Instana</organization>
      <organizationUrl>https://www.instana.com/</organizationUrl>
      <roles>
        <role>Developer</role>
      </roles>
    </developer>
    <developer>
      <id>tnobody</id>
      <name>Tim Keiner</name>
      <email>citrus-dev@googlegroups.com</email>
      <organization>ConSol Software GmbH</organization>
      <organizationUrl>https://www.consol.com/</organizationUrl>
      <roles>
        <role>Developer</role>
      </roles>
    </developer>
  </developers>

  <scm>
    <connection>scm:git:git@github.com:citrusframework/citrus.git</connection>
    <developerConnection>scm:git:git@github.com/citrusframework/citrus.git</developerConnection>
    <url>http://github.com/citrusframework/citrus.git</url>
  </scm>

  <organization>
    <name>Citrus Framework Community</name>
    <url>https://citrusframework.org</url>
  </organization>

  <mailingLists>
    <mailingList>
      <name>Project Announcements</name>
    </mailingList>
    <mailingList>
      <name>Project Development List</name>
      <post>citrus-dev@googlegroups.com</post>
    </mailingList>
    <mailingList>
      <name>Project User List</name>
      <post>citrus-users@googlegroups.com</post>
    </mailingList>
  </mailingLists>

  <properties>
    <skip.gpg>false</skip.gpg>
  </properties>

  <dependencyManagement>
    <dependencies>
      <!-- Core -->
      <dependency>
        <groupId>org.citrusframework</groupId>
        <artifactId>citrus-api</artifactId>
        <version>4.2.1</version>
      </dependency>
      <dependency>
        <groupId>org.citrusframework</groupId>
        <artifactId>citrus-base</artifactId>
        <version>4.2.1</version>
      </dependency>
      <dependency>
        <groupId>org.citrusframework</groupId>
        <artifactId>citrus-core</artifactId>
        <version>4.2.1</version>
      </dependency>
      <dependency>
        <groupId>org.citrusframework</groupId>
        <artifactId>citrus-spring</artifactId>
        <version>4.2.1</version>
      </dependency>

      <!-- Runtimes -->
      <dependency>
        <groupId>org.citrusframework</groupId>
        <artifactId>citrus-cucumber</artifactId>
        <version>4.2.1</version>
      </dependency>
      <dependency>
        <groupId>org.citrusframework</groupId>
        <artifactId>citrus-testng</artifactId>
        <version>4.2.1</version>
      </dependency>
      <dependency>
        <groupId>org.citrusframework</groupId>
        <artifactId>citrus-junit</artifactId>
        <version>4.2.1</version>
      </dependency>
      <dependency>
        <groupId>org.citrusframework</groupId>
        <artifactId>citrus-junit5</artifactId>
        <version>4.2.1</version>
      </dependency>
      <dependency>
        <groupId>org.citrusframework</groupId>
        <artifactId>citrus-quarkus</artifactId>
        <version>4.2.1</version>
      </dependency>
      <dependency>
        <groupId>org.citrusframework</groupId>
        <artifactId>citrus-main</artifactId>
        <version>4.2.1</version>
      </dependency>
      <dependency>
        <groupId>org.citrusframework</groupId>
        <artifactId>citrus-arquillian</artifactId>
        <version>4.2.1</version>
      </dependency>
      <dependency>
        <groupId>org.citrusframework</groupId>
        <artifactId>citrus-groovy</artifactId>
        <version>4.2.1</version>
      </dependency>
      <dependency>
        <groupId>org.citrusframework</groupId>
        <artifactId>citrus-xml</artifactId>
        <version>4.2.1</version>
      </dependency>
      <dependency>
        <groupId>org.citrusframework</groupId>
        <artifactId>citrus-yaml</artifactId>
        <version>4.2.1</version>
      </dependency>

      <!-- Endpoints -->
      <dependency>
        <groupId>org.citrusframework</groupId>
        <artifactId>citrus-camel</artifactId>
        <version>4.2.1</version>
      </dependency>
      <dependency>
        <groupId>org.citrusframework</groupId>
        <artifactId>citrus-ftp</artifactId>
        <version>4.2.1</version>
      </dependency>
      <dependency>
        <groupId>org.citrusframework</groupId>
        <artifactId>citrus-http</artifactId>
        <version>4.2.1</version>
      </dependency>
      <dependency>
        <groupId>org.citrusframework</groupId>
        <artifactId>citrus-openapi</artifactId>
        <version>4.2.1</version>
      </dependency>
      <dependency>
        <groupId>org.citrusframework</groupId>
        <artifactId>citrus-jms</artifactId>
        <version>4.2.1</version>
      </dependency>
      <dependency>
        <groupId>org.citrusframework</groupId>
        <artifactId>citrus-kafka</artifactId>
        <version>4.2.1</version>
      </dependency>
      <dependency>
        <groupId>org.citrusframework</groupId>
        <artifactId>citrus-jmx</artifactId>
        <version>4.2.1</version>
      </dependency>
      <dependency>
        <groupId>org.citrusframework</groupId>
        <artifactId>citrus-mail</artifactId>
        <version>4.2.1</version>
      </dependency>
      <dependency>
        <groupId>org.citrusframework</groupId>
        <artifactId>citrus-rmi</artifactId>
        <version>4.2.1</version>
      </dependency>
      <dependency>
        <groupId>org.citrusframework</groupId>
        <artifactId>citrus-ssh</artifactId>
        <version>4.2.1</version>
      </dependency>
      <dependency>
        <groupId>org.citrusframework</groupId>
        <artifactId>citrus-vertx</artifactId>
        <version>4.2.1</version>
      </dependency>
      <dependency>
        <groupId>org.citrusframework</groupId>
        <artifactId>citrus-websocket</artifactId>
        <version>4.2.1</version>
      </dependency>
      <dependency>
        <groupId>org.citrusframework</groupId>
        <artifactId>citrus-ws</artifactId>
        <version>4.2.1</version>
      </dependency>
      <dependency>
        <groupId>org.citrusframework</groupId>
        <artifactId>citrus-zookeeper</artifactId>
        <version>4.2.1</version>
      </dependency>
      <dependency>
        <groupId>org.citrusframework</groupId>
        <artifactId>citrus-spring-integration</artifactId>
        <version>4.2.1</version>
      </dependency>

      <!-- Validation -->
      <dependency>
        <groupId>org.citrusframework</groupId>
        <artifactId>citrus-validation-xml</artifactId>
        <version>4.2.1</version>
      </dependency>
      <dependency>
        <groupId>org.citrusframework</groupId>
        <artifactId>citrus-validation-json</artifactId>
        <version>4.2.1</version>
      </dependency>
      <dependency>
        <groupId>org.citrusframework</groupId>
        <artifactId>citrus-validation-text</artifactId>
        <version>4.2.1</version>
      </dependency>
      <dependency>
        <groupId>org.citrusframework</groupId>
        <artifactId>citrus-validation-binary</artifactId>
        <version>4.2.1</version>
      </dependency>
      <dependency>
        <groupId>org.citrusframework</groupId>
        <artifactId>citrus-validation-groovy</artifactId>
        <version>4.2.1</version>
      </dependency>
      <dependency>
        <groupId>org.citrusframework</groupId>
        <artifactId>citrus-validation-hamcrest</artifactId>
        <version>4.2.1</version>
      </dependency>

      <!-- Connectors -->
      <dependency>
        <groupId>org.citrusframework</groupId>
        <artifactId>citrus-docker</artifactId>
        <version>4.2.1</version>
      </dependency>
      <dependency>
        <groupId>org.citrusframework</groupId>
        <artifactId>citrus-selenium</artifactId>
        <version>4.2.1</version>
      </dependency>
      <dependency>
        <groupId>org.citrusframework</groupId>
        <artifactId>citrus-kubernetes</artifactId>
        <version>4.2.1</version>
      </dependency>
      <dependency>
        <groupId>org.citrusframework</groupId>
        <artifactId>citrus-sql</artifactId>
        <version>4.2.1</version>
      </dependency>

      <!-- Tools -->
      <dependency>
        <groupId>org.citrusframework</groupId>
        <artifactId>citrus-restdocs</artifactId>
        <version>4.2.1</version>
      </dependency>
      <dependency>
        <groupId>org.citrusframework</groupId>
        <artifactId>citrus-maven-plugin</artifactId>
        <version>4.2.1</version>
      </dependency>

      <!-- Catalog -->
      <dependency>
        <groupId>org.citrusframework</groupId>
        <artifactId>citrus-endpoint-catalog</artifactId>
        <version>4.2.1</version>
      </dependency>
    </dependencies>
  </dependencyManagement>

  <build>
    <pluginManagement>
      <plugins>
        <plugin>
          <groupId>org.sonatype.plugins</groupId>
          <artifactId>nexus-staging-maven-plugin</artifactId>
          <version>1.6.13</version>
          <configuration>
            <nexusUrl>https://oss.sonatype.org/</nexusUrl>
            <serverId>sonatype-nexus-staging</serverId>
            <stagingProgressTimeoutMinutes>120</stagingProgressTimeoutMinutes>
            <keepStagingRepositoryOnCloseRuleFailure>true</keepStagingRepositoryOnCloseRuleFailure>
          </configuration>
        </plugin>
        <plugin>
          <groupId>org.apache.maven.plugins</groupId>
          <artifactId>maven-deploy-plugin</artifactId>
          <version>2.8.2</version>
        </plugin>
        <plugin>
          <groupId>org.apache.maven.plugins</groupId>
          <artifactId>maven-release-plugin</artifactId>
          <version>2.5.3</version>
          <configuration>
            <allowTimestampedSnapshots>true</allowTimestampedSnapshots>
            <autoVersionSubmodules>true</autoVersionSubmodules>
            <remoteTagging>true</remoteTagging>
          </configuration>
        </plugin>

        <plugin>
          <groupId>org.apache.maven.plugins</groupId>
          <artifactId>maven-gpg-plugin</artifactId>
          <version>1.6</version>
          <executions>
            <execution>
              <id>sign-artifacts</id>
              <phase>verify</phase>
              <goals>
                <goal>sign</goal>
              </goals>
            </execution>
          </executions>
          <configuration>
            <useAgent>true</useAgent>
            <keyname>dev@citrusframework.org</keyname>
            <skip>${skip.gpg}</skip>
            <gpgArguments>
              <arg>--allow-weak-digest-algos</arg>
            </gpgArguments>
          </configuration>
        </plugin>
      </plugins>
    </pluginManagement>
  </build>

  <profiles>
    <!-- Distribution Management -->
    <profile>
      <id>release-central</id>
      <build>
        <plugins>
          <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-gpg-plugin</artifactId>
          </plugin>

          <!-- Deploy using the sonatype nexus staging maven plugin -->
          <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-deploy-plugin</artifactId>
            <configuration>
              <skip>true</skip>
            </configuration>
          </plugin>

          <plugin>
            <groupId>org.sonatype.plugins</groupId>
            <artifactId>nexus-staging-maven-plugin</artifactId>
            <executions>
              <execution>
                <id>default-deploy</id>
                <phase>deploy</phase>
                <goals>
                  <goal>deploy</goal>
                </goals>
              </execution>
            </executions>
          </plugin>
        </plugins>
      </build>
    </profile>
  </profiles>
</project>
