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