<?xml version="1.0" encoding="UTF-8"?>
<!-- ~ Copyright 2017 Red Hat, Inc. and/or its affiliates. ~ ~ 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/xsd/maven-4.0.0.xsd">
  <modelVersion>4.0.0</modelVersion>

  <parent>
    <artifactId>droolsjbpm-integration</artifactId>
    <groupId>org.drools</groupId>
    <version>7.73.0.Final</version>
  </parent>

  <groupId>org.kie</groupId>
  <artifactId>kie-spring-boot</artifactId>
  <packaging>pom</packaging>

  <name>KIE :: Spring :: Boot</name>
  <description>Parent integration project for SpringBoot</description>

  <modules>
    <module>kie-spring-boot-starters</module>
    <module>kie-spring-boot-samples</module>
    <module>kie-spring-boot-autoconfiguration</module>
  </modules>

  <properties>
    <version.me.snowdrop.narayana>2.6.1</version.me.snowdrop.narayana>
    <version.org.apache.commons-dbcp2>2.4.0</version.org.apache.commons-dbcp2>
  </properties>

  <dependencyManagement>
    <dependencies>
      <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-dependencies</artifactId>
        <version>${version.org.springframework.boot}</version>
        <type>pom</type>
        <scope>import</scope>
        <exclusions>
          <exclusion>
            <groupId>jakarta.validation</groupId>
            <artifactId>jakarta.validation-api</artifactId>
          </exclusion>
        </exclusions>
      </dependency>

      <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-validation</artifactId>
        <version>${version.org.springframework.boot}</version>
        <exclusions>
          <exclusion>
            <groupId>jakarta.validation</groupId>
            <artifactId>jakarta.validation-api</artifactId>
          </exclusion>
        </exclusions>
      </dependency>

      <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter</artifactId>
        <version>${version.org.springframework.boot}</version>
        <exclusions>
          <exclusion>
            <groupId>org.apache.logging.log4j</groupId>
            <artifactId>log4j-api</artifactId>
          </exclusion>
          <exclusion>
            <groupId>jakarta.validation</groupId>
            <artifactId>jakarta.validation-api</artifactId>
          </exclusion>
        </exclusions>
      </dependency>

      <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-web</artifactId>
        <version>${version.org.springframework.boot}</version>
      </dependency>

      <!-- spring boot auto configuration modules -->
      <dependency>
        <groupId>org.kie</groupId>
        <artifactId>jbpm-spring-boot-data-sources</artifactId>
        <version>${project.version}</version>
      </dependency>
      <dependency>
        <groupId>org.kie</groupId>
        <artifactId>jbpm-spring-boot-autoconfiguration</artifactId>
        <version>${project.version}</version>
      </dependency>
      <dependency>
        <groupId>org.kie</groupId>
        <artifactId>kie-server-spring-boot-autoconfiguration</artifactId>
        <version>${project.version}</version>
      </dependency>
      <dependency>
        <groupId>org.kie</groupId>
        <artifactId>kie-server-spring-boot-autoconfiguration-drools</artifactId>
        <version>${project.version}</version>
      </dependency>
      <dependency>
        <groupId>org.kie</groupId>
        <artifactId>kie-server-spring-boot-autoconfiguration-jbpm</artifactId>
        <version>${project.version}</version>
      </dependency>
      <dependency>
        <groupId>org.kie</groupId>
        <artifactId>kie-server-spring-boot-autoconfiguration-optaplanner</artifactId>
        <version>${project.version}</version>
      </dependency>
      <dependency>
        <groupId>org.kie</groupId>
        <artifactId>kie-server-spring-boot-autoconfiguration-task-assigning-runtime</artifactId>
        <version>${project.version}</version>
      </dependency>
      <dependency>
        <groupId>org.kie</groupId>
        <artifactId>kie-server-spring-boot-autoconfiguration-task-assigning-planning</artifactId>
        <version>${project.version}</version>
      </dependency>

      <!-- starters -->
      <dependency>
        <groupId>org.kie</groupId>
        <artifactId>jbpm-spring-boot-starter-basic</artifactId>
        <version>${project.version}</version>
      </dependency>
      <dependency>
        <groupId>org.kie</groupId>
        <artifactId>jbpm-spring-boot-starter-actuator</artifactId>
        <version>${project.version}</version>
      </dependency>
      <dependency>
        <groupId>org.kie</groupId>
        <artifactId>kie-server-spring-boot-starter</artifactId>
        <version>${project.version}</version>
      </dependency>

      <!-- cxf jaxrs version comes from spring-boot-dependencies -->
      <dependency>
        <groupId>org.apache.cxf</groupId>
        <artifactId>cxf-spring-boot-starter-jaxrs</artifactId>
        <version>${version.org.apache.cxf}</version>
        <exclusions>
          <exclusion>
            <groupId>org.jboss.spec.javax.rmi</groupId>
            <artifactId>jboss-rmi-api_1.0_spec</artifactId>
          </exclusion>
          <exclusion>
            <groupId>javax.xml.ws</groupId>
            <artifactId>jaxws-api</artifactId>
          </exclusion>
          <exclusion>
            <groupId>javax.xml.soap</groupId>
            <artifactId>javax.xml.soap-api</artifactId>
          </exclusion>
          <exclusion>
            <groupId>javax.annotation</groupId>
            <artifactId>javax.annotation-api</artifactId>
          </exclusion>
          <exclusion>
            <groupId>org.apache.geronimo.specs</groupId>
            <artifactId>geronimo-jta_1.1_spec</artifactId>
          </exclusion>
          <exclusion>
            <groupId>org.apache.geronimo.specs</groupId>
            <artifactId>geronimo-javamail_1.4_spec</artifactId>
          </exclusion>
          <exclusion>
            <groupId>org.apache.geronimo.specs</groupId>
            <artifactId>geronimo-ws-metadata_2.0_spec</artifactId>
          </exclusion>
          <exclusion>
            <groupId>org.glassfish.jaxb</groupId>
            <artifactId>jaxb-runtime</artifactId>
          </exclusion>
          <exclusion>
            <groupId>com.sun.activation</groupId>
            <artifactId>javax.activation</artifactId>
          </exclusion>
          <exclusion>
            <groupId>javax.activation</groupId>
            <artifactId>activation</artifactId>
          </exclusion>
          <exclusion>
            <groupId>jakarta.validation</groupId>
            <artifactId>jakarta.validation-api</artifactId>
          </exclusion>
        </exclusions>
      </dependency>

      <dependency>
        <groupId>me.snowdrop</groupId>
        <artifactId>narayana-spring-boot-starter</artifactId>
        <version>${version.me.snowdrop.narayana}</version>
        <exclusions>
          <exclusion>
            <groupId>org.jboss.spec.javax.resource</groupId>
            <artifactId>jboss-connector-api_1.7_spec</artifactId>
          </exclusion>
          <exclusion>
            <groupId>org.jboss.spec.javax.transaction</groupId>
            <artifactId>jboss-transaction-api_1.2_spec</artifactId>
          </exclusion>
          <exclusion>
            <groupId>org.apache.geronimo.specs</groupId>
            <artifactId>geronimo-jms_2.0_spec</artifactId>
          </exclusion>
        </exclusions>
      </dependency>
      <dependency>
        <groupId>org.apache.commons</groupId>
        <artifactId>commons-dbcp2</artifactId>
        <version>${version.org.apache.commons-dbcp2}</version>
      </dependency>

    </dependencies>
  </dependencyManagement>
</project>
