<?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/maven-v4_0_0.xsd">
    <modelVersion>4.0.0</modelVersion>

    <parent>
        <groupId>org.apache.nifi</groupId>
        <artifactId>nifi</artifactId>
        <version>1.7.0-SNAPSHOT</version>
    </parent>
    <groupId>org.apache.nifi</groupId>
    <artifactId>nifi-nar-bundles</artifactId>
    <packaging>pom</packaging>
    <modules>
        <module>nifi-framework-bundle</module>
        <module>nifi-hadoop-bundle</module>
        <module>nifi-hadoop-libraries-bundle</module>
        <module>nifi-jetty-bundle</module>
        <module>nifi-provenance-repository-bundle</module>
        <module>nifi-standard-bundle</module>
        <module>nifi-standard-services</module>
        <module>nifi-update-attribute-bundle</module>
        <module>nifi-kafka-bundle</module>
        <module>nifi-kite-bundle</module>
        <module>nifi-kudu-bundle</module>
        <module>nifi-solr-bundle</module>
        <module>nifi-confluent-platform-bundle</module>
        <module>nifi-aws-bundle</module>
        <module>nifi-social-media-bundle</module>
        <module>nifi-enrich-bundle</module>
        <module>nifi-hl7-bundle</module>
        <module>nifi-ccda-bundle</module>
        <module>nifi-language-translation-bundle</module>
        <module>nifi-mongodb-bundle</module>
        <module>nifi-flume-bundle</module>
        <module>nifi-hbase-bundle</module>
        <module>nifi-ambari-bundle</module>
        <module>nifi-media-bundle</module>
        <module>nifi-avro-bundle</module>
        <module>nifi-couchbase-bundle</module>
        <module>nifi-azure-bundle</module>
        <module>nifi-ldap-iaa-providers-bundle</module>
        <module>nifi-kerberos-iaa-providers-bundle</module>
        <module>nifi-riemann-bundle</module>
        <module>nifi-html-bundle</module>
        <module>nifi-scripting-bundle</module>
        <module>nifi-elasticsearch-bundle</module>
        <module>nifi-amqp-bundle</module>
	<module>nifi-splunk-bundle</module>
        <module>nifi-jms-bundle</module>
        <module>nifi-lumberjack-bundle</module>
        <module>nifi-beats-bundle</module>
        <module>nifi-cassandra-bundle</module>
        <module>nifi-spring-bundle</module>
        <module>nifi-hive-bundle</module>
	<module>nifi-site-to-site-reporting-bundle</module>
        <module>nifi-mqtt-bundle</module>
        <module>nifi-evtx-bundle</module>
        <module>nifi-slack-bundle</module>
        <module>nifi-snmp-bundle</module>
        <module>nifi-datadog-bundle</module>
        <module>nifi-windows-event-log-bundle</module>
        <module>nifi-ignite-bundle</module>
        <module>nifi-rethinkdb-bundle</module>
        <module>nifi-influxdb-bundle</module>
        <module>nifi-email-bundle</module>
        <module>nifi-groovyx-bundle</module>
    	<module>nifi-ranger-bundle</module>
        <module>nifi-websocket-bundle</module>
        <module>nifi-tcp-bundle</module>
        <module>nifi-gcp-bundle</module>
        <module>nifi-registry-bundle</module>
        <module>nifi-stateful-analysis-bundle</module>
        <module>nifi-poi-bundle</module>
        <module>nifi-cdc</module>
        <module>nifi-cybersecurity-bundle</module>
        <module>nifi-parquet-bundle</module>
        <module>nifi-extension-utils</module>
        <module>nifi-redis-bundle</module>
        <module>nifi-metrics-reporting-bundle</module>
        <module>nifi-spark-bundle</module>
        <module>nifi-atlas-bundle</module>
        <module>nifi-druid-bundle</module>
  </modules>

    <build>
        <plugins>
            <!-- Makes buildRevision and buildBranch available to the NAR Plugin so they can be populated in the MANIFEST -->
            <plugin>
                <groupId>org.codehaus.mojo</groupId>
                <artifactId>buildnumber-maven-plugin</artifactId>
                <inherited>true</inherited>
                <executions>
                    <execution>
                        <phase>validate</phase>
                        <goals>
                            <goal>create</goal>
                        </goals>
                    </execution>
                </executions>
                <configuration>
                    <doCheck>false</doCheck>
                    <doUpdate>false</doUpdate>
                    <shortRevisionLength>7</shortRevisionLength>
                    <getRevisionOnlyOnce>true</getRevisionOnlyOnce>
                    <revisionOnScmFailure />
                    <buildNumberPropertyName>buildRevision</buildNumberPropertyName>
                    <scmBranchPropertyName>buildBranch</scmBranchPropertyName>
                </configuration>
            </plugin>
        </plugins>
    </build>

    <profiles>
        <!-- Specifies an empty buildRevision and buildBranch when building outside of a git repo -->
        <profile>
            <id>build-info-no-git</id>
            <activation>
                <activeByDefault>false</activeByDefault>
                <file>
                    <missing>../.git/HEAD</missing>
                </file>
            </activation>
            <properties>
                <buildRevision />
                <buildBranch />
            </properties>
        </profile>
        <profile>
            <id>include-grpc</id>
            <!-- This profile handles the inclusion of grpc artifacts. They are notoriously
            environment specific in terms of build such as not working in os/arch=ppc64le
            or in Centos6 due to requiring a newer version of GLIBC. -->
            <activation>
                <activeByDefault>false</activeByDefault>
            </activation>
            <modules>
                <module>nifi-grpc-bundle</module>
            </modules>
        </profile>
    </profiles>

  <dependencyManagement>
        <dependencies>
            <dependency>
                <groupId>org.apache.nifi</groupId>
                <artifactId>nifi-distributed-cache-client-service</artifactId>
                <version>1.7.0-SNAPSHOT</version>
            </dependency>
            <dependency>
                <groupId>org.apache.nifi</groupId>
                <artifactId>nifi-distributed-cache-client-service-api</artifactId>
                <version>1.7.0-SNAPSHOT</version>
                <scope>provided</scope>
            </dependency>
            <dependency>
                <groupId>org.apache.nifi</groupId>
                <artifactId>nifi-record-serialization-service-api</artifactId>
                <version>1.7.0-SNAPSHOT</version>
                <scope>provided</scope>
            </dependency>
            <dependency>
                <groupId>org.apache.nifi</groupId>
                <artifactId>nifi-record</artifactId>
                <version>1.7.0-SNAPSHOT</version>
                <scope>provided</scope>
            </dependency>
            <dependency>
                <groupId>org.apache.nifi</groupId>
                <artifactId>nifi-schema-registry-service-api</artifactId>
                <version>1.7.0-SNAPSHOT</version>
                <scope>provided</scope>
            </dependency>
            <dependency>
                <groupId>org.apache.nifi</groupId>
                <artifactId>nifi-ssl-context-service-api</artifactId>
                <version>1.7.0-SNAPSHOT</version>
                <scope>provided</scope>
            </dependency>
            <dependency>
                <groupId>org.apache.nifi</groupId>
                <artifactId>nifi-load-distribution-service-api</artifactId>
                <version>1.7.0-SNAPSHOT</version>
                <scope>provided</scope>
            </dependency>
             <dependency>
                <groupId>org.apache.nifi</groupId>
                <artifactId>nifi-http-context-map-api</artifactId>
                <version>1.7.0-SNAPSHOT</version>
                <scope>provided</scope>
            </dependency>
            <dependency>
                <groupId>org.apache.nifi</groupId>
                <artifactId>nifi-lookup-service-api</artifactId>
                <version>1.7.0-SNAPSHOT</version>
                <scope>provided</scope>
            </dependency>
            <dependency>
                <groupId>org.apache.nifi</groupId>
                <artifactId>nifi-kerberos-credentials-service-api</artifactId>
                <version>1.7.0-SNAPSHOT</version>
                <scope>provided</scope>
            </dependency>
            <dependency>
                <groupId>org.apache.nifi</groupId>
                <artifactId>nifi-mongodb-client-service-api</artifactId>
                <version>1.7.0-SNAPSHOT</version>
                <scope>provided</scope>
            </dependency>
            <dependency>
                <groupId>org.apache.nifi</groupId>
                <artifactId>nifi-distributed-cache-protocol</artifactId>
                <version>1.7.0-SNAPSHOT</version>
            </dependency>
            <dependency>
                <groupId>org.apache.nifi</groupId>
                <artifactId>nifi-distributed-cache-server</artifactId>
                <version>1.7.0-SNAPSHOT</version>
            </dependency>
            <dependency>
                <groupId>org.apache.nifi</groupId>
                <artifactId>nifi-ssl-context-service</artifactId>
                <version>1.7.0-SNAPSHOT</version>
            </dependency>
            <dependency>
                <groupId>org.apache.nifi</groupId>
                <artifactId>nifi-http-context-map</artifactId>
                <version>1.7.0-SNAPSHOT</version>
            </dependency>
            <dependency>
                <groupId>org.apache.nifi</groupId>
                <artifactId>nifi-volatile-provenance-repository</artifactId>
                <version>1.7.0-SNAPSHOT</version>
                <scope>test</scope>
            </dependency>
            <!-- The following dependencies are marked provided because they must be provided by the container.  Nars can assume they are there-->
            <dependency>
                <groupId>org.apache.nifi</groupId>
                <artifactId>nifi-api</artifactId>
                <version>1.7.0-SNAPSHOT</version>
                <scope>provided</scope>
            </dependency>
            <dependency>
                <groupId>org.apache.nifi</groupId>
                <artifactId>nifi-framework-api</artifactId>
                <version>1.7.0-SNAPSHOT</version>
                <scope>provided</scope>
            </dependency>
            <dependency>
                <groupId>org.apache.nifi</groupId>
                <artifactId>nifi-runtime</artifactId>
                <version>1.7.0-SNAPSHOT</version>
                <scope>provided</scope>
            </dependency>
            <dependency>
                <groupId>org.apache.nifi</groupId>
                <artifactId>nifi-nar-utils</artifactId>
                <version>1.7.0-SNAPSHOT</version>
                <scope>provided</scope>
            </dependency>
            <dependency>
                <groupId>org.apache.nifi</groupId>
                <artifactId>nifi-properties</artifactId>
                <version>1.7.0-SNAPSHOT</version>
                <scope>provided</scope>
            </dependency>
        </dependencies>
    </dependencyManagement>
</project>
