<?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.uberfire</groupId>
    <artifactId>uberfire-parent-metadata</artifactId>
    <version>0.7.3.Final</version>
  </parent>

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

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

  <!-- IMPORTANT: Do not declare any build things here! Declare them in uberfire-parent-metadata pom. -->
  <build/>

  <dependencyManagement>
    <dependencies>
      <!--
        IMPORTANT: Only declare modules of groupId org.uberfire.
        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.
      -->
      <!-- Showcase WebApp -->
      <dependency>
        <groupId>org.uberfire</groupId>
        <artifactId>uberfire-webapp</artifactId>
        <version>${project.version}</version>
        <type>war</type>
      </dependency>

      <!-- Server -->
      <dependency>
        <groupId>org.uberfire</groupId>
        <artifactId>uberfire-server</artifactId>
        <version>${project.version}</version>
      </dependency>
      <dependency>
        <groupId>org.uberfire</groupId>
        <artifactId>uberfire-server</artifactId>
        <version>${project.version}</version>
        <classifier>sources</classifier>
      </dependency>

      <!-- Security -->
      <dependency>
        <groupId>org.uberfire</groupId>
        <artifactId>uberfire-security-api</artifactId>
        <version>${project.version}</version>
      </dependency>
      <dependency>
        <groupId>org.uberfire</groupId>
        <artifactId>uberfire-security-api</artifactId>
        <version>${project.version}</version>
        <classifier>sources</classifier>
      </dependency>
      <dependency>
        <groupId>org.uberfire</groupId>
        <artifactId>uberfire-security-client</artifactId>
        <version>${project.version}</version>
      </dependency>
      <dependency>
        <groupId>org.uberfire</groupId>
        <artifactId>uberfire-security-client</artifactId>
        <version>${project.version}</version>
        <classifier>sources</classifier>
      </dependency>

      <!-- Backend -->
      <dependency>
        <groupId>org.uberfire</groupId>
        <artifactId>uberfire-backend-api</artifactId>
        <version>${project.version}</version>
      </dependency>
      <dependency>
        <groupId>org.uberfire</groupId>
        <artifactId>uberfire-backend-api</artifactId>
        <version>${project.version}</version>
        <classifier>sources</classifier>
      </dependency>
      <dependency>
        <groupId>org.uberfire</groupId>
        <artifactId>uberfire-backend-server</artifactId>
        <version>${project.version}</version>
      </dependency>
      <dependency>
        <groupId>org.uberfire</groupId>
        <artifactId>uberfire-backend-server</artifactId>
        <version>${project.version}</version>
        <classifier>sources</classifier>
      </dependency>
      <dependency>
        <groupId>org.uberfire</groupId>
        <artifactId>uberfire-backend-cdi</artifactId>
        <version>${project.version}</version>
      </dependency>
      <dependency>
        <groupId>org.uberfire</groupId>
        <artifactId>uberfire-backend-cdi</artifactId>
        <version>${project.version}</version>
        <classifier>sources</classifier>
      </dependency>

      <!-- Workbench -->
      <dependency>
        <groupId>org.uberfire</groupId>
        <artifactId>uberfire-api</artifactId>
        <version>${project.version}</version>
      </dependency>
      <dependency>
        <groupId>org.uberfire</groupId>
        <artifactId>uberfire-api</artifactId>
        <version>${project.version}</version>
        <classifier>sources</classifier>
      </dependency>
      <dependency>
        <groupId>org.uberfire</groupId>
        <artifactId>uberfire-client-api</artifactId>
        <version>${project.version}</version>
      </dependency>
      <dependency>
        <groupId>org.uberfire</groupId>
        <artifactId>uberfire-client-api</artifactId>
        <version>${project.version}</version>
        <classifier>sources</classifier>
      </dependency>
      <dependency>
        <groupId>org.uberfire</groupId>
        <artifactId>uberfire-workbench-client</artifactId>
        <version>${project.version}</version>
      </dependency>
      <dependency>
        <groupId>org.uberfire</groupId>
        <artifactId>uberfire-workbench-client</artifactId>
        <version>${project.version}</version>
        <classifier>sources</classifier>
      </dependency>
      <dependency>
        <groupId>org.uberfire</groupId>
        <artifactId>uberfire-workbench-client-views-bs2</artifactId>
        <version>${project.version}</version>
      </dependency>
      <dependency>
        <groupId>org.uberfire</groupId>
        <artifactId>uberfire-workbench-client-views-bs2</artifactId>
        <version>${project.version}</version>
        <classifier>sources</classifier>
      </dependency>
      <dependency>
        <groupId>org.uberfire</groupId>
        <artifactId>uberfire-workbench-client-views-patternfly</artifactId>
        <version>${project.version}</version>
      </dependency>
      <dependency>
        <groupId>org.uberfire</groupId>
        <artifactId>uberfire-workbench-client-views-patternfly</artifactId>
        <version>${project.version}</version>
        <classifier>sources</classifier>
      </dependency>
      <dependency>
        <groupId>org.uberfire</groupId>
        <artifactId>uberfire-workbench-client-backend</artifactId>
        <version>${project.version}</version>
      </dependency>
      <dependency>
        <groupId>org.uberfire</groupId>
        <artifactId>uberfire-workbench-client-backend</artifactId>
        <version>${project.version}</version>
        <classifier>sources</classifier>
      </dependency>
      <dependency>
        <groupId>org.uberfire</groupId>
        <artifactId>uberfire-workbench-processors</artifactId>
        <version>${project.version}</version>
      </dependency>
      <dependency>
        <groupId>org.uberfire</groupId>
        <artifactId>uberfire-workbench-processors</artifactId>
        <version>${project.version}</version>
        <classifier>sources</classifier>
      </dependency>
      <dependency>
        <groupId>org.uberfire</groupId>
        <artifactId>uberfire-workbench-processors-tests</artifactId>
        <version>${project.version}</version>
      </dependency>
      <dependency>
        <groupId>org.uberfire</groupId>
        <artifactId>uberfire-workbench-processors-tests</artifactId>
        <version>${project.version}</version>
        <classifier>sources</classifier>
      </dependency>
      <!-- JS Native Plugins -->
      <dependency>
        <groupId>org.uberfire</groupId>
        <artifactId>uberfire-js</artifactId>
        <version>${project.version}</version>
      </dependency>
      <dependency>
        <groupId>org.uberfire</groupId>
        <artifactId>uberfire-js</artifactId>
        <version>${project.version}</version>
        <classifier>sources</classifier>
      </dependency>

      <!-- UberFire Commons (former KIE Commons) -->
      <dependency>
        <groupId>org.uberfire</groupId>
        <artifactId>uberfire-commons</artifactId>
        <version>${project.version}</version>
      </dependency>
      <dependency>
        <groupId>org.uberfire</groupId>
        <artifactId>uberfire-commons</artifactId>
        <version>${project.version}</version>
        <classifier>sources</classifier>
      </dependency>
      <dependency>
        <groupId>org.uberfire</groupId>
        <artifactId>uberfire-io</artifactId>
        <version>${project.version}</version>
      </dependency>
      <dependency>
        <groupId>org.uberfire</groupId>
        <artifactId>uberfire-io</artifactId>
        <version>${project.version}</version>
        <classifier>sources</classifier>
      </dependency>
      <dependency>
        <groupId>org.uberfire</groupId>
        <artifactId>uberfire-io</artifactId>
        <version>${project.version}</version>
        <type>test-jar</type>
      </dependency>

      <!-- UberFire Commons VFS (former KIE Commons VFS) -->
      <dependency>
        <groupId>org.uberfire</groupId>
        <artifactId>uberfire-nio2-model</artifactId>
        <version>${project.version}</version>
      </dependency>
      <dependency>
        <groupId>org.uberfire</groupId>
        <artifactId>uberfire-nio2-model</artifactId>
        <version>${project.version}</version>
        <classifier>sources</classifier>
      </dependency>
      <dependency>
        <groupId>org.uberfire</groupId>
        <artifactId>uberfire-nio2-api</artifactId>
        <version>${project.version}</version>
      </dependency>
      <dependency>
        <groupId>org.uberfire</groupId>
        <artifactId>uberfire-nio2-api</artifactId>
        <version>${project.version}</version>
        <classifier>sources</classifier>
      </dependency>
      <dependency>
        <groupId>org.uberfire</groupId>
        <artifactId>uberfire-nio2-fs</artifactId>
        <version>${project.version}</version>
      </dependency>
      <dependency>
        <groupId>org.uberfire</groupId>
        <artifactId>uberfire-nio2-fs</artifactId>
        <version>${project.version}</version>
        <classifier>sources</classifier>
      </dependency>
      <dependency>
        <groupId>org.uberfire</groupId>
        <artifactId>uberfire-nio2-jgit</artifactId>
        <version>${project.version}</version>
      </dependency>
      <dependency>
        <groupId>org.uberfire</groupId>
        <artifactId>uberfire-nio2-jgit</artifactId>
        <version>${project.version}</version>
        <classifier>sources</classifier>
      </dependency>

      <!-- UberFire Packaging -->
      <dependency>
        <groupId>org.uberfire</groupId>
        <artifactId>uberfire-client</artifactId>
        <version>${project.version}</version>
      </dependency>
      <dependency>
        <groupId>org.uberfire</groupId>
        <artifactId>uberfire-client</artifactId>
        <version>${project.version}</version>
        <classifier>sources</classifier>
      </dependency>
      <dependency>
        <groupId>org.uberfire</groupId>
        <artifactId>uberfire-client-backend</artifactId>
        <version>${project.version}</version>
      </dependency>
      <dependency>
        <groupId>org.uberfire</groupId>
        <artifactId>uberfire-client-backend</artifactId>
        <version>${project.version}</version>
        <classifier>sources</classifier>
      </dependency>
      <dependency>
        <groupId>org.uberfire</groupId>
        <artifactId>uberfire-client-all</artifactId>
        <version>${project.version}</version>
      </dependency>
      <dependency>
        <groupId>org.uberfire</groupId>
        <artifactId>uberfire-client-all</artifactId>
        <version>${project.version}</version>
        <classifier>sources</classifier>
      </dependency>
      <dependency>
        <groupId>org.uberfire</groupId>
        <artifactId>uberfire-server-all</artifactId>
        <version>${project.version}</version>
      </dependency>
      <dependency>
        <groupId>org.uberfire</groupId>
        <artifactId>uberfire-all</artifactId>
        <version>${project.version}</version>
        <classifier>sources</classifier>
      </dependency>
      <dependency>
        <groupId>org.uberfire</groupId>
        <artifactId>uberfire-all</artifactId>
        <version>${project.version}</version>
      </dependency>

      <!-- Testing Utils -->
      <dependency>
        <groupId>org.uberfire</groupId>
        <artifactId>uberfire-testing-utils</artifactId>
        <version>${project.version}</version>
      </dependency>
      <dependency>
        <groupId>org.uberfire</groupId>
        <artifactId>uberfire-testing-utils</artifactId>
        <version>${project.version}</version>
        <classifier>sources</classifier>
      </dependency>
    </dependencies>

  </dependencyManagement>

</project>
