<?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>

    <groupId>org.apache.ignite</groupId>
    <artifactId>apache-ignite-extensions</artifactId>
    <version>1.0.0</version> <!-- NOTE: This is a dummy version, it will never be released. -->
    <packaging>pom</packaging>

    <modules>
        <module>modules/apache-license-gen</module>
        <module>parent-internal</module>
        <module>modules/flink-ext</module>
        <module>modules/flume-ext</module>
        <module>modules/pub-sub-ext</module>
        <module>modules/spring-boot-autoconfigure-ext</module>
        <module>modules/spring-boot-thin-client-autoconfigure-ext</module>
        <module>modules/zeromq-ext</module>
        <module>modules/twitter-ext</module>
        <module>modules/rocketmq-ext</module>
        <module>modules/mqtt-ext</module>
        <module>modules/storm-ext</module>
        <module>modules/camel-ext</module>
        <module>modules/jms11-ext</module>
        <module>modules/kafka-ext</module>
        <module>modules/spring-data-ext</module>
        <module>modules/spring-data-commons</module>
        <module>modules/performance-statistics-ext</module>
        <module>modules/spring-tx-ext</module>
        <module>modules/spring-cache-ext</module>
        <module>modules/spring-session-ext</module>
        <module>modules/cdc-ext</module>
        <module>modules/aws-ext</module>
        <module>modules/azure-ext</module>
        <module>modules/gce-ext</module>
        <module>modules/zookeeper-ip-finder-ext</module>
        <module>modules/topology-validator-ext</module>
        <module>modules/hibernate-ext</module>
        <module>modules/geospatial-ext</module>
        <module>modules/aop-ext</module>
        <module>modules/spark-ext</module>
        <module>modules/mesos-ext</module>
        <module>modules/yarn-ext</module>
        <module>modules/cloud-ext</module>
        <module>modules/osgi-ext</module>
        <module>modules/ssh-ext</module>
        <module>modules/ml-ext</module>
        <module>modules/gatling-ext</module>
    </modules>

    <profiles>
        <profile>
            <id>use-ignite-src</id>
            <modules>
                <module>../ignite</module>
            </modules>
        </profile>
    </profiles>

    <build>
        <plugins>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-clean-plugin</artifactId>
                <executions>
                    <execution>
                        <phase>clean</phase>
                        <goals>
                            <goal>clean</goal>
                        </goals>
                        <configuration>
                            <filesets>
                                <fileset>
                                    <directory>libs</directory>
                                </fileset>
                            </filesets>
                        </configuration>
                    </execution>
                </executions>
            </plugin>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-deploy-plugin</artifactId>
                <configuration>
                    <skip>true</skip>
                </configuration>
            </plugin>
        </plugins>
    </build>
</project>
