<?xml version="1.0" encoding="UTF-8"?>
<!--
  ~ Copyright 2015 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/maven-v4_0_0.xsd">

  <modelVersion>4.0.0</modelVersion>
  <parent>
    <groupId>org.uberfire</groupId>
    <artifactId>uberfire-parent-metadata</artifactId>
    <version>0.9.0.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-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>

      <!-- UberFire Showcase WARS -->
      <dependency>
        <groupId>org.uberfire</groupId>
        <artifactId>showcase-distribution-wars</artifactId>
        <type>war</type>
        <version>${project.version}</version>
        <classifier>tomcat7.0</classifier>
      </dependency>
      <dependency>
        <groupId>org.uberfire</groupId>
        <artifactId>showcase-distribution-wars</artifactId>
        <type>war</type>
        <version>${project.version}</version>
        <classifier>wildfly8.1</classifier>
      </dependency>
      <dependency>
        <groupId>org.uberfire</groupId>
        <artifactId>showcase-distribution-wars-cdi1.0</artifactId>
        <type>war</type>
        <version>${project.version}</version>
        <classifier>eap6.4</classifier>
      </dependency>
    </dependencies>

  </dependencyManagement>

</project>
