<?xml version="1.0" encoding="UTF-8"?>
<!--
  Licensed to the Apache Software Foundation (ASF) under one or more
  contributor license agreements.  See the NOTICE file distributed with
  this work for additional information regarding copyright ownership.
  The ASF licenses this file to You 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">
    <modelVersion>4.0.0</modelVersion>

    <parent>
        <groupId>org.apache</groupId>
        <artifactId>apache</artifactId>
        <version>18</version>
    </parent>

    <groupId>org.apache.rocketmq</groupId>
    <artifactId>rocketmq-streams</artifactId>
    <version>1.0.0-preview</version>
    <name>Apache RocketMQ Streams ${project.version}</name>
    <packaging>pom</packaging>
    <url>https://rocketmq.apache.org/</url>


    <scm>
        <url>git@github.com:apache/rocketmq-streams.git</url>
        <connection>scm:git:git@github.com:apache/rocketmq-streams.git</connection>
        <developerConnection>scm:git:git@github.com:apache/rocketmq-streams.git</developerConnection>
        <tag>rocketmq-streams-1.0.0-preview</tag>
    </scm>

    <mailingLists>
        <mailingList>
            <name>Development List</name>
            <subscribe>dev-subscribe@rocketmq.apache.org</subscribe>
            <unsubscribe>dev-unsubscribe@rocketmq.apache.org</unsubscribe>
            <post>dev@rocketmq.apache.org</post>
        </mailingList>
        <mailingList>
            <name>User List</name>
            <subscribe>users-subscribe@rocketmq.apache.org</subscribe>
            <unsubscribe>users-unsubscribe@rocketmq.apache.org</unsubscribe>
            <post>users@rocketmq.apache.org</post>
        </mailingList>
        <mailingList>
            <name>Commits List</name>
            <subscribe>commits-subscribe@rocketmq.apache.org</subscribe>
            <unsubscribe>commits-unsubscribe@rocketmq.apache.org</unsubscribe>
            <post>commits@rocketmq.apache.org</post>
        </mailingList>
    </mailingLists>

    <developers>
        <developer>
            <id>Apache RocketMQ</id>
            <name>Apache RocketMQ of ASF</name>
            <url>https://rocketmq.apache.org/</url>
        </developer>
    </developers>

    <organization>
        <name>Apache Software Foundation</name>
        <url>http://www.apache.org</url>
    </organization>

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

    <modules>
        <module>rocketmq-streams-commons</module>
        <module>rocketmq-streams-dim</module>
        <module>rocketmq-streams-transport-minio</module>
        <module>rocketmq-streams-script</module>
        <module>rocketmq-streams-configurable</module>
        <module>rocketmq-streams-serviceloader</module>
        <module>rocketmq-streams-filter</module>
        <module>rocketmq-streams-schedule</module>
        <module>rocketmq-streams-lease</module>
        <module>rocketmq-streams-db-operator</module>
        <module>rocketmq-streams-dbinit</module>
        <module>rocketmq-streams-window</module>
        <module>rocketmq-streams-clients</module>
        <module>rocketmq-streams-channel-rocketmq</module>
        <module>rocketmq-streams-channel-db</module>
        <module>rocketmq-streams-channel-http</module>
        <module>rocketmq-streams-state</module>
        <module>rocketmq-streams-examples</module>
        <module>rocketmq-streams-checkpoint</module>
        <module>rocketmq-streams-connectors</module>
        <module>rocketmq-streams-channel-syslog</module>
        <module>rocketmq-streams-channel-es</module>
        <module>rocketmq-streams-runner</module>
        <module>rocketmq-streams-channel-mqtt</module>
    </modules>

    <properties>
        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
        <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
        <flink.version>1.13.0</flink.version>
        <scala.binary.version>2.11</scala.binary.version>
        <maven.test.skip>false</maven.test.skip>
        <maven.compiler.source>1.8</maven.compiler.source>
        <maven.compiler.target>1.8</maven.compiler.target>
        <java.version>1.8</java.version>
        <java.encoding>UTF-8</java.encoding>
        <project.build.sourceEncoding>${java.encoding}</project.build.sourceEncoding>
        <log4j.version>1.2.17</log4j.version>
        <commons-logging.version>1.1</commons-logging.version>
        <spring.version>3.2.13.RELEASE</spring.version>
        <auto-service.version>1.0-rc5</auto-service.version>
        <mysql-connector.version>5.1.40</mysql-connector.version>
        <fastjson.version>1.2.9</fastjson.version>
        <quartz.version>2.2.1</quartz.version>
        <httpclient.version>4.5.2</httpclient.version>
        <commons-io.version>2.5</commons-io.version>
        <junit.version>4.12</junit.version>
        <guava.version>25.1-jre</guava.version>
        <groovy.version>2.1.8</groovy.version>
        <disruptor.version>3.2.0</disruptor.version>
        <rocksdbjni.version>6.6.4</rocksdbjni.version>
        <rocketmq.version>4.5.2</rocketmq.version>
        <hyperscan.version>5.4.0-2.0.0</hyperscan.version>
        <platform.version>3.5.2</platform.version>
        <gson.version>2.8.5</gson.version>
        <java-grok.version>0.1.9</java-grok.version>
        <jython.version>2.7.0</jython.version>
        <scala-library.version>2.12.4</scala-library.version>
        <logback-core.version>1.2.3</logback-core.version>
        <minio.version>3.0.10</minio.version>
        <rocksdbjni.version>6.6.4</rocksdbjni.version>
        <commons-collections.version>3.2.1</commons-collections.version>
        <commons-lang.version>2.5</commons-lang.version>
        <elasticsearch.version>7.4.0</elasticsearch.version>
        <kafka.version>1.1.0</kafka.version>
        <maven.javadoc.skip>true</maven.javadoc.skip>
        <paho.version>1.2.2</paho.version>
    </properties>


    <build>
        <plugins>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-surefire-plugin</artifactId>
                <version>2.18.1</version>
                <configuration>
                    <skipTests>true</skipTests>
                </configuration>
            </plugin>
            <plugin>
                <groupId>org.apache.rat</groupId>
                <artifactId>apache-rat-plugin</artifactId>
                <version>0.12</version>
                <configuration>
                    <excludes>
                        <exclude>.gitignore</exclude>
                        <exclude>.travis.yml</exclude>
                        <exclude>.asf.yaml</exclude>
                        <exclude>build_without_test.sh</exclude>
                        <exclude>NOTICE</exclude>
                        <exclude>LICENSE</exclude>
                        <exclude>README.md</exclude>
                        <exclude>README-chinese.md</exclude>
                        <exclude>QUICKSTART.md</exclude>
                        <exclude>quick_start.md</exclude>
                        <exclude>.github/**</exclude>
                        <exclude>*/target/**</exclude>
                        <exclude>*/*.iml</exclude>
                        <exclude>**/*.txt</exclude>
                        <exclude>**/*.cs</exclude>
                        <exclude>**/*.xml</exclude>
                        <exclude>**/*.sh</exclude>
                        <exclude>**/*.out</exclude>
                        <exclude>**/*.properties</exclude>
                        <exclude>docs/**/*</exclude>
                    </excludes>
                </configuration>
            </plugin>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-compiler-plugin</artifactId>
                <version>3.5.1</version>
                <configuration>
                    <source>${maven.compiler.source}</source>
                    <target>${maven.compiler.target}</target>
                    <showDeprecation>true</showDeprecation>
                    <showWarnings>true</showWarnings>
                </configuration>
            </plugin>
            <plugin>
                <groupId>org.codehaus.mojo</groupId>
                <artifactId>versions-maven-plugin</artifactId>
                <version>2.2</version>
            </plugin>
            <plugin>
                <groupId>org.jacoco</groupId>
                <artifactId>jacoco-maven-plugin</artifactId>
                <version>0.8.7</version>
                <executions>
                    <execution>
                        <goals>
                            <goal>prepare-agent</goal>
                        </goals>
                    </execution>
                    <execution>
                        <id>report</id>
                        <phase>test</phase>
                        <goals>
                            <goal>report</goal>
                        </goals>
                    </execution>
                </executions>
            </plugin>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-source-plugin</artifactId>
                <version>3.0.1</version>
                <executions>
                    <execution>
                        <id>attach-sources</id>
                        <goals>
                            <goal>jar</goal>
                        </goals>
                    </execution>
                </executions>
            </plugin>
        </plugins>
    </build>

    <dependencyManagement>
        <dependencies>
            <!-- ================================================= -->
            <!-- rocketmq streams library -->
            <!-- ================================================= -->

            <dependency>
                <groupId>org.apache.rocketmq</groupId>
                <artifactId>rocketmq-streams-commons</artifactId>
                <version>${project.version}</version>
            </dependency>
            <dependency>
                <groupId>org.apache.rocketmq</groupId>
                <artifactId>rocketmq-streams-channel-es</artifactId>
                <version>${project.version}</version>
            </dependency>
            <dependency>
                <groupId>org.apache.rocketmq</groupId>
                <artifactId>rocketmq-streams-channel-mqtt</artifactId>
                <version>${project.version}</version>
            </dependency>
            <dependency>
                <groupId>org.apache.rocketmq</groupId>
                <artifactId>rocketmq-streams-dbinit</artifactId>
                <version>${project.version}</version>
            </dependency>
            <dependency>
                <groupId>org.apache.rocketmq</groupId>
                <artifactId>rocketmq-streams-clients</artifactId>
                <version>${project.version}</version>
            </dependency>
            <dependency>
                <groupId>org.apache.rocketmq</groupId>
                <artifactId>rocketmq-streams-state</artifactId>
                <version>${project.version}</version>
            </dependency>
            <dependency>
                <groupId>org.apache.rocketmq</groupId>
                <artifactId>rocketmq-streams-channel-syslog</artifactId>
                <version>${project.version}</version>
            </dependency>
            <dependency>
                <groupId>org.apache.rocketmq</groupId>
                <artifactId>rocketmq-streams-configurable</artifactId>
                <version>${project.version}</version>
                <exclusions>
                    <exclusion>
                        <groupId>ch.qos.logback</groupId>
                        <artifactId>logback-classic</artifactId>
                    </exclusion>
                    <exclusion>
                        <groupId>ch.qos.logback</groupId>
                        <artifactId>logback-core</artifactId>
                    </exclusion>
                </exclusions>
            </dependency>
            <dependency>
                <groupId>org.apache.rocketmq</groupId>
                <artifactId>rocketmq-streams-db-operator</artifactId>
                <version>${project.version}</version>
            </dependency>
            <dependency>
                <groupId>org.apache.rocketmq</groupId>
                <artifactId>rocketmq-streams-dim</artifactId>
                <version>${project.version}</version>
            </dependency>
            <dependency>
                <groupId>org.apache.rocketmq</groupId>
                <artifactId>rocketmq-streams-filter</artifactId>
                <version>${project.version}</version>
            </dependency>
            <dependency>
                <groupId>org.apache.rocketmq</groupId>
                <artifactId>rocketmq-streams-lease</artifactId>
                <version>${project.version}</version>
            </dependency>
            <dependency>
                <groupId>org.apache.rocketmq</groupId>
                <artifactId>rocketmq-streams-schedule</artifactId>
                <version>${project.version}</version>
            </dependency>
            <dependency>
                <groupId>org.apache.rocketmq</groupId>
                <artifactId>rocketmq-streams-script</artifactId>
                <version>${project.version}</version>
                <exclusions>
                    <exclusion>
                        <groupId>ch.qos.logback</groupId>
                        <artifactId>logback-classic</artifactId>
                    </exclusion>
                    <exclusion>
                        <groupId>ch.qos.logback</groupId>
                        <artifactId>logback-core</artifactId>
                    </exclusion>
                </exclusions>
            </dependency>
            <dependency>
                <groupId>org.apache.rocketmq</groupId>
                <artifactId>rocketmq-streams-script-python</artifactId>
                <version>${project.version}</version>
            </dependency>
            <dependency>
                <groupId>org.apache.rocketmq</groupId>
                <artifactId>rocketmq-streams-serviceloader</artifactId>
                <version>${project.version}</version>
            </dependency>
            <dependency>
                <groupId>org.apache.rocketmq</groupId>
                <artifactId>rocketmq-streams-transport-minio</artifactId>
                <version>${project.version}</version>
            </dependency>
            <dependency>
                <groupId>org.apache.rocketmq</groupId>
                <artifactId>rocketmq-streams-window</artifactId>
                <version>${project.version}</version>
            </dependency>
            <dependency>
                <groupId>org.apache.rocketmq</groupId>
                <artifactId>rocketmq-streams-channel-db</artifactId>
                <version>${project.version}</version>
            </dependency>
            <dependency>
                <groupId>org.apache.rocketmq</groupId>
                <artifactId>rocketmq-streams-channel-http</artifactId>
                <version>${project.version}</version>
            </dependency>
            <dependency>
                <groupId>org.apache.rocketmq</groupId>
                <artifactId>rocketmq-streams-channel-rocketmq</artifactId>
                <version>${project.version}</version>
            </dependency>
            <dependency>
                <groupId>org.apache.rocketmq</groupId>
                <artifactId>rocketmq-streams-connectors</artifactId>
                <version>${project.version}</version>
            </dependency>
            <dependency>
                <groupId>org.apache.rocketmq</groupId>
                <artifactId>rocketmq-streams-examples</artifactId>
                <version>${project.version}</version>
            </dependency>

            <!-- ================================================= -->
            <!-- rocketmq library -->
            <!-- ================================================= -->

            <dependency>
                <groupId>org.apache.rocketmq</groupId>
                <artifactId>rocketmq-tools</artifactId>
                <version>${rocketmq.version}</version>
            </dependency>
            <dependency>
                <groupId>org.apache.rocketmq</groupId>
                <artifactId>rocketmq-common</artifactId>
                <version>${rocketmq.version}</version>
            </dependency>
            <dependency>
                <groupId>org.apache.rocketmq</groupId>
                <artifactId>rocketmq-client</artifactId>
                <version>${rocketmq.version}</version>
            </dependency>
            <dependency>
                <groupId>org.apache.rocketmq</groupId>
                <artifactId>rocketmq-acl</artifactId>
                <version>${rocketmq.version}</version>
            </dependency>

            <!-- ================================================= -->
            <!-- tool library -->
            <!-- ================================================= -->

            <dependency>
                <groupId>com.alibaba</groupId>
                <artifactId>fastjson</artifactId>
                <version>${fastjson.version}</version>
            </dependency>

            <dependency>
                <groupId>junit</groupId>
                <artifactId>junit</artifactId>
                <version>${junit.version}</version>
            </dependency>

            <dependency>
                <groupId>commons-logging</groupId>
                <artifactId>commons-logging</artifactId>
                <version>${commons-logging.version}</version>
            </dependency>
            <dependency>
                <groupId>org.apache.rocketmq</groupId>
                <artifactId>commons</artifactId>
                <version>${project.version}</version>
            </dependency>
            <dependency>
                <groupId>commons-io</groupId>
                <artifactId>commons-io</artifactId>
                <version>${commons-io.version}</version>
            </dependency>

            <dependency>
                <groupId>log4j</groupId>
                <artifactId>log4j</artifactId>
                <version>${log4j.version}</version>
            </dependency>

            <dependency>
                <groupId>com.google.code.gson</groupId>
                <artifactId>gson</artifactId>
                <version>${gson.version}</version>
            </dependency>

            <dependency>
                <groupId>com.google.guava</groupId>
                <artifactId>guava</artifactId>
                <version>${guava.version}</version>
            </dependency>

            <dependency>
                <groupId>com.google.auto.service</groupId>
                <artifactId>auto-service</artifactId>
                <version>${auto-service.version}</version>
                <exclusions>
                    <exclusion>
                        <groupId>com.google.guava</groupId>
                        <artifactId>guava</artifactId>
                    </exclusion>
                </exclusions>
            </dependency>

            <dependency>
                <groupId>com.lmax</groupId>
                <artifactId>disruptor</artifactId>
                <version>${disruptor.version}</version>
            </dependency>

            <dependency>
                <groupId>com.gliwka.hyperscan</groupId>
                <artifactId>hyperscan</artifactId>
                <version>${hyperscan.version}</version>
            </dependency>

            <dependency>
                <groupId>net.java.dev.jna</groupId>
                <artifactId>platform</artifactId>
                <version>${platform.version}</version>
            </dependency>

            <dependency>
                <groupId>org.springframework</groupId>
                <artifactId>spring-jdbc</artifactId>
                <version>${spring.version}</version>
            </dependency>

            <dependency>
                <groupId>mysql</groupId>
                <artifactId>mysql-connector-java</artifactId>
                <version>${mysql-connector.version}</version>
            </dependency>

            <dependency>
                <groupId>org.quartz-scheduler</groupId>
                <artifactId>quartz</artifactId>
                <version>${quartz.version}</version>
            </dependency>

            <dependency>
                <groupId>org.quartz-scheduler</groupId>
                <artifactId>quartz-jobs</artifactId>
                <version>${quartz.version}</version>
            </dependency>

            <dependency>
                <groupId>io.krakens</groupId>
                <artifactId>java-grok</artifactId>
                <version>${java-grok.version}</version>
            </dependency>

            <dependency>
                <groupId>org.codehaus.groovy</groupId>
                <artifactId>groovy-all</artifactId>
                <version>${groovy.version}</version>
            </dependency>

            <dependency>
                <groupId>org.python</groupId>
                <artifactId>jython-standalone</artifactId>
                <version>${jython.version}</version>
            </dependency>

            <dependency>
                <groupId>org.apache.httpcomponents</groupId>
                <artifactId>httpclient</artifactId>
                <version>${httpclient.version}</version>
            </dependency>

            <dependency>
                <groupId>org.apache.httpcomponents</groupId>
                <artifactId>httpmime</artifactId>
                <version>${httpclient.version}</version>
            </dependency>


            <dependency>
                <groupId>org.scala-lang</groupId>
                <artifactId>scala-library</artifactId>
                <version>${scala-library.version}</version>
            </dependency>


            <dependency>
                <groupId>ch.qos.logback</groupId>
                <artifactId>logback-core</artifactId>
                <version>${logback-core.version}</version>
            </dependency>
            <dependency>
                <groupId>ch.qos.logback</groupId>
                <artifactId>logback-classic</artifactId>
                <version>${logback-core.version}</version>
            </dependency>
            <dependency>
                <groupId>io.minio</groupId>
                <artifactId>minio</artifactId>
                <version>${minio.version}</version>
            </dependency>

            <dependency>
                <groupId>org.rocksdb</groupId>
                <artifactId>rocksdbjni</artifactId>
                <version>${rocksdbjni.version}</version>
            </dependency>
            <dependency>
                <groupId>org.graylog2</groupId>
                <artifactId>syslog4j</artifactId>
                <version>0.9.48</version>
            </dependency>
            <dependency>
                <groupId>commons-collections</groupId>
                <artifactId>commons-collections</artifactId>
                <version>${commons-collections.version}</version>
            </dependency>
            <dependency>
                <groupId>commons-lang</groupId>
                <artifactId>commons-lang</artifactId>
                <version>${commons-lang.version}</version>
            </dependency>
            <dependency>
                <groupId>org.elasticsearch.client</groupId>
                <artifactId>elasticsearch-rest-high-level-client</artifactId>
                <version>${elasticsearch.version}</version>
            </dependency>
            <dependency>
                <groupId>org.elasticsearch.client</groupId>
                <artifactId>elasticsearch-rest-client</artifactId>
                <version>${elasticsearch.version}</version>
            </dependency>
            <dependency>
                <groupId>org.apache.kafka</groupId>
                <artifactId>kafka_2.12</artifactId>
                <version>${kafka.version}</version>
            </dependency>

            <!--IOT dependency-->
            <dependency>
                <groupId>org.eclipse.paho</groupId>
                <artifactId>org.eclipse.paho.client.mqttv3</artifactId>
                <version>${paho.version}</version>
            </dependency>
        </dependencies>
    </dependencyManagement>

</project>
