<?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.9.0</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>
        <module>nifi-jolt-record-bundle</module>
		<module>nifi-network-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.9.0</version>
            </dependency>
            <dependency>
                <groupId>org.apache.nifi</groupId>
                <artifactId>nifi-distributed-cache-client-service-api</artifactId>
                <version>1.9.0</version>
                <scope>provided</scope>
            </dependency>
            <dependency>
                <groupId>org.apache.nifi</groupId>
                <artifactId>nifi-record-serialization-service-api</artifactId>
                <version>1.9.0</version>
                <scope>provided</scope>
            </dependency>
            <dependency>
                <groupId>org.apache.nifi</groupId>
                <artifactId>nifi-record</artifactId>
                <version>1.9.0</version>
                <scope>provided</scope>
            </dependency>
            <dependency>
                <groupId>org.apache.nifi</groupId>
                <artifactId>nifi-schema-registry-service-api</artifactId>
                <version>1.9.0</version>
                <scope>provided</scope>
            </dependency>
            <dependency>
                <groupId>org.apache.nifi</groupId>
                <artifactId>nifi-ssl-context-service-api</artifactId>
                <version>1.9.0</version>
                <scope>provided</scope>
            </dependency>
            <dependency>
                <groupId>org.apache.nifi</groupId>
                <artifactId>nifi-load-distribution-service-api</artifactId>
                <version>1.9.0</version>
                <scope>provided</scope>
            </dependency>
             <dependency>
                <groupId>org.apache.nifi</groupId>
                <artifactId>nifi-http-context-map-api</artifactId>
                <version>1.9.0</version>
                <scope>provided</scope>
            </dependency>
            <dependency>
                <groupId>org.apache.nifi</groupId>
                <artifactId>nifi-lookup-service-api</artifactId>
                <version>1.9.0</version>
                <scope>provided</scope>
            </dependency>
            <dependency>
                <groupId>org.apache.nifi</groupId>
                <artifactId>nifi-kerberos-credentials-service-api</artifactId>
                <version>1.9.0</version>
                <scope>provided</scope>
            </dependency>
            <dependency>
                <groupId>org.apache.nifi</groupId>
                <artifactId>nifi-mongodb-client-service-api</artifactId>
                <version>1.9.0</version>
                <scope>provided</scope>
            </dependency>
            <dependency>
                <groupId>org.apache.nifi</groupId>
                <artifactId>nifi-distributed-cache-protocol</artifactId>
                <version>1.9.0</version>
            </dependency>
            <dependency>
                <groupId>org.apache.nifi</groupId>
                <artifactId>nifi-distributed-cache-server</artifactId>
                <version>1.9.0</version>
            </dependency>
            <dependency>
                <groupId>org.apache.nifi</groupId>
                <artifactId>nifi-ssl-context-service</artifactId>
                <version>1.9.0</version>
            </dependency>
            <dependency>
                <groupId>org.apache.nifi</groupId>
                <artifactId>nifi-http-context-map</artifactId>
                <version>1.9.0</version>
            </dependency>
            <dependency>
                <groupId>org.apache.nifi</groupId>
                <artifactId>nifi-proxy-configuration-api</artifactId>
                <version>1.9.0</version>
            </dependency>
            <dependency>
                <groupId>org.apache.nifi</groupId>
                <artifactId>nifi-cassandra-services-api</artifactId>
                <version>1.9.0</version>
            </dependency>
            <dependency>
                <groupId>org.apache.nifi</groupId>
                <artifactId>nifi-volatile-provenance-repository</artifactId>
                <version>1.9.0</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.9.0</version>
                <scope>provided</scope>
            </dependency>
            <dependency>
                <groupId>org.apache.nifi</groupId>
                <artifactId>nifi-framework-api</artifactId>
                <version>1.9.0</version>
                <scope>provided</scope>
            </dependency>
            <dependency>
                <groupId>org.apache.nifi</groupId>
                <artifactId>nifi-runtime</artifactId>
                <version>1.9.0</version>
                <scope>provided</scope>
            </dependency>
            <dependency>
                <groupId>org.apache.nifi</groupId>
                <artifactId>nifi-nar-utils</artifactId>
                <version>1.9.0</version>
                <scope>provided</scope>
            </dependency>
            <dependency>
                <groupId>org.apache.nifi</groupId>
                <artifactId>nifi-properties</artifactId>
                <version>1.9.0</version>
                <scope>provided</scope>
            </dependency>
        </dependencies>
    </dependencyManagement>
</project>
