<?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.kie</groupId>
    <artifactId>drools-parent</artifactId>
    <version>8.32.0.Final</version>
    <relativePath>../../pom.xml</relativePath>
  </parent>

  <artifactId>kie-core-bom</artifactId>
  <packaging>pom</packaging>

  <name>KIE core BOM</name>
  <description>
    Import this BOM in your dependencyManagement if you want to depend on multiple KIE artifacts.
  </description>

  <url>http://www.kiegroup.org</url>
  <inceptionYear>2001</inceptionYear>
  <organization>
    <name>JBoss by Red Hat</name>
    <url>http://www.jboss.org/</url>
  </organization>

  <licenses>
    <license>
      <name>The Apache Software License, Version 2.0</name>
      <url>http://www.apache.org/licenses/LICENSE-2.0.txt</url>
      <distribution>repo</distribution>
    </license>
  </licenses>

  <properties>
    <jboss.releases.repo.url>https://repository.jboss.org/nexus/service/local/staging/deploy/maven2/</jboss.releases.repo.url>
    <jboss.snapshots.repo.url>https://repository.jboss.org/nexus/content/repositories/snapshots/</jboss.snapshots.repo.url>
  </properties>

  <repositories>
    <!-- Having the <repositories> in this POM is an ugly hack to make sure we can always find
         the jboss-integration-platform-parent (ip-parent). In most of the cases the ip-parent is available directly from
         Maven Central. However, when new version gets released it takes up to 24 hours to get it synced into the Maven
         Central. So in that period the local build of droolsjbpm-build-bootstrap would fail (unless one would
         locally build the ip-parent from the sources as well, which is not something users should be doing). Configuring the
         'repository.jboss.org' directly works around this issue. -->
    <repository>
      <!-- Duplicating the Maven Central repository here (as it is already coming from Super POM) makes the build much faster,
           as the Maven Central is now treated as the first (default) repository (because it is before the JBoss.org one).
           Artifacts with release (fixed) versions are being downloaded primarily from central. Without the central being the
           first repository the JBoss.org Nexus would be contacted first and since it is quite slow it slows down the build.
           We use JBoss.org repo only to download our SNAPSHOTs. -->
      <id>central</id>
      <name>Central Repository</name>
      <url>https://repo.maven.apache.org/maven2</url>
      <layout>default</layout>
      <snapshots>
        <enabled>false</enabled>
      </snapshots>
    </repository>
    <!-- Bootstrap repository to locate the parent pom when the parent pom has not been build locally. -->
    <!-- Conventions are described in http://community.jboss.org/wiki/MavenGettingStarted-Developers -->
    <repository>
      <id>jboss-public-repository-group</id>
      <name>JBoss Public Repository Group</name>
      <url>https://repository.jboss.org/nexus/content/groups/public/</url>
      <releases>
        <enabled>true</enabled>
        <updatePolicy>never</updatePolicy>
      </releases>
      <snapshots>
        <enabled>true</enabled>
        <updatePolicy>daily</updatePolicy>
      </snapshots>
    </repository>
  </repositories>
  <pluginRepositories>
    <pluginRepository>
      <!-- Duplicating the Maven Central repository here (as it is already coming from Super POM) makes the build much faster,
           as the Maven Central is now treated as the first (default) repository (because it is before the JBoss.org one).
           Artifacts with release (fixed) versions are being downloaded primarily from there. Without the central being the
           first repository the JBoss.org Nexus would be contacted first and since it is quite slow it slows down the build.
           We use JBoss.org repo only to download our SNAPSHOTs. -->
      <id>central</id>
      <name>Central Repository</name>
      <url>https://repo.maven.apache.org/maven2</url>
      <layout>default</layout>
      <snapshots>
        <enabled>false</enabled>
      </snapshots>
    </pluginRepository>
    <pluginRepository>
      <id>jboss-public-repository-group</id>
      <name>JBoss Public Repository Group</name>
      <url>https://repository.jboss.org/nexus/content/groups/public/</url>
      <releases>
        <enabled>true</enabled>
      </releases>
      <snapshots>
        <enabled>true</enabled>
      </snapshots>
    </pluginRepository>
  </pluginRepositories>

  <!-- IMPORTANT: Do not declare any build things here! Declare them in kie-user-bom-parent. -->
  <build/>

  <dependencyManagement>
    <dependencies>
      <!--
        IMPORTANT: Only declare modules of groupId org.kie.
        Do not declare external dependencies.
        Do not duplicate modules from another bom.
      -->
      <!--
          Declare all dependency versions. Do not declare <scope> or <optional>.
          Each module should declare it's direct dependencies and possibly overwrite scope/optional.
          Always declare the sources jar too and optionally the test-jar.
      -->

      <!-- droolsjbpm-knowledge -->
      <dependency>
        <groupId>org.kie</groupId>
        <artifactId>kie-api</artifactId>
        <version>${project.version}</version>
      </dependency>
      <dependency>
        <groupId>org.kie</groupId>
        <artifactId>kie-api</artifactId>
        <version>${project.version}</version>
        <classifier>sources</classifier>
      </dependency>
      <dependency>
        <groupId>org.kie</groupId>
        <artifactId>kie-api</artifactId>
        <version>${project.version}</version>
        <classifier>javadoc</classifier>
      </dependency>
      <dependency>
        <groupId>org.kie</groupId>
        <artifactId>kie-internal</artifactId>
        <version>${project.version}</version>
      </dependency>
      <dependency>
        <groupId>org.kie</groupId>
        <artifactId>kie-internal</artifactId>
        <version>${project.version}</version>
        <classifier>sources</classifier>
      </dependency>
      <dependency>
        <groupId>org.kie</groupId>
        <artifactId>kie-internal</artifactId>
        <version>${project.version}</version>
        <classifier>javadoc</classifier>
      </dependency>

      <dependency>
        <groupId>org.kie</groupId>
        <artifactId>kie-util-maven-support</artifactId>
        <version>${project.version}</version>
      </dependency>
      <dependency>
        <groupId>org.kie</groupId>
        <artifactId>kie-util-maven-support</artifactId>
        <version>${project.version}</version>
        <classifier>sources</classifier>
      </dependency>

      <dependency>
        <groupId>org.kie</groupId>
        <artifactId>kie-util-maven-integration</artifactId>
        <version>${project.version}</version>
      </dependency>
      <dependency>
        <groupId>org.kie</groupId>
        <artifactId>kie-util-maven-integration</artifactId>
        <version>${project.version}</version>
        <classifier>sources</classifier>
      </dependency>

      <dependency>
        <groupId>org.kie</groupId>
        <artifactId>kie-util-xml</artifactId>
        <version>${project.version}</version>
      </dependency>
      <dependency>
        <groupId>org.kie</groupId>
        <artifactId>kie-util-xml</artifactId>
        <version>${project.version}</version>
        <classifier>sources</classifier>
      </dependency>

    </dependencies>
  </dependencyManagement>

</project>
