<?xml version="1.0" encoding="UTF-8"?>
<!--
  ~ Copyright (c) 2018 coodex.org (jujus.shen@126.com)
  ~
  ~ 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">
    <parent>
        <artifactId>concrete.pom</artifactId>
        <groupId>org.coodex</groupId>
        <version>0.4.0</version>
    </parent>
    <modelVersion>4.0.0</modelVersion>

    <artifactId>concrete-bom</artifactId>
    <packaging>pom</packaging>

    <dependencyManagement>
        <dependencies>

            <!--            &lt;!&ndash; JSR 349 Bean Validation 1.1  &ndash;&gt;-->
            <!--            <dependency>-->
            <!--                <groupId>javax.validation</groupId>-->
            <!--                <artifactId>validation-api</artifactId>-->
            <!--                <version>${jsr-349.version}</version>-->
            <!--            </dependency>-->

            <!-- JSR 311 JAX-RS: The JavaTM API for RESTful Web Services 1.0 -->
            <dependency>
                <groupId>javax.ws.rs</groupId>
                <artifactId>jsr311-api</artifactId>
                <version>${jsr-311.version}</version>
            </dependency>

            <!-- https://mvnrepository.com/artifact/javax.ws.rs/javax.ws.rs-api -->
            <dependency>
                <groupId>javax.ws.rs</groupId>
                <artifactId>javax.ws.rs-api</artifactId>
                <version>2.1</version>
            </dependency>


            <!-- JSR 330  Dependency Injection for Java -->
            <dependency>
                <groupId>javax.inject</groupId>
                <artifactId>javax.inject</artifactId>
                <version>1</version>
            </dependency>

            <!-- spring boot -->
            <dependency>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-dependencies</artifactId>
                <version>${spring.boot.version}</version>
                <type>pom</type>
                <scope>import</scope>
            </dependency>

            <!-- Spring framework -->
            <dependency>
                <groupId>org.springframework</groupId>
                <artifactId>spring-framework-bom</artifactId>
                <version>${spring.framework.version}</version>
                <type>pom</type>
                <scope>import</scope>
            </dependency>

            <dependency>
                <groupId>org.springframework.data</groupId>
                <artifactId>spring-data-releasetrain</artifactId>
                <version>${spring.data.version}</version>
                <scope>import</scope>
                <type>pom</type>
            </dependency>

            <!-- netty 4 -->
            <dependency>
                <groupId>io.netty</groupId>
                <artifactId>netty-bom</artifactId>
                <version>${netty4.version}</version>
                <type>pom</type>
                <scope>import</scope>
            </dependency>

            <!-- guice IoC -->
            <dependency>
                <groupId>com.google.inject</groupId>
                <artifactId>guice-bom</artifactId>
                <version>${guice.version}</version>
                <type>pom</type>
                <scope>import</scope>
            </dependency>

            <!-- apache dubbo -->
            <dependency>
                <groupId>org.apache.dubbo</groupId>
                <artifactId>dubbo-bom</artifactId>
                <version>${apache.dubbo.version}</version>
                <type>pom</type>
                <scope>import</scope>
            </dependency>

            <!-- jersey -->
            <dependency>
                <groupId>org.glassfish.jersey</groupId>
                <artifactId>jersey-bom</artifactId>
                <version>${jersey.version}</version>
                <type>pom</type>
                <scope>import</scope>
            </dependency>

            <!-- jackson2 -->
            <dependency>
                <groupId>com.fasterxml.jackson</groupId>
                <artifactId>jackson-bom</artifactId>
                <version>${jackson2.version}</version>
                <scope>import</scope>
                <type>pom</type>
            </dependency>

            <!-- coodex -->
            <dependency>
                <groupId>${project.parent.groupId}</groupId>
                <artifactId>coodex-bom</artifactId>
                <version>${coodex.utilities.version}</version>
                <type>pom</type>
                <scope>import</scope>
            </dependency>

            <!-- zipkin brave -->
            <dependency>
                <groupId>io.zipkin.brave</groupId>
                <artifactId>brave-bom</artifactId>
                <version>${brave.version}</version>
                <type>pom</type>
                <scope>import</scope>
            </dependency>

            <dependency>
                <groupId>org.glassfish.web</groupId>
                <artifactId>el-impl</artifactId>
                <version>2.2</version>
            </dependency>

            <dependency>
                <groupId>org.glassfish.web</groupId>
                <artifactId>javax.el</artifactId>
                <version>2.2.6</version>
            </dependency>


            <!-- hibernate validator -->
            <!--            <dependency>-->
            <!--                <groupId>org.hibernate.validator</groupId>-->
            <!--                <artifactId>hibernate-validator</artifactId>-->
            <!--                <version>${hibernate.validator.version}</version>-->
            <!--            </dependency>-->


            <!-- hibernate -->
            <dependency>
                <groupId>org.hibernate</groupId>
                <artifactId>hibernate-core</artifactId>
                <version>${hibernate.version}</version>
            </dependency>

            <dependency>
                <groupId>org.hibernate</groupId>
                <artifactId>hibernate-entitymanager</artifactId>
                <version>${hibernate.version}</version>
            </dependency>

            <!-- druid -->
            <dependency>
                <groupId>com.alibaba</groupId>
                <artifactId>druid</artifactId>
                <version>${druid.version}</version>
            </dependency>

            <!-- javassist -->
            <dependency>
                <groupId>org.javassist</groupId>
                <artifactId>javassist</artifactId>
                <version>${javassist.verion}</version>
            </dependency>


            <!-- concrete -->
            <dependency>
                <groupId>${project.parent.groupId}</groupId>
                <artifactId>concrete-api</artifactId>
                <version>${project.parent.version}</version>
            </dependency>

            <dependency>
                <groupId>${project.parent.groupId}</groupId>
                <artifactId>concrete-fsm</artifactId>
                <version>${project.parent.version}</version>
            </dependency>

            <dependency>
                <groupId>${project.parent.groupId}</groupId>
                <artifactId>concrete-core</artifactId>
                <version>${project.parent.version}</version>
            </dependency>

            <dependency>
                <groupId>${project.parent.groupId}</groupId>
                <artifactId>concrete-core-mock</artifactId>
                <version>${project.parent.version}</version>
            </dependency>

            <dependency>
                <groupId>${project.parent.groupId}</groupId>
                <artifactId>concrete-fsm-impl</artifactId>
                <version>${project.parent.version}</version>
            </dependency>

            <dependency>
                <groupId>${project.parent.groupId}</groupId>
                <artifactId>concrete-test</artifactId>
                <version>${project.parent.version}</version>
            </dependency>

            <dependency>
                <groupId>${project.parent.groupId}</groupId>
                <artifactId>concrete-rx-builder</artifactId>
                <version>${project.parent.version}</version>
            </dependency>

            <dependency>
                <groupId>${project.parent.groupId}</groupId>
                <artifactId>concrete-rx-observable</artifactId>
                <version>${project.parent.version}</version>
            </dependency>

            <dependency>
                <groupId>${project.parent.groupId}</groupId>
                <artifactId>concrete-core-spring</artifactId>
                <version>${project.parent.version}</version>
            </dependency>

            <dependency>
                <groupId>${project.parent.groupId}</groupId>
                <artifactId>concrete-spring-boot-jaxrs</artifactId>
                <version>${project.parent.version}</version>
            </dependency>

            <dependency>
                <groupId>${project.parent.groupId}</groupId>
                <artifactId>concrete-spring-boot-amqp</artifactId>
                <version>${project.parent.version}</version>
            </dependency>

            <dependency>
                <groupId>${project.parent.groupId}</groupId>
                <artifactId>concrete-spring-boot-apache-dubbo</artifactId>
                <version>${project.parent.version}</version>
            </dependency>

            <!--            <dependency>-->
            <!--                <groupId>${project.parent.groupId}</groupId>-->
            <!--                <artifactId>concrete-rx</artifactId>-->
            <!--                <version>${project.parent.version}</version>-->
            <!--            </dependency>-->

            <dependency>
                <groupId>${project.parent.groupId}</groupId>
                <artifactId>concrete-jaxrs</artifactId>
                <version>${project.parent.version}</version>
            </dependency>

            <dependency>
                <groupId>${project.parent.groupId}</groupId>
                <artifactId>concrete-support-jsr311</artifactId>
                <version>${project.parent.version}</version>
            </dependency>

            <dependency>
                <groupId>${project.parent.groupId}</groupId>
                <artifactId>concrete-support-jsr339</artifactId>
                <version>${project.parent.version}</version>
            </dependency>

            <dependency>
                <groupId>${project.parent.groupId}</groupId>
                <artifactId>concrete-support-jaxrs-swagger</artifactId>
                <version>${project.parent.version}</version>
            </dependency>

            <dependency>
                <groupId>${project.parent.groupId}</groupId>
                <artifactId>concrete-support-websocket</artifactId>
                <version>${project.parent.version}</version>
            </dependency>

            <!--            <dependency>-->
            <!--                <groupId>${project.parent.groupId}</groupId>-->
            <!--                <artifactId>concrete-support-dubbo</artifactId>-->
            <!--                <version>${project.parent.version}</version>-->
            <!--            </dependency>-->

            <dependency>
                <groupId>${project.parent.groupId}</groupId>
                <artifactId>concrete-support-apache-dubbo</artifactId>
                <version>${project.parent.version}</version>
            </dependency>

            <dependency>
                <groupId>${project.parent.groupId}</groupId>
                <artifactId>concrete-support-jaxrs-saas-reverse-proxy</artifactId>
                <version>${project.parent.version}</version>
            </dependency>

            <dependency>
                <groupId>${project.parent.groupId}</groupId>
                <artifactId>concrete-support-amqp</artifactId>
                <version>${project.parent.version}</version>
            </dependency>

            <dependency>
                <groupId>${project.parent.groupId}</groupId>
                <artifactId>concrete-api-tools</artifactId>
                <version>${project.parent.version}</version>
            </dependency>

            <dependency>
                <groupId>${project.parent.groupId}</groupId>
                <artifactId>concrete-client</artifactId>
                <version>${project.parent.version}</version>
            </dependency>

            <dependency>
                <groupId>${project.parent.groupId}</groupId>
                <artifactId>concrete-amqp-client</artifactId>
                <version>${project.parent.version}</version>
            </dependency>

            <dependency>
                <groupId>${project.parent.groupId}</groupId>
                <artifactId>concrete-jaxrs-client</artifactId>
                <version>${project.parent.version}</version>
            </dependency>

            <!--            <dependency>-->
            <!--                <groupId>${project.parent.groupId}</groupId>-->
            <!--                <artifactId>concrete-dubbo-client</artifactId>-->
            <!--                <version>${project.parent.version}</version>-->
            <!--            </dependency>-->

            <dependency>
                <groupId>${project.parent.groupId}</groupId>
                <artifactId>concrete-apache-dubbo-client</artifactId>
                <version>${project.parent.version}</version>
            </dependency>

            <dependency>
                <groupId>${project.parent.groupId}</groupId>
                <artifactId>concrete-websocket-client</artifactId>
                <version>${project.parent.version}</version>
            </dependency>


            <dependency>
                <groupId>${project.parent.groupId}</groupId>
                <artifactId>concrete-attachments</artifactId>
                <version>${project.parent.version}</version>
            </dependency>

            <dependency>
                <groupId>${project.parent.groupId}</groupId>
                <artifactId>concrete-attachments-jaxrs</artifactId>
                <version>${project.parent.version}</version>
            </dependency>

            <dependency>
                <groupId>${project.parent.groupId}</groupId>
                <artifactId>concrete-attachments-repo-fastdfs</artifactId>
                <version>${project.parent.version}</version>
            </dependency>


            <dependency>
                <groupId>${project.parent.groupId}</groupId>
                <artifactId>concrete-commons-spring-data</artifactId>
                <version>${project.parent.version}</version>
            </dependency>


            <dependency>
                <groupId>${project.parent.groupId}</groupId>
                <artifactId>concrete-formatters-freemarker</artifactId>
                <version>${project.parent.version}</version>
            </dependency>

            <dependency>
                <groupId>${project.parent.groupId}</groupId>
                <artifactId>concrete-serializer-jackson2</artifactId>
                <version>${project.parent.version}</version>
            </dependency>

            <dependency>
                <groupId>${project.parent.groupId}</groupId>
                <artifactId>concrete-serializer-jsonb-jdk8</artifactId>
                <version>${project.parent.version}</version>
            </dependency>

            <!-- accounts -->
            <dependency>
                <groupId>${project.parent.groupId}</groupId>
                <artifactId>concrete-accounts-organization-api</artifactId>
                <version>${project.parent.version}</version>
            </dependency>

            <dependency>
                <groupId>${project.parent.groupId}</groupId>
                <artifactId>concrete-accounts-organization-data</artifactId>
                <version>${project.parent.version}</version>
            </dependency>

            <dependency>
                <groupId>${project.parent.groupId}</groupId>
                <artifactId>concrete-accounts-organization-impl</artifactId>
                <version>${project.parent.version}</version>
            </dependency>

            <dependency>
                <groupId>${project.parent.groupId}</groupId>
                <artifactId>concrete-accounts-tenant-api</artifactId>
                <version>${project.parent.version}</version>
            </dependency>

            <dependency>
                <groupId>${project.parent.groupId}</groupId>
                <artifactId>concrete-accounts-tenant-data</artifactId>
                <version>${project.parent.version}</version>
            </dependency>

            <dependency>
                <groupId>${project.parent.groupId}</groupId>
                <artifactId>concrete-accounts-tenant-impl</artifactId>
                <version>${project.parent.version}</version>
            </dependency>

            <dependency>
                <groupId>${project.parent.groupId}</groupId>
                <artifactId>concrete-accounts-simple-api</artifactId>
                <version>${project.parent.version}</version>
            </dependency>

            <dependency>
                <groupId>${project.parent.groupId}</groupId>
                <artifactId>concrete-accounts-simple-impl</artifactId>
                <version>${project.parent.version}</version>
            </dependency>

            <dependency>
                <groupId>${project.parent.groupId}</groupId>
                <artifactId>concrete-courier-jms</artifactId>
                <version>${project.parent.version}</version>
            </dependency>

            <dependency>
                <groupId>${project.parent.groupId}</groupId>
                <artifactId>concrete-courier-jms-activemq</artifactId>
                <version>${project.parent.version}</version>
            </dependency>

            <dependency>
                <groupId>${project.parent.groupId}</groupId>
                <artifactId>concrete-courier-rabbitmq</artifactId>
                <version>${project.parent.version}</version>
            </dependency>

            <dependency>
                <groupId>${project.parent.groupId}</groupId>
                <artifactId>concrete-apm-zipkin</artifactId>
                <version>${project.parent.version}</version>
            </dependency>

            <dependency>
                <groupId>${project.parent.groupId}</groupId>
                <artifactId>concrete-apm-plugin-mysql</artifactId>
                <version>${project.parent.version}</version>
            </dependency>

            <dependency>
                <groupId>${project.parent.groupId}</groupId>
                <artifactId>concrete-apm-plugin-mysql8</artifactId>
                <version>${project.parent.version}</version>
            </dependency>

            <dependency>
                <groupId>${project.parent.groupId}</groupId>
                <artifactId>concrete-s2-api</artifactId>
                <version>${project.parent.version}</version>
            </dependency>

            <dependency>
                <groupId>${project.parent.groupId}</groupId>
                <artifactId>concrete-s2-impl</artifactId>
                <version>${project.parent.version}</version>
            </dependency>

        </dependencies>
    </dependencyManagement>

</project>