<?xml version="1.0" encoding="UTF-8"?>
<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>
  <parent>
    <groupId>org.optaplanner</groupId>
    <artifactId>optaplanner-parent</artifactId>
    <version>9.42.0.Final</version>
    <relativePath>../../pom.xml</relativePath>
  </parent>

  <artifactId>optaplanner-bom</artifactId>
  <packaging>pom</packaging>

  <properties>
    <version.org.optaplanner>${project.version}</version.org.optaplanner>
  </properties>

  <name>OptaPlanner BOM (Bill Of Materials)</name>
  <description>
    Import this BOM in your dependencyManagement if you want to depend on multiple OptaPlanner artifacts.
  </description>

  <dependencyManagement>
    <dependencies>
      <!--
        IMPORTANT: Only declare modules of groupId org.optaplanner.
        Do not declare external dependencies, this is not a platform bom.
        Do not declare <scope> or <optional>.
        Always declare the sources jar and the test-jar too.
      -->
      <dependency>
        <groupId>org.optaplanner</groupId>
        <artifactId>optaplanner-core</artifactId>
        <version>${version.org.optaplanner}</version>
      </dependency>
      <dependency>
        <groupId>org.optaplanner</groupId>
        <artifactId>optaplanner-core-impl</artifactId>
        <version>${version.org.optaplanner}</version>
      </dependency>
      <dependency>
        <groupId>org.optaplanner</groupId>
        <artifactId>optaplanner-core-impl</artifactId>
        <version>${version.org.optaplanner}</version>
        <classifier>sources</classifier>
      </dependency>
      <dependency>
        <groupId>org.optaplanner</groupId>
        <artifactId>optaplanner-core-impl</artifactId>
        <type>test-jar</type>
        <version>${version.org.optaplanner}</version>
      </dependency>
      <dependency>
        <groupId>org.optaplanner</groupId>
        <artifactId>optaplanner-constraint-drl</artifactId>
        <version>${version.org.optaplanner}</version>
      </dependency>
      <dependency>
        <groupId>org.optaplanner</groupId>
        <artifactId>optaplanner-constraint-drl</artifactId>
        <version>${version.org.optaplanner}</version>
        <classifier>sources</classifier>
      </dependency>
      <dependency>
        <groupId>org.optaplanner</groupId>
        <artifactId>optaplanner-constraint-drl</artifactId>
        <type>test-jar</type>
        <version>${version.org.optaplanner}</version>
      </dependency>
      <dependency>
        <groupId>org.optaplanner</groupId>
        <artifactId>optaplanner-constraint-streams-common</artifactId>
        <version>${version.org.optaplanner}</version>
      </dependency>
      <dependency>
        <groupId>org.optaplanner</groupId>
        <artifactId>optaplanner-constraint-streams-common</artifactId>
        <version>${version.org.optaplanner}</version>
        <classifier>sources</classifier>
      </dependency>
      <dependency>
        <groupId>org.optaplanner</groupId>
        <artifactId>optaplanner-constraint-streams-common</artifactId>
        <type>test-jar</type>
        <version>${version.org.optaplanner}</version>
      </dependency>
      <dependency>
        <groupId>org.optaplanner</groupId>
        <artifactId>optaplanner-constraint-streams-bavet</artifactId>
        <version>${version.org.optaplanner}</version>
      </dependency>
      <dependency>
        <groupId>org.optaplanner</groupId>
        <artifactId>optaplanner-constraint-streams-bavet</artifactId>
        <version>${version.org.optaplanner}</version>
        <classifier>sources</classifier>
      </dependency>
      <dependency>
        <groupId>org.optaplanner</groupId>
        <artifactId>optaplanner-constraint-streams-bavet</artifactId>
        <type>test-jar</type>
        <version>${version.org.optaplanner}</version>
      </dependency>
      <dependency>
        <groupId>org.optaplanner</groupId>
        <artifactId>optaplanner-constraint-streams-drools</artifactId>
        <version>${version.org.optaplanner}</version>
      </dependency>
      <dependency>
        <groupId>org.optaplanner</groupId>
        <artifactId>optaplanner-constraint-streams-drools</artifactId>
        <version>${version.org.optaplanner}</version>
        <classifier>sources</classifier>
      </dependency>
      <dependency>
        <groupId>org.optaplanner</groupId>
        <artifactId>optaplanner-constraint-streams-drools</artifactId>
        <type>test-jar</type>
        <version>${version.org.optaplanner}</version>
      </dependency>
      <dependency>
        <groupId>org.optaplanner</groupId>
        <artifactId>optaplanner-persistence-common</artifactId>
        <version>${version.org.optaplanner}</version>
      </dependency>
      <dependency>
        <groupId>org.optaplanner</groupId>
        <artifactId>optaplanner-persistence-common</artifactId>
        <version>${version.org.optaplanner}</version>
        <classifier>sources</classifier>
      </dependency>
      <dependency>
        <groupId>org.optaplanner</groupId>
        <artifactId>optaplanner-persistence-common</artifactId>
        <type>test-jar</type>
        <version>${version.org.optaplanner}</version>
      </dependency>
      <dependency>
        <groupId>org.optaplanner</groupId>
        <artifactId>optaplanner-persistence-xstream</artifactId>
        <version>${version.org.optaplanner}</version>
      </dependency>
      <dependency>
        <groupId>org.optaplanner</groupId>
        <artifactId>optaplanner-persistence-xstream</artifactId>
        <version>${version.org.optaplanner}</version>
        <classifier>sources</classifier>
      </dependency>
      <dependency>
        <groupId>org.optaplanner</groupId>
        <artifactId>optaplanner-persistence-xstream</artifactId>
        <type>test-jar</type>
        <version>${version.org.optaplanner}</version>
      </dependency>
      <dependency>
        <groupId>org.optaplanner</groupId>
        <artifactId>optaplanner-persistence-jaxb</artifactId>
        <version>${version.org.optaplanner}</version>
      </dependency>
      <dependency>
        <groupId>org.optaplanner</groupId>
        <artifactId>optaplanner-persistence-jaxb</artifactId>
        <version>${version.org.optaplanner}</version>
        <classifier>sources</classifier>
      </dependency>
      <dependency>
        <groupId>org.optaplanner</groupId>
        <artifactId>optaplanner-persistence-jaxb</artifactId>
        <type>test-jar</type>
        <version>${version.org.optaplanner}</version>
      </dependency>
      <dependency>
        <groupId>org.optaplanner</groupId>
        <artifactId>optaplanner-persistence-jackson</artifactId>
        <version>${version.org.optaplanner}</version>
      </dependency>
      <dependency>
        <groupId>org.optaplanner</groupId>
        <artifactId>optaplanner-persistence-jackson</artifactId>
        <version>${version.org.optaplanner}</version>
        <classifier>sources</classifier>
      </dependency>
      <dependency>
        <groupId>org.optaplanner</groupId>
        <artifactId>optaplanner-persistence-jackson</artifactId>
        <type>test-jar</type>
        <version>${version.org.optaplanner}</version>
      </dependency>
      <dependency>
        <groupId>org.optaplanner</groupId>
        <artifactId>optaplanner-persistence-jsonb</artifactId>
        <version>${version.org.optaplanner}</version>
      </dependency>
      <dependency>
        <groupId>org.optaplanner</groupId>
        <artifactId>optaplanner-persistence-jsonb</artifactId>
        <version>${version.org.optaplanner}</version>
        <classifier>sources</classifier>
      </dependency>
      <dependency>
        <groupId>org.optaplanner</groupId>
        <artifactId>optaplanner-persistence-jsonb</artifactId>
        <type>test-jar</type>
        <version>${version.org.optaplanner}</version>
      </dependency>
      <dependency>
        <groupId>org.optaplanner</groupId>
        <artifactId>optaplanner-persistence-jpa</artifactId>
        <version>${version.org.optaplanner}</version>
      </dependency>
      <dependency>
        <groupId>org.optaplanner</groupId>
        <artifactId>optaplanner-persistence-jpa</artifactId>
        <version>${version.org.optaplanner}</version>
        <classifier>sources</classifier>
      </dependency>
      <dependency>
        <groupId>org.optaplanner</groupId>
        <artifactId>optaplanner-persistence-jpa</artifactId>
        <type>test-jar</type>
        <version>${version.org.optaplanner}</version>
      </dependency>
      <dependency>
        <groupId>org.optaplanner</groupId>
        <artifactId>optaplanner-benchmark</artifactId>
        <version>${version.org.optaplanner}</version>
      </dependency>
      <dependency>
        <groupId>org.optaplanner</groupId>
        <artifactId>optaplanner-benchmark</artifactId>
        <version>${version.org.optaplanner}</version>
        <classifier>sources</classifier>
      </dependency>
      <dependency>
        <groupId>org.optaplanner</groupId>
        <artifactId>optaplanner-benchmark</artifactId>
        <type>test-jar</type>
        <version>${version.org.optaplanner}</version>
      </dependency>
      <dependency>
        <groupId>org.optaplanner</groupId>
        <artifactId>optaplanner-test</artifactId>
        <version>${version.org.optaplanner}</version>
      </dependency>
      <dependency>
        <groupId>org.optaplanner</groupId>
        <artifactId>optaplanner-test</artifactId>
        <version>${version.org.optaplanner}</version>
        <classifier>sources</classifier>
      </dependency>
      <dependency>
        <groupId>org.optaplanner</groupId>
        <artifactId>optaplanner-test</artifactId>
        <type>test-jar</type>
        <version>${version.org.optaplanner}</version>
      </dependency>
      <dependency>
        <groupId>org.optaplanner</groupId>
        <artifactId>optaplanner-examples</artifactId>
        <version>${version.org.optaplanner}</version>
      </dependency>
      <dependency>
        <groupId>org.optaplanner</groupId>
        <artifactId>optaplanner-examples</artifactId>
        <version>${version.org.optaplanner}</version>
        <classifier>sources</classifier>
      </dependency>
      <dependency>
        <groupId>org.optaplanner</groupId>
        <artifactId>optaplanner-examples</artifactId>
        <type>test-jar</type>
        <version>${version.org.optaplanner}</version>
      </dependency>
      <!-- quarkus-integration -->
      <dependency>
        <groupId>org.optaplanner</groupId>
        <artifactId>optaplanner-quarkus</artifactId>
        <version>${version.org.optaplanner}</version>
      </dependency>
      <dependency>
        <groupId>org.optaplanner</groupId>
        <artifactId>optaplanner-quarkus</artifactId>
        <version>${version.org.optaplanner}</version>
        <classifier>sources</classifier>
      </dependency>
      <dependency>
        <groupId>org.optaplanner</groupId>
        <artifactId>optaplanner-quarkus</artifactId>
        <type>test-jar</type>
        <version>${version.org.optaplanner}</version>
      </dependency>
      <dependency>
        <groupId>org.optaplanner</groupId>
        <artifactId>optaplanner-quarkus-deployment</artifactId>
        <version>${version.org.optaplanner}</version>
      </dependency>
      <dependency>
        <groupId>org.optaplanner</groupId>
        <artifactId>optaplanner-quarkus-deployment</artifactId>
        <version>${version.org.optaplanner}</version>
        <classifier>sources</classifier>
      </dependency>
      <dependency>
        <groupId>org.optaplanner</groupId>
        <artifactId>optaplanner-quarkus-deployment</artifactId>
        <type>test-jar</type>
        <version>${version.org.optaplanner}</version>
      </dependency>
      <dependency>
        <groupId>org.optaplanner</groupId>
        <artifactId>optaplanner-quarkus-jackson</artifactId>
        <version>${version.org.optaplanner}</version>
      </dependency>
      <dependency>
        <groupId>org.optaplanner</groupId>
        <artifactId>optaplanner-quarkus-jackson</artifactId>
        <version>${version.org.optaplanner}</version>
        <classifier>sources</classifier>
      </dependency>
      <dependency>
        <groupId>org.optaplanner</groupId>
        <artifactId>optaplanner-quarkus-jackson</artifactId>
        <type>test-jar</type>
        <version>${version.org.optaplanner}</version>
      </dependency>
      <dependency>
        <groupId>org.optaplanner</groupId>
        <artifactId>optaplanner-quarkus-jackson-deployment</artifactId>
        <version>${version.org.optaplanner}</version>
      </dependency>
      <dependency>
        <groupId>org.optaplanner</groupId>
        <artifactId>optaplanner-quarkus-jackson-deployment</artifactId>
        <version>${version.org.optaplanner}</version>
        <classifier>sources</classifier>
      </dependency>
      <dependency>
        <groupId>org.optaplanner</groupId>
        <artifactId>optaplanner-quarkus-jackson-deployment</artifactId>
        <type>test-jar</type>
        <version>${version.org.optaplanner}</version>
      </dependency>
      <dependency>
        <groupId>org.optaplanner</groupId>
        <artifactId>optaplanner-quarkus-jackson-integration-test</artifactId>
        <version>${version.org.optaplanner}</version>
      </dependency>
      <dependency>
        <groupId>org.optaplanner</groupId>
        <artifactId>optaplanner-quarkus-jackson-integration-test</artifactId>
        <version>${version.org.optaplanner}</version>
        <classifier>sources</classifier>
      </dependency>
      <dependency>
        <groupId>org.optaplanner</groupId>
        <artifactId>optaplanner-quarkus-jackson-integration-test</artifactId>
        <type>test-jar</type>
        <version>${version.org.optaplanner}</version>
      </dependency>
      <dependency>
        <groupId>org.optaplanner</groupId>
        <artifactId>optaplanner-quarkus-jsonb</artifactId>
        <version>${version.org.optaplanner}</version>
      </dependency>
      <dependency>
        <groupId>org.optaplanner</groupId>
        <artifactId>optaplanner-quarkus-jsonb</artifactId>
        <version>${version.org.optaplanner}</version>
        <classifier>sources</classifier>
      </dependency>
      <dependency>
        <groupId>org.optaplanner</groupId>
        <artifactId>optaplanner-quarkus-jsonb</artifactId>
        <type>test-jar</type>
        <version>${version.org.optaplanner}</version>
      </dependency>
      <dependency>
        <groupId>org.optaplanner</groupId>
        <artifactId>optaplanner-quarkus-jsonb-deployment</artifactId>
        <version>${version.org.optaplanner}</version>
      </dependency>
      <dependency>
        <groupId>org.optaplanner</groupId>
        <artifactId>optaplanner-quarkus-jsonb-deployment</artifactId>
        <version>${version.org.optaplanner}</version>
        <classifier>sources</classifier>
      </dependency>
      <dependency>
        <groupId>org.optaplanner</groupId>
        <artifactId>optaplanner-quarkus-jsonb-deployment</artifactId>
        <type>test-jar</type>
        <version>${version.org.optaplanner}</version>
      </dependency>
      <dependency>
        <groupId>org.optaplanner</groupId>
        <artifactId>optaplanner-quarkus-jsonb-integration-test</artifactId>
        <version>${version.org.optaplanner}</version>
      </dependency>
      <dependency>
        <groupId>org.optaplanner</groupId>
        <artifactId>optaplanner-quarkus-jsonb-integration-test</artifactId>
        <version>${version.org.optaplanner}</version>
        <classifier>sources</classifier>
      </dependency>
      <dependency>
        <groupId>org.optaplanner</groupId>
        <artifactId>optaplanner-quarkus-jsonb-integration-test</artifactId>
        <type>test-jar</type>
        <version>${version.org.optaplanner}</version>
      </dependency>
      <dependency>
        <groupId>org.optaplanner</groupId>
        <artifactId>optaplanner-quarkus-benchmark</artifactId>
        <version>${version.org.optaplanner}</version>
      </dependency>
      <dependency>
        <groupId>org.optaplanner</groupId>
        <artifactId>optaplanner-quarkus-benchmark</artifactId>
        <version>${version.org.optaplanner}</version>
        <classifier>sources</classifier>
      </dependency>
      <dependency>
        <groupId>org.optaplanner</groupId>
        <artifactId>optaplanner-quarkus-benchmark</artifactId>
        <type>test-jar</type>
        <version>${version.org.optaplanner}</version>
      </dependency>
      <dependency>
        <groupId>org.optaplanner</groupId>
        <artifactId>optaplanner-quarkus-benchmark-deployment</artifactId>
        <version>${version.org.optaplanner}</version>
      </dependency>
      <dependency>
        <groupId>org.optaplanner</groupId>
        <artifactId>optaplanner-quarkus-benchmark-deployment</artifactId>
        <version>${version.org.optaplanner}</version>
        <classifier>sources</classifier>
      </dependency>
      <dependency>
        <groupId>org.optaplanner</groupId>
        <artifactId>optaplanner-quarkus-benchmark-deployment</artifactId>
        <type>test-jar</type>
        <version>${version.org.optaplanner}</version>
      </dependency>
      <!-- spring-integration -->
      <dependency>
        <groupId>org.optaplanner</groupId>
        <artifactId>optaplanner-spring-boot-autoconfigure</artifactId>
        <version>${version.org.optaplanner}</version>
      </dependency>
      <dependency>
        <groupId>org.optaplanner</groupId>
        <artifactId>optaplanner-spring-boot-autoconfigure</artifactId>
        <version>${version.org.optaplanner}</version>
        <classifier>sources</classifier>
      </dependency>
      <dependency>
        <groupId>org.optaplanner</groupId>
        <artifactId>optaplanner-spring-boot-autoconfigure</artifactId>
        <type>test-jar</type>
        <version>${version.org.optaplanner}</version>
      </dependency>
      <dependency>
        <groupId>org.optaplanner</groupId>
        <artifactId>optaplanner-spring-boot-starter</artifactId>
        <version>${version.org.optaplanner}</version>
      </dependency>
      <dependency>
        <groupId>org.optaplanner</groupId>
        <artifactId>optaplanner-spring-boot-starter</artifactId>
        <version>${version.org.optaplanner}</version>
        <classifier>sources</classifier>
      </dependency>
      <dependency>
        <groupId>org.optaplanner</groupId>
        <artifactId>optaplanner-spring-boot-starter</artifactId>
        <type>test-jar</type>
        <version>${version.org.optaplanner}</version>
      </dependency>
      <!-- OptaPlanner operator -->
      <dependency>
        <groupId>org.optaplanner</groupId>
        <artifactId>optaplanner-operator</artifactId>
        <version>${version.org.optaplanner}</version>
      </dependency>
      <dependency>
        <groupId>org.optaplanner</groupId>
        <artifactId>optaplanner-operator</artifactId>
        <version>${version.org.optaplanner}</version>
        <classifier>sources</classifier>
      </dependency>
      <dependency>
        <groupId>org.optaplanner</groupId>
        <artifactId>optaplanner-operator</artifactId>
        <type>test-jar</type>
        <version>${version.org.optaplanner}</version>
      </dependency>
    </dependencies>
  </dependencyManagement>

</project>
