<?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 https://maven.apache.org/xsd/maven-4.0.0.xsd"> <modelVersion>4.0.0</modelVersion> <parent> <groupId>org.apache</groupId> <artifactId>apache</artifactId> <version>29</version> <relativePath /> </parent> <groupId>org.apache.nifi</groupId> <artifactId>nifi</artifactId> <version>2.0.0-SNAPSHOT</version> <packaging>pom</packaging> <description>Apache NiFi is an easy to use, powerful, and reliable system to process and distribute data.</description> <modules> <module>nifi-commons</module> <module>nifi-api</module> <module>nifi-framework-api</module> <module>nifi-server-api</module> <module>nifi-bootstrap</module> <module>nifi-mock</module> <module>nifi-nar-bundles</module> <module>nifi-assembly</module> <module>nifi-docs</module> <module>nifi-maven-archetypes</module> <module>nifi-external</module> <module>nifi-docker</module> <module>nifi-system-tests</module> <module>minifi</module> <module>nifi-stateless</module> <module>nifi-registry</module> <module>nifi-toolkit</module> <module>nifi-manifest</module> <module>c2</module> </modules> <url>https://nifi.apache.org</url> <organization> <name>Apache NiFi Project</name> <url>https://nifi.apache.org/</url> </organization> <licenses> <license> <name>Apache License, Version 2.0</name> <url>https://www.apache.org/licenses/LICENSE-2.0</url> </license> </licenses> <mailingLists> <mailingList> <name>Dev</name> <subscribe>dev-subscribe@nifi.apache.org</subscribe> <unsubscribe>dev-unsubscribe@nifi.apache.org</unsubscribe> <post>dev@nifi.apache.org</post> <archive>https://mail-archives.apache.org/mod_mbox/nifi-dev</archive> </mailingList> <mailingList> <name>Users</name> <subscribe>users-subscribe@nifi.apache.org</subscribe> <unsubscribe>users-unsubscribe@nifi.apache.org</unsubscribe> <post>users@nifi.apache.org</post> <archive>https://mail-archives.apache.org/mod_mbox/nifi-users</archive> </mailingList> <mailingList> <name>Commits</name> <subscribe>commits-subscribe@nifi.apache.org</subscribe> <unsubscribe>commits-unsubscribe@nifi.apache.org</unsubscribe> <post>commits@nifi.apache.org</post> <archive>https://mail-archives.apache.org/mod_mbox/nifi-commits</archive> </mailingList> </mailingLists> <scm> <connection>scm:git:git://git.apache.org/nifi.git</connection> <developerConnection>scm:git:https://git-wip-us.apache.org/repos/asf/nifi.git</developerConnection> <url>https://git-wip-us.apache.org/repos/asf?p=nifi.git</url> <tag>nifi-1.15.0-RC3</tag> </scm> <issueManagement> <system>JIRA</system> <url>https://issues.apache.org/jira/browse/NIFI</url> </issueManagement> <properties> <maven.compiler.source>11</maven.compiler.source> <maven.compiler.target>11</maven.compiler.target> <maven.compiler.showDeprecation>true</maven.compiler.showDeprecation> <!-- Set minimum Java version for maven-enforcer-plugin from parent POM --> <minimalJavaBuildVersion>11.0.16</minimalJavaBuildVersion> <maven.surefire.arguments /> <!-- Disable maven-site-plugin from parent POM --> <maven.site.skip>true</maven.site.skip> <node.version>v16.13.2</node.version> <frontend.mvn.plugin.version>1.12.1</frontend.mvn.plugin.version> <nifi.nar.maven.plugin.version>1.5.0</nifi.nar.maven.plugin.version> <project.build.outputTimestamp>1675980972</project.build.outputTimestamp> <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding> <inceptionYear>2014</inceptionYear> <com.amazonaws.version>1.12.444</com.amazonaws.version> <software.amazon.awssdk.version>2.20.41</software.amazon.awssdk.version> <gson.version>2.10.1</gson.version> <io.fabric8.kubernetes.client.version>6.5.1</io.fabric8.kubernetes.client.version> <kotlin.version>1.8.20</kotlin.version> <okhttp.version>4.10.0</okhttp.version> <org.apache.commons.cli.version>1.5.0</org.apache.commons.cli.version> <org.apache.commons.lang3.version>3.12.0</org.apache.commons.lang3.version> <org.apache.commons.net.version>3.9.0</org.apache.commons.net.version> <org.apache.commons.io.version>2.11.0</org.apache.commons.io.version> <org.apache.commons.text.version>1.10.0</org.apache.commons.text.version> <org.apache.httpcomponents.httpclient.version>4.5.14</org.apache.httpcomponents.httpclient.version> <org.apache.httpcomponents.httpcore.version>4.4.16</org.apache.httpcomponents.httpcore.version> <org.bouncycastle.version>1.71</org.bouncycastle.version> <testcontainers.version>1.18.0</testcontainers.version> <org.slf4j.version>2.0.7</org.slf4j.version> <ranger.version>2.4.0</ranger.version> <jetty.version>9.4.51.v20230217</jetty.version> <jackson.bom.version>2.15.0</jackson.bom.version> <avro.version>1.11.1</avro.version> <jaxb.runtime.version>2.3.5</jaxb.runtime.version> <javax.annotation-api.version>1.3.2</javax.annotation-api.version> <jakarta.xml.bind-api.version>2.3.3</jakarta.xml.bind-api.version> <json.smart.version>2.4.10</json.smart.version> <nifi.groovy.version>3.0.17</nifi.groovy.version> <groovy.eclipse.batch.version>3.0.8-01</groovy.eclipse.batch.version> <surefire.version>3.0.0</surefire.version> <hadoop.version>3.3.5</hadoop.version> <ozone.version>1.2.1</ozone.version> <gcs.version>2.1.5</gcs.version> <aspectj.version>1.9.19</aspectj.version> <jersey.bom.version>2.39.1</jersey.bom.version> <log4j2.version>2.20.0</log4j2.version> <logback.version>1.3.6</logback.version> <mockito.version>4.11.0</mockito.version> <netty.3.version>3.10.6.Final</netty.3.version> <snakeyaml.version>2.0</snakeyaml.version> <netty.4.version>4.1.92.Final</netty.4.version> <spring.version>5.3.27</spring.version> <spring.security.version>5.8.3</spring.security.version> <swagger.annotations.version>1.6.10</swagger.annotations.version> <h2.version>2.1.214</h2.version> <zookeeper.version>3.8.1</zookeeper.version> <caffeine.version>3.1.6</caffeine.version> </properties> <dependencyManagement> <dependencies> <!-- The following dependency management entries exist because these are jars that live in the top-level lib directory and will be present in the parent-first classloading of all child nars. Therefore we dont want child nars using different versions anyway.--> <!-- javax.servlet-api handling this explicitly Must be in root lib --> <dependency> <groupId>javax.servlet</groupId> <artifactId>javax.servlet-api</artifactId> <version>3.1.0</version> <scope>provided</scope> </dependency> <!-- jetty-schemas handling this explicitly Must be in root lib --> <dependency> <groupId>org.eclipse.jetty.toolchain</groupId> <artifactId>jetty-schemas</artifactId> <version>5.2</version> <scope>provided</scope> </dependency> <!-- logback-classic, logback-core, log4j-over-slf4j, jul-to-slf4j,jcl-over-slf4j,slf4j-api handling this explicitly Must be in root lib --> <dependency> <groupId>ch.qos.logback</groupId> <artifactId>logback-classic</artifactId> <version>${logback.version}</version> <scope>provided</scope> </dependency> <dependency> <groupId>ch.qos.logback</groupId> <artifactId>logback-core</artifactId> <version>${logback.version}</version> <scope>provided</scope> </dependency> <dependency> <groupId>org.slf4j</groupId> <artifactId>jcl-over-slf4j</artifactId> <version>${org.slf4j.version}</version> <scope>provided</scope> </dependency> <dependency> <groupId>org.slf4j</groupId> <artifactId>log4j-over-slf4j</artifactId> <version>${org.slf4j.version}</version> <scope>provided</scope> </dependency> <dependency> <groupId>org.slf4j</groupId> <artifactId>jul-to-slf4j</artifactId> <version>${org.slf4j.version}</version> <scope>provided</scope> </dependency> <dependency> <groupId>org.slf4j</groupId> <artifactId>slf4j-api</artifactId> <version>${org.slf4j.version}</version> <scope>provided</scope> </dependency> <dependency> <groupId>org.slf4j</groupId> <artifactId>slf4j-simple</artifactId> <version>${org.slf4j.version}</version> </dependency> <dependency> <groupId>org.bouncycastle</groupId> <artifactId>bcprov-jdk18on</artifactId> <version>${org.bouncycastle.version}</version> </dependency> <dependency> <groupId>org.bouncycastle</groupId> <artifactId>bcpkix-jdk18on</artifactId> <version>${org.bouncycastle.version}</version> </dependency> <dependency> <groupId>org.bouncycastle</groupId> <artifactId>bcpg-jdk18on</artifactId> <version>${org.bouncycastle.version}</version> </dependency> <dependency> <groupId>org.bouncycastle</groupId> <artifactId>bcutil-jdk18on</artifactId> <version>${org.bouncycastle.version}</version> </dependency> <dependency> <groupId>org.bouncycastle</groupId> <artifactId>bcmail-jdk18on</artifactId> <version>${org.bouncycastle.version}</version> </dependency> <dependency> <groupId>org.apache.avro</groupId> <artifactId>avro</artifactId> <version>${avro.version}</version> </dependency> <dependency> <groupId>org.apache.avro</groupId> <artifactId>avro-ipc</artifactId> <version>${avro.version}</version> </dependency> <dependency> <groupId>commons-cli</groupId> <artifactId>commons-cli</artifactId> <version>${org.apache.commons.cli.version}</version> </dependency> <dependency> <groupId>commons-io</groupId> <artifactId>commons-io</artifactId> <version>${org.apache.commons.io.version}</version> </dependency> <dependency> <groupId>org.apache.commons</groupId> <artifactId>commons-lang3</artifactId> <version>${org.apache.commons.lang3.version}</version> </dependency> <dependency> <groupId>commons-net</groupId> <artifactId>commons-net</artifactId> <version>${org.apache.commons.net.version}</version> </dependency> <dependency> <groupId>org.apache.commons</groupId> <artifactId>commons-text</artifactId> <version>${org.apache.commons.text.version}</version> </dependency> <dependency> <groupId>org.apache.httpcomponents</groupId> <artifactId>httpclient</artifactId> <version>${org.apache.httpcomponents.httpclient.version}</version> <exclusions> <exclusion> <groupId>commons-logging</groupId> <artifactId>commons-logging</artifactId> </exclusion> </exclusions> </dependency> <dependency> <groupId>org.apache.httpcomponents</groupId> <artifactId>httpcore</artifactId> <version>${org.apache.httpcomponents.httpcore.version}</version> </dependency> <dependency> <groupId>org.apache.httpcomponents</groupId> <artifactId>fluent-hc</artifactId> <version>${org.apache.httpcomponents.httpclient.version}</version> <exclusions> <exclusion> <groupId>commons-logging</groupId> <artifactId>commons-logging</artifactId> </exclusion> </exclusions> </dependency> <!-- Commons Codec --> <dependency> <groupId>commons-codec</groupId> <artifactId>commons-codec</artifactId> <version>1.15</version> </dependency> <!-- These junit/mockito/groovy/spock/hamcrest dependencies are here to encourage consistent unit test library usage --> <dependency> <groupId>org.junit</groupId> <artifactId>junit-bom</artifactId> <version>5.9.3</version> <type>pom</type> <scope>import</scope> </dependency> <dependency> <groupId>junit</groupId> <artifactId>junit</artifactId> <version>4.13.2</version> <scope>test</scope> </dependency> <dependency> <groupId>org.mockito</groupId> <artifactId>mockito-core</artifactId> <version>${mockito.version}</version> </dependency> <dependency> <groupId>org.mockito</groupId> <artifactId>mockito-junit-jupiter</artifactId> <version>${mockito.version}</version> </dependency> <dependency> <groupId>org.codehaus.groovy</groupId> <artifactId>groovy-all</artifactId> <version>${nifi.groovy.version}</version> <type>pom</type> <scope>test</scope> <exclusions> <exclusion> <groupId>org.codehaus.groovy</groupId> <artifactId>groovy-test</artifactId> </exclusion> <exclusion> <groupId>org.codehaus.groovy</groupId> <artifactId>groovy-test-junit5</artifactId> </exclusion> <exclusion> <groupId>org.codehaus.groovy</groupId> <artifactId>groovy-testng</artifactId> </exclusion> <exclusion> <groupId>org.apache.ant</groupId> <artifactId>ant-junit</artifactId> </exclusion> </exclusions> </dependency> <dependency> <groupId>org.codehaus.groovy</groupId> <artifactId>groovy-test</artifactId> <version>${nifi.groovy.version}</version> <scope>test</scope> </dependency> <dependency> <groupId>org.spockframework</groupId> <artifactId>spock-core</artifactId> <version>2.3-groovy-3.0</version> <scope>test</scope> <exclusions> <exclusion> <!-- exclude transitive groovy dependencies to force spock to use the the managed groovy dependencies inherited from the parent pom --> <groupId>org.codehaus.groovy</groupId> <artifactId>*</artifactId> </exclusion> </exclusions> </dependency> <dependency> <groupId>org.hamcrest</groupId> <artifactId>hamcrest-all</artifactId> <version>1.3</version> <scope>test</scope> </dependency> <dependency> <groupId>org.testcontainers</groupId> <artifactId>testcontainers-bom</artifactId> <version>${testcontainers.version}</version> <type>pom</type> <scope>import</scope> </dependency> <dependency> <groupId>org.testcontainers</groupId> <artifactId>junit-jupiter</artifactId> <version>${testcontainers.version}</version> <scope>test</scope> </dependency> <dependency> <groupId>org.testcontainers</groupId> <artifactId>mongodb</artifactId> <version>${testcontainers.version}</version> <scope>test</scope> </dependency> <dependency> <groupId>org.testcontainers</groupId> <artifactId>neo4j</artifactId> <version>${testcontainers.version}</version> <scope>test</scope> </dependency> <!-- These Jetty dependencies are required for the Jetty Web Server all nars extend from it so we dont want this getting overriden --> <dependency> <groupId>org.eclipse.jetty</groupId> <artifactId>jetty-server</artifactId> <version>${jetty.version}</version> <scope>provided</scope> </dependency> <dependency> <groupId>org.eclipse.jetty</groupId> <artifactId>jetty-servlet</artifactId> <version>${jetty.version}</version> <scope>provided</scope> </dependency> <dependency> <groupId>org.eclipse.jetty</groupId> <artifactId>jetty-webapp</artifactId> <version>${jetty.version}</version> <scope>provided</scope> </dependency> <dependency> <groupId>org.eclipse.jetty</groupId> <artifactId>jetty-deploy</artifactId> <version>${jetty.version}</version> <scope>provided</scope> </dependency> <dependency> <groupId>org.eclipse.jetty</groupId> <artifactId>jetty-servlets</artifactId> <version>${jetty.version}</version> <scope>provided</scope> </dependency> <dependency> <groupId>org.eclipse.jetty</groupId> <artifactId>jetty-annotations</artifactId> <version>${jetty.version}</version> <scope>provided</scope> </dependency> <dependency> <groupId>org.eclipse.jetty</groupId> <artifactId>jetty-alpn-server</artifactId> <version>${jetty.version}</version> <scope>provided</scope> </dependency> <dependency> <groupId>org.eclipse.jetty.http2</groupId> <artifactId>http2-server</artifactId> <version>${jetty.version}</version> <scope>provided</scope> </dependency> <dependency> <groupId>org.eclipse.jetty</groupId> <artifactId>jetty-alpn-client</artifactId> <version>${jetty.version}</version> </dependency> <dependency> <groupId>org.eclipse.jetty</groupId> <artifactId>jetty-alpn-java-client</artifactId> <version>${jetty.version}</version> </dependency> <dependency> <groupId>org.eclipse.jetty</groupId> <artifactId>jetty-continuation</artifactId> <version>${jetty.version}</version> </dependency> <dependency> <groupId>org.eclipse.jetty</groupId> <artifactId>jetty-client</artifactId> <version>${jetty.version}</version> </dependency> <dependency> <groupId>org.eclipse.jetty</groupId> <artifactId>jetty-http</artifactId> <version>${jetty.version}</version> </dependency> <dependency> <groupId>org.eclipse.jetty</groupId> <artifactId>jetty-io</artifactId> <version>${jetty.version}</version> </dependency> <dependency> <groupId>org.eclipse.jetty</groupId> <artifactId>jetty-jaas</artifactId> <version>${jetty.version}</version> </dependency> <dependency> <groupId>org.eclipse.jetty</groupId> <artifactId>jetty-rewrite</artifactId> <version>${jetty.version}</version> </dependency> <dependency> <groupId>org.eclipse.jetty</groupId> <artifactId>jetty-runner</artifactId> <version>${jetty.version}</version> </dependency> <dependency> <groupId>org.eclipse.jetty</groupId> <artifactId>jetty-util</artifactId> <version>${jetty.version}</version> </dependency> <dependency> <groupId>org.eclipse.jetty</groupId> <artifactId>jetty-util-ajax</artifactId> <version>${jetty.version}</version> </dependency> <dependency> <groupId>org.eclipse.jetty</groupId> <artifactId>jetty-jmx</artifactId> <version>${jetty.version}</version> </dependency> <dependency> <groupId>org.eclipse.jetty.http2</groupId> <artifactId>http2-client</artifactId> <version>${jetty.version}</version> </dependency> <dependency> <groupId>org.eclipse.jetty.http2</groupId> <artifactId>http2-common</artifactId> <version>${jetty.version}</version> </dependency> <dependency> <groupId>org.eclipse.jetty.http2</groupId> <artifactId>http2-hpack</artifactId> <version>${jetty.version}</version> </dependency> <dependency> <groupId>org.eclipse.jetty.http2</groupId> <artifactId>http2-http-client-transport</artifactId> <version>${jetty.version}</version> </dependency> <dependency> <groupId>org.eclipse.jetty.websocket</groupId> <artifactId>websocket-api</artifactId> <version>${jetty.version}</version> </dependency> <dependency> <groupId>org.eclipse.jetty.websocket</groupId> <artifactId>websocket-client</artifactId> <version>${jetty.version}</version> </dependency> <dependency> <groupId>org.eclipse.jetty.websocket</groupId> <artifactId>websocket-server</artifactId> <version>${jetty.version}</version> </dependency> <dependency> <groupId>org.eclipse.jetty</groupId> <artifactId>apache-jsp</artifactId> <version>${jetty.version}</version> <scope>provided</scope> </dependency> <dependency> <groupId>org.eclipse.jetty</groupId> <artifactId>apache-jstl</artifactId> <version>${jetty.version}</version> <scope>provided</scope> </dependency> <dependency> <groupId>org.aspectj</groupId> <artifactId>aspectjrt</artifactId> <version>${aspectj.version}</version> </dependency> <dependency> <groupId>org.aspectj</groupId> <artifactId>aspectjweaver</artifactId> <version>${aspectj.version}</version> </dependency> <dependency> <groupId>com.google.code.gson</groupId> <artifactId>gson</artifactId> <version>${gson.version}</version> </dependency> <dependency> <groupId>net.minidev</groupId> <artifactId>json-smart</artifactId> <version>${json.smart.version}</version> </dependency> <dependency> <groupId>io.swagger</groupId> <artifactId>swagger-annotations</artifactId> <version>${swagger.annotations.version}</version> </dependency> <dependency> <groupId>io.fabric8</groupId> <artifactId>kubernetes-client-api</artifactId> <version>${io.fabric8.kubernetes.client.version}</version> </dependency> <dependency> <groupId>io.fabric8</groupId> <artifactId>kubernetes-client</artifactId> <version>${io.fabric8.kubernetes.client.version}</version> </dependency> <dependency> <groupId>io.fabric8</groupId> <artifactId>kubernetes-server-mock</artifactId> <version>${io.fabric8.kubernetes.client.version}</version> </dependency> <dependency> <groupId>org.yaml</groupId> <artifactId>snakeyaml</artifactId> <version>${snakeyaml.version}</version> </dependency> <dependency> <groupId>com.amazonaws</groupId> <artifactId>aws-java-sdk-bom</artifactId> <version>${com.amazonaws.version}</version> <type>pom</type> <scope>import</scope> </dependency> <dependency> <groupId>com.amazonaws</groupId> <artifactId>aws-java-sdk-core</artifactId> <version>${com.amazonaws.version}</version> <exclusions> <exclusion> <groupId>commons-logging</groupId> <artifactId>commons-logging</artifactId> </exclusion> </exclusions> </dependency> <dependency> <groupId>com.amazonaws</groupId> <artifactId>aws-java-sdk-bundle</artifactId> <version>${com.amazonaws.version}</version> </dependency> <dependency> <groupId>software.amazon.awssdk</groupId> <artifactId>bom</artifactId> <version>${software.amazon.awssdk.version}</version> <type>pom</type> <scope>import</scope> </dependency> <dependency> <groupId>com.fasterxml.jackson</groupId> <artifactId>jackson-bom</artifactId> <version>${jackson.bom.version}</version> <type>pom</type> <scope>import</scope> </dependency> <!-- Set snappy-java version for compatibility across multiple Java versions --> <dependency> <groupId>org.xerial.snappy</groupId> <artifactId>snappy-java</artifactId> <version>1.1.9.1</version> </dependency> <!-- Override Log4j 2 libraries for transitive dependencies --> <dependency> <groupId>org.apache.logging.log4j</groupId> <artifactId>log4j-bom</artifactId> <version>${log4j2.version}</version> <scope>import</scope> <type>pom</type> </dependency> <dependency> <groupId>io.netty</groupId> <artifactId>netty-bom</artifactId> <version>${netty.4.version}</version> <scope>import</scope> <type>pom</type> </dependency> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-framework-bom</artifactId> <version>${spring.version}</version> <scope>import</scope> <type>pom</type> </dependency> <dependency> <groupId>org.springframework.security</groupId> <artifactId>spring-security-bom</artifactId> <version>${spring.security.version}</version> <scope>import</scope> <type>pom</type> </dependency> <dependency> <groupId>com.squareup.okhttp3</groupId> <artifactId>okhttp-bom</artifactId> <version>${okhttp.version}</version> <scope>import</scope> <type>pom</type> </dependency> <dependency> <groupId>org.jetbrains.kotlin</groupId> <artifactId>kotlin-bom</artifactId> <version>${kotlin.version}</version> <scope>import</scope> <type>pom</type> </dependency> <dependency> <groupId>org.glassfish.jersey</groupId> <artifactId>jersey-bom</artifactId> <version>${jersey.bom.version}</version> <scope>import</scope> <type>pom</type> </dependency> <dependency> <groupId>jakarta.xml.bind</groupId> <artifactId>jakarta.xml.bind-api</artifactId> <version>${jakarta.xml.bind-api.version}</version> </dependency> <dependency> <groupId>org.glassfish.jaxb</groupId> <artifactId>jaxb-runtime</artifactId> <version>${jaxb.runtime.version}</version> </dependency> <dependency> <groupId>com.sun.activation</groupId> <artifactId>javax.activation</artifactId> <version>1.2.0</version> </dependency> <dependency> <groupId>javax.annotation</groupId> <artifactId>javax.annotation-api</artifactId> <version>1.3.2</version> </dependency> <dependency> <groupId>org.jsoup</groupId> <artifactId>jsoup</artifactId> <version>1.15.4</version> </dependency> <dependency> <groupId>com.github.ben-manes.caffeine</groupId> <artifactId>caffeine</artifactId> <version>${caffeine.version}</version> </dependency> </dependencies> </dependencyManagement> <dependencies> <dependency> <groupId>org.junit.jupiter</groupId> <artifactId>junit-jupiter-api</artifactId> <scope>test</scope> </dependency> <dependency> <groupId>org.junit.jupiter</groupId> <artifactId>junit-jupiter-engine</artifactId> <scope>test</scope> </dependency> <dependency> <groupId>org.junit.vintage</groupId> <artifactId>junit-vintage-engine</artifactId> <scope>test</scope> </dependency> <dependency> <groupId>org.junit.jupiter</groupId> <artifactId>junit-jupiter-params</artifactId> <scope>test</scope> </dependency> <dependency> <groupId>org.mockito</groupId> <artifactId>mockito-core</artifactId> <scope>test</scope> </dependency> <dependency> <groupId>org.mockito</groupId> <artifactId>mockito-junit-jupiter</artifactId> <scope>test</scope> </dependency> <dependency> <groupId>org.slf4j</groupId> <artifactId>slf4j-simple</artifactId> <scope>test</scope> </dependency> <dependency> <groupId>org.codehaus.groovy</groupId> <artifactId>groovy-test</artifactId> <scope>test</scope> </dependency> </dependencies> <build> <pluginManagement> <plugins> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-compiler-plugin</artifactId> <version>3.11.0</version> <configuration> <fork>true</fork> <showDeprecation>${maven.compiler.showDeprecation}</showDeprecation> <showWarnings>true</showWarnings> </configuration> </plugin> <plugin> <groupId>org.codehaus.groovy</groupId> <artifactId>groovy-eclipse-compiler</artifactId> <version>3.7.0</version> <extensions>true</extensions> </plugin> <plugin> <groupId>org.codehaus.groovy</groupId> <artifactId>groovy-eclipse-batch</artifactId> <version>${groovy.eclipse.batch.version}</version> </plugin> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-surefire-plugin</artifactId> <version>${surefire.version}</version> <configuration> <systemPropertyVariables> <java.awt.headless>true</java.awt.headless> </systemPropertyVariables> <includes> <include>**/*Test.class</include> <include>**/Test*.class</include> <include>**/*Spec.class</include> </includes> <excludes> <exclude>**/*ITSpec.class</exclude> </excludes> <redirectTestOutputToFile>true</redirectTestOutputToFile> </configuration> </plugin> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-assembly-plugin</artifactId> <version>3.5.0</version> <configuration> <tarLongFileMode>gnu</tarLongFileMode> </configuration> </plugin> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-antrun-plugin</artifactId> <version>3.1.0</version> </plugin> <plugin> <groupId>org.codehaus.mojo</groupId> <artifactId>jaxb2-maven-plugin</artifactId> <version>2.5.0</version> <configuration> <noGeneratedHeaderComments>true</noGeneratedHeaderComments> </configuration> </plugin> <plugin> <groupId>org.codehaus.mojo</groupId> <artifactId>exec-maven-plugin</artifactId> <version>3.1.0</version> </plugin> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-javadoc-plugin</artifactId> <version>3.5.0</version> <configuration> <failOnError>false</failOnError> <quiet>true</quiet> <show>private</show> <encoding>UTF-8</encoding> <quiet>true</quiet> <javadocVersion>1.8</javadocVersion> <additionalJOption>-J-Xmx512m</additionalJOption> <doclint>none</doclint> </configuration> </plugin> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-release-plugin</artifactId> <version>3.0.0</version> <configuration> <useReleaseProfile>true</useReleaseProfile> <releaseProfiles>apache-release</releaseProfiles> <autoVersionSubmodules>true</autoVersionSubmodules> <goals>deploy</goals> <!--suppress UnresolvedMavenProperty --> <tagNameFormat>@{project.artifactId}-@{project.version}</tagNameFormat> <pushChanges>false</pushChanges> <localCheckout>true</localCheckout> </configuration> <executions> <execution> <id>default</id> <goals> <goal>perform</goal> </goals> <configuration> <pomFileName>pom.xml</pomFileName> </configuration> </execution> </executions> </plugin> <plugin> <groupId>io.fabric8</groupId> <artifactId>docker-maven-plugin</artifactId> <version>0.42.0</version> </plugin> <plugin> <groupId>org.codehaus.mojo</groupId> <artifactId>rpm-maven-plugin</artifactId> <version>2.2.0</version> </plugin> <plugin> <groupId>org.codehaus.mojo</groupId> <artifactId>buildnumber-maven-plugin</artifactId> <version>3.0.0</version> </plugin> <plugin> <groupId>org.antlr</groupId> <artifactId>antlr3-maven-plugin</artifactId> <version>3.5.3</version> </plugin> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-checkstyle-plugin</artifactId> <version>3.2.1</version> <dependencies> <dependency> <groupId>com.puppycrawl.tools</groupId> <artifactId>checkstyle</artifactId> <version>9.3</version> </dependency> </dependencies> </plugin> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-dependency-plugin</artifactId> <version>3.5.0</version> </plugin> <plugin> <groupId>org.apache.rat</groupId> <artifactId>apache-rat-plugin</artifactId> <version>0.15</version> </plugin> </plugins> </pluginManagement> <plugins> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-compiler-plugin</artifactId> <executions> <!-- Only run for tests --> <execution> <id>groovy-tests</id> <goals> <goal>testCompile</goal> </goals> <configuration> <compilerId>groovy-eclipse-compiler</compilerId> </configuration> </execution> </executions> <configuration> <source>${maven.compiler.source}</source> <target>${maven.compiler.target}</target> </configuration> <dependencies> <dependency> <groupId>org.codehaus.groovy</groupId> <artifactId>groovy-eclipse-compiler</artifactId> <version>3.7.0</version> </dependency> <dependency> <groupId>org.codehaus.groovy</groupId> <artifactId>groovy-eclipse-batch</artifactId> <version>${groovy.eclipse.batch.version}</version> </dependency> </dependencies> </plugin> <plugin> <groupId>org.apache.nifi</groupId> <artifactId>nifi-nar-maven-plugin</artifactId> <version>${nifi.nar.maven.plugin.version}</version> <extensions>true</extensions> <configuration> <enforceDocGeneration>true</enforceDocGeneration> </configuration> </plugin> <plugin> <groupId>org.sonatype.plugins</groupId> <artifactId>nexus-staging-maven-plugin</artifactId> <version>1.6.13</version> <extensions>true</extensions> <configuration> <stagingProgressTimeoutMinutes>15</stagingProgressTimeoutMinutes> <serverId>repository.apache.org</serverId> <nexusUrl>https://repository.apache.org/</nexusUrl> </configuration> </plugin> <plugin> <groupId>org.jvnet.jaxb2.maven2</groupId> <artifactId>maven-jaxb2-plugin</artifactId> <version>0.14.0</version> <configuration> <noFileHeader>true</noFileHeader> </configuration> </plugin> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-enforcer-plugin</artifactId> <version>3.2.1</version> <executions> <execution> <id>enforce-maven-version</id> <goals> <goal>enforce</goal> </goals> <configuration> <rules> <banDuplicatePomDependencyVersions /> <requireSameVersions> <plugins> <plugin>org.apache.maven.plugins:maven-surefire-plugin</plugin> <plugin>org.apache.maven.plugins:maven-failsafe-plugin</plugin> <plugin>org.apache.maven.plugins:maven-surefire-report-plugin</plugin> </plugins> </requireSameVersions> <requireMavenVersion> <version>3.6.0</version> </requireMavenVersion> <requireReleaseDeps> <message>Dependencies outside of Apache NiFi must not use SNAPSHOT versions</message> <failWhenParentIsSnapshot>false</failWhenParentIsSnapshot> <excludes> <exclude>org.apache.nifi:*</exclude> <exclude>org.apache.nifi.minifi:*</exclude> <exclude>org.apache.nifi.registry:*</exclude> </excludes> </requireReleaseDeps> <bannedDependencies> <excludes> <!-- JUnit 5 is the preferred test framework --> <exclude>org.testng:testng</exclude> <!-- Cat-X Deps --> <exclude>org.json:json:*:*:compile</exclude> <exclude>c3p0:c3p0:*:*:compile</exclude> <!-- Versions of JSR305 before 3.0.1 are not allowed https://github.com/findbugsproject/findbugs/issues/128 --> <exclude>com.google.code.findbugs:jsr305:[,3.0.0]:compile</exclude> <!-- SLF4J routing to Log4j 1.2 is a runtime implementation that conflicts with Logback --> <exclude>org.slf4j:slf4j-log4j12</exclude> <exclude>org.slf4j:slf4j-reload4j</exclude> <!-- Log4J excluded in favor of log4j-over-slf4j and logback --> <exclude>log4j:log4j:*</exclude> <!-- Log4j 2 log4j-core excluded in favor of log4j-to-slf4j routing to logback --> <exclude>org.apache.logging.log4j:log4j-core:*</exclude> <!-- Commons Logging excluded in favor of jcl-over-slf4j --> <exclude>commons-logging:commons-logging:*</exclude> <!-- Apache Xalan is no longer maintained and is bundled in the standard JRE --> <exclude>xalan:xalan</exclude> <!-- As of Bouncycastle 1.71 Java 8 is the minimum required so jdk15on artifacts not allowed --> <exclude>org.bouncycastle:bcprov-jdk15on</exclude> <exclude>org.bouncycastle:bcpg-jdk15on</exclude> <exclude>org.bouncycastle:bcpkix-jdk15on</exclude> <exclude>org.bouncycastle:bcutil-jdk15on</exclude> <exclude>org.bouncycastle:bcmail-jdk15on</exclude> <!-- Exclude SSHD 2.9.1 and earlier due to CVE-2022-45047 --> <exclude>org.apache.sshd:*:[,2.9.1]</exclude> </excludes> </bannedDependencies> </rules> <fail>true</fail> </configuration> </execution> </executions> </plugin> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-checkstyle-plugin</artifactId> <configuration> <configLocation>checkstyle.xml</configLocation> <violationSeverity>warning</violationSeverity> <includeTestSourceDirectory>true</includeTestSourceDirectory> </configuration> </plugin> <plugin> <groupId>org.apache.rat</groupId> <artifactId>apache-rat-plugin</artifactId> <configuration> <consoleOutput>true</consoleOutput> <useIdeaDefaultExcludes>true</useIdeaDefaultExcludes> <excludes> <exclude>nb-configuration.xml</exclude> <!-- courtesy excludes for netbeans users --> <exclude>nbactions.xml</exclude> <!-- courtesy excludes for netbeans users --> <exclude>DEPENDENCIES</exclude> <!-- auto generated file by apache's maven config while building sources.zip --> </excludes> </configuration> </plugin> </plugins> </build> <profiles> <profile> <!-- Performs execution of Integration Tests using the Maven FailSafe Plugin. The view of integration tests in this context are those tests interfacing with external sources and services requiring additional resources or credentials that cannot be explicitly provided. Also appropriate for tests which depend on inter-thread and/or network or having timing considerations which could make the tests brittle on various environments.--> <id>integration-tests</id> <build> <plugins> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-failsafe-plugin</artifactId> <executions> <execution> <goals> <goal>integration-test</goal> <goal>verify</goal> </goals> </execution> </executions> </plugin> </plugins> </build> </profile> <profile> <id>contrib-check</id> <build> <plugins> <plugin> <groupId>org.apache.rat</groupId> <artifactId>apache-rat-plugin</artifactId> <executions> <execution> <goals> <goal>check</goal> </goals> <phase>validate</phase> </execution> </executions> </plugin> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-checkstyle-plugin</artifactId> <executions> <execution> <id>check-style</id> <phase>validate</phase> <configuration> <inputEncoding>UTF-8</inputEncoding> <excludes>**/generated-sources/**/*</excludes> <sourceDirectories> <sourceDirectory>${project.build.sourceDirectory}</sourceDirectory> <sourceDirectory>${project.build.testSourceDirectory}</sourceDirectory> </sourceDirectories> </configuration> <goals> <goal>check</goal> </goals> </execution> </executions> </plugin> </plugins> </build> </profile> <profile> <!-- Run "mvn validate -P dependency-check" to generate dependency-check-report.html in the target directory --> <!-- Report results require detailed analysis to determine whether the vulnerability impacts the application --> <id>dependency-check</id> <build> <plugins> <plugin> <groupId>org.owasp</groupId> <artifactId>dependency-check-maven</artifactId> <version>8.2.1</version> <executions> <execution> <inherited>false</inherited> <phase>validate</phase> <goals> <goal>aggregate</goal> </goals> <configuration> <suppressionFiles>nifi-dependency-check-maven/suppressions.xml</suppressionFiles> <!-- Skip System Scope to avoid dependency resolution errors with jdk.tools on Java 8 --> <skipSystemScope>true</skipSystemScope> <!-- Disable .NET Assembly Analyzer to avoid non-applicable errors --> <assemblyAnalyzerEnabled>false</assemblyAnalyzerEnabled> <skipProvidedScope>true</skipProvidedScope> </configuration> </execution> </executions> </plugin> </plugins> </build> </profile> </profiles> </project>