| <?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>23</version> |
| <relativePath /> |
| </parent> |
| <groupId>org.apache.nifi</groupId> |
| <artifactId>nifi</artifactId> |
| <version>1.15.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> |
| </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>HEAD</tag> |
| </scm> |
| <issueManagement> |
| <system>JIRA</system> |
| <url>https://issues.apache.org/jira/browse/NIFI</url> |
| </issueManagement> |
| <properties> |
| <maven.compiler.source>1.8</maven.compiler.source> |
| <maven.compiler.target>1.8</maven.compiler.target> |
| <maven.compiler.showDeprecation>true</maven.compiler.showDeprecation> |
| <maven.surefire.arguments /> |
| <node.version>v12.22.2</node.version> |
| <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> |
| <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding> |
| <inceptionYear>2014</inceptionYear> |
| <okhttp.version>4.9.1</okhttp.version> |
| <org.bouncycastle.version>1.69</org.bouncycastle.version> |
| <org.slf4j.version>1.7.31</org.slf4j.version> |
| <ranger.version>2.1.0</ranger.version> |
| <jetty.version>9.4.43.v20210629</jetty.version> |
| <jackson.version>2.12.3</jackson.version> |
| <jaxb.runtime.version>2.3.5</jaxb.runtime.version> |
| <jakarta.xml.bind-api.version>2.3.3</jakarta.xml.bind-api.version> |
| <nifi.groovy.version>2.5.14</nifi.groovy.version> |
| <surefire.version>3.0.0-M5</surefire.version> |
| <!-- The Hadoop version used by nifi-hadoop-libraries-nar and any NARs that depend on it, other NARs that need |
| a specific version should override this property, or use a more specific property like abc.hadoop.version --> |
| <hadoop.version>3.3.0</hadoop.version> |
| <ozone.version>1.0.0</ozone.version> |
| <gcs.version>2.1.5</gcs.version> |
| <aspectj.version>1.9.6</aspectj.version> |
| <jersey.version>2.33</jersey.version> |
| </properties> |
| |
| <repositories> |
| <repository> |
| <id>central</id> |
| <!-- This should be at top, it makes maven try the central repo |
| first and then others and hence faster dep resolution --> |
| <name>Maven Repository</name> |
| <url>https://repo1.maven.org/maven2</url> |
| <releases> |
| <enabled>true</enabled> |
| </releases> |
| <snapshots> |
| <enabled>false</enabled> |
| </snapshots> |
| </repository> |
| <repository> |
| <id>apache-repo</id> |
| <name>Apache Repository</name> |
| <url>https://repository.apache.org/content/repositories/releases</url> |
| <releases> |
| <enabled>true</enabled> |
| </releases> |
| <snapshots> |
| <enabled>false</enabled> |
| </snapshots> |
| </repository> |
| <repository> |
| <id>jcenter</id> |
| <url>https://jcenter.bintray.com</url> |
| <snapshots> |
| <enabled>false</enabled> |
| </snapshots> |
| <releases> |
| <enabled>true</enabled> |
| </releases> |
| </repository> |
| <repository> |
| <id>Shibboleth</id> |
| <name>Shibboleth</name> |
| <url>https://build.shibboleth.net/nexus/content/repositories/releases/</url> |
| <snapshots> |
| <enabled>false</enabled> |
| </snapshots> |
| <releases> |
| <enabled>true</enabled> |
| </releases> |
| </repository> |
| </repositories> |
| |
| <pluginRepositories> |
| <pluginRepository> |
| <id>gcs-maven-central-mirror</id> |
| <!-- |
| Google Mirror of Maven Central, placed first so that it's used instead of flaky Maven Central. |
| See https://storage-download.googleapis.com/maven-central/index.html |
| --> |
| <name>GCS Maven Central mirror</name> |
| <url>https://maven-central.storage-download.googleapis.com/repos/central/data/</url> |
| <releases> |
| <enabled>true</enabled> |
| </releases> |
| <snapshots> |
| <enabled>false</enabled> |
| </snapshots> |
| </pluginRepository> |
| <pluginRepository> |
| <id>central</id> |
| <name>Central Repository</name> |
| <url>https://repo.maven.apache.org/maven2</url> |
| <layout>default</layout> |
| <snapshots> |
| <enabled>false</enabled> |
| </snapshots> |
| <releases> |
| <updatePolicy>never</updatePolicy> |
| </releases> |
| </pluginRepository> |
| </pluginRepositories> |
| |
| <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-3.1.jar handling this explicitly Must be in root lib --> |
| <dependency> |
| <groupId>org.eclipse.jetty.toolchain</groupId> |
| <artifactId>jetty-schemas</artifactId> |
| <version>3.1</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>1.2.3</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.slf4j</groupId> |
| <artifactId>slf4j-log4j12</artifactId> |
| <version>${org.slf4j.version}</version> |
| </dependency> |
| <dependency> |
| <groupId>org.bouncycastle</groupId> |
| <artifactId>bcprov-jdk15on</artifactId> |
| <version>${org.bouncycastle.version}</version> |
| </dependency> |
| <dependency> |
| <groupId>org.bouncycastle</groupId> |
| <artifactId>bcpkix-jdk15on</artifactId> |
| <version>${org.bouncycastle.version}</version> |
| </dependency> |
| <dependency> |
| <groupId>org.bouncycastle</groupId> |
| <artifactId>bcpg-jdk15on</artifactId> |
| <version>${org.bouncycastle.version}</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.7.2</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>2.28.2</version> |
| </dependency> |
| <dependency> |
| <groupId>org.mockito</groupId> |
| <artifactId>mockito-junit-jupiter</artifactId> |
| <version>2.28.2</version> |
| </dependency> |
| <dependency> |
| <groupId>org.codehaus.groovy</groupId> |
| <artifactId>groovy-all</artifactId> |
| <version>${nifi.groovy.version}</version> |
| <type>pom</type> |
| <scope>test</scope> |
| </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>1.3-groovy-2.5</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</artifactId> |
| <version>1.11.3</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-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.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</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> |
| </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.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.8.1</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>${nifi.groovy.version}-01</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> |
| <forkNode implementation="org.apache.maven.plugin.surefire.extensions.SurefireForkNodeFactory"/> |
| <argLine combine.children="append">-Xmx1g |
| -Djava.net.preferIPv4Stack=true |
| -Duser.language=${user.language} |
| -Duser.country=${user.country} |
| -Duser.timezone=${user.timezone} |
| -Dfile.encoding=UTF-8</argLine> |
| </configuration> |
| </plugin> |
| <plugin> |
| <groupId>org.apache.maven.plugins</groupId> |
| <artifactId>maven-assembly-plugin</artifactId> |
| <configuration> |
| <tarLongFileMode>gnu</tarLongFileMode> |
| </configuration> |
| </plugin> |
| <plugin> |
| <groupId>org.codehaus.mojo</groupId> |
| <artifactId>jaxb2-maven-plugin</artifactId> |
| <version>2.5.0</version> |
| </plugin> |
| <plugin> |
| <groupId>org.codehaus.mojo</groupId> |
| <artifactId>exec-maven-plugin</artifactId> |
| <version>1.6.0</version> |
| </plugin> |
| <plugin> |
| <groupId>org.apache.maven.plugins</groupId> |
| <artifactId>maven-javadoc-plugin</artifactId> |
| <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> |
| </configuration> |
| </plugin> |
| <plugin> |
| <groupId>org.apache.maven.plugins</groupId> |
| <artifactId>maven-release-plugin</artifactId> |
| <configuration> |
| <useReleaseProfile>true</useReleaseProfile> |
| <releaseProfiles>apache-release</releaseProfiles> |
| <autoVersionSubmodules>true</autoVersionSubmodules> |
| <goals>deploy</goals> |
| <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>org.codehaus.mojo</groupId> |
| <artifactId>rpm-maven-plugin</artifactId> |
| <version>2.1.5</version> |
| </plugin> |
| <plugin> |
| <groupId>org.codehaus.mojo</groupId> |
| <artifactId>buildnumber-maven-plugin</artifactId> |
| <version>1.4</version> |
| </plugin> |
| <plugin> |
| <groupId>org.antlr</groupId> |
| <artifactId>antlr3-maven-plugin</artifactId> |
| <version>3.5.2</version> |
| </plugin> |
| <plugin> |
| <groupId>org.apache.maven.plugins</groupId> |
| <artifactId>maven-checkstyle-plugin</artifactId> |
| <version>3.1.0</version> |
| <dependencies> |
| <dependency> |
| <groupId>com.puppycrawl.tools</groupId> |
| <artifactId>checkstyle</artifactId> |
| <version>8.29</version> |
| </dependency> |
| </dependencies> |
| </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>${nifi.groovy.version}-01</version> |
| </dependency> |
| </dependencies> |
| </plugin> |
| <plugin> |
| <groupId>org.apache.nifi</groupId> |
| <artifactId>nifi-nar-maven-plugin</artifactId> |
| <version>1.3.2</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.8</version> |
| <extensions>true</extensions> |
| <configuration> |
| <stagingProgressTimeoutMinutes>15</stagingProgressTimeoutMinutes> |
| <serverId>repository.apache.org</serverId> |
| <nexusUrl>https://repository.apache.org/</nexusUrl> |
| </configuration> |
| </plugin> |
| <plugin> |
| <groupId>org.apache.maven.plugins</groupId> |
| <artifactId>maven-enforcer-plugin</artifactId> |
| <version>3.0.0</version> |
| <executions> |
| <execution> |
| <id>enforce-maven</id> |
| <goals> |
| <goal>enforce</goal> |
| </goals> |
| <configuration> |
| <rules> |
| <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> |
| <!-- We do not test this value so we should probably make it something fairly recent --> |
| <version>3.6.0</version> |
| </requireMavenVersion> |
| </rules> |
| </configuration> |
| </execution> |
| <execution> |
| <id>enforce-no-snapshots</id> |
| <goals> |
| <goal>enforce</goal> |
| </goals> |
| <configuration> |
| <rules> |
| <requireReleaseDeps> |
| <message>Other than org apache nifi components themselves no snapshot dependencies are allowed</message> |
| <!-- If we want to only enforce this for nifi release itself we should add 'onlyWhenRelease' and remove 'failWhenParentIsSnapshot' element --> |
| <failWhenParentIsSnapshot>false</failWhenParentIsSnapshot> |
| <excludes> |
| <exclude>org.apache.nifi:*</exclude> |
| <exclude>org.apache.nifi.minifi:*</exclude> |
| <exclude>org.apache.nifi.registry:*</exclude> |
| </excludes> |
| </requireReleaseDeps> |
| </rules> |
| <fail>true</fail> |
| </configuration> |
| </execution> |
| <execution> |
| <id>enforce-banned-dependencies</id> |
| <goals> |
| <goal>enforce</goal> |
| </goals> |
| <configuration> |
| <rules> |
| <bannedDependencies> |
| <excludes> |
| <!-- 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:*:*:compile</exclude> |
| </excludes> |
| <includes> |
| <!-- Versions of JSR305 after 3.0.1 are allowed https://github.com/findbugsproject/findbugs/issues/128 --> |
| <include>com.google.code.findbugs:jsr305:[3.0.0,)</include> |
| </includes> |
| </bannedDependencies> |
| </rules> |
| <fail>true</fail> |
| </configuration> |
| </execution> |
| </executions> |
| </plugin> |
| <plugin> |
| <groupId>org.apache.maven.plugins</groupId> |
| <artifactId>maven-checkstyle-plugin</artifactId> |
| <configuration> |
| <checkstyleRules> |
| <module name="Checker"> |
| <property name="charset" value="UTF-8" /> |
| <property name="severity" value="warning" /> |
| <!-- Checks for whitespace --> |
| <!-- See http://checkstyle.sf.net/config_whitespace.html --> |
| <module name="FileTabCharacter"> |
| <property name="eachLine" value="true" /> |
| </module> |
| <module name="LineLength"> |
| <!-- needs extra, because Eclipse formatter |
| ignores the ending left brace --> |
| <property name="max" value="200" /> |
| <property name="ignorePattern" value="^package.*|^import.*|a href|href|http://|https://|ftp://" /> |
| </module> |
| <module name="TreeWalker"> |
| <module name="RegexpSinglelineJava"> |
| <property name="format" value="\s+$" /> |
| <property name="message" value="Line has trailing whitespace." /> |
| </module> |
| <module name="RegexpSinglelineJava"> |
| <property name="format" value="[@]see\s+[{][@]link" /> |
| <property name="message" value="Javadoc @see does not need @link: pick one or the other." /> |
| </module> |
| <module name="OuterTypeFilename" /> |
| <module name="AvoidStarImport" /> |
| <module name="UnusedImports"> |
| <property name="processJavadoc" value="true" /> |
| </module> |
| <module name="NoLineWrap" /> |
| <module name="LeftCurly" /> |
| <module name="RightCurly" /> |
| <module name="RightCurly"> |
| <property name="option" value="alone_or_singleline" /> |
| <property name="tokens" value="CLASS_DEF, METHOD_DEF, CTOR_DEF, LITERAL_FOR, LITERAL_WHILE, STATIC_INIT" /> |
| </module> |
| <module name="SeparatorWrap"> |
| <property name="tokens" value="DOT" /> |
| <property name="option" value="nl" /> |
| </module> |
| <module name="SeparatorWrap"> |
| <property name="tokens" value="COMMA" /> |
| <property name="option" value="EOL" /> |
| </module> |
| <module name="PackageName"> |
| <property name="format" value="^[a-z]+(\.[a-z][a-zA-Z0-9]*)*$" /> |
| </module> |
| <module name="MethodTypeParameterName"> |
| <property name="format" value="(^[A-Z][0-9]?)$|([A-Z][a-zA-Z0-9]*[T]$)" /> |
| </module> |
| <module name="MethodParamPad" /> |
| <module name="OperatorWrap"> |
| <property name="option" value="NL" /> |
| <property name="tokens" value="BAND, BOR, BSR, BXOR, DIV, EQUAL, GE, GT, LAND, LE, LITERAL_INSTANCEOF, LOR, LT, MINUS, MOD, NOT_EQUAL, QUESTION, SL, SR, STAR " /> |
| </module> |
| <module name="AnnotationLocation"> |
| <property name="tokens" value="CLASS_DEF, INTERFACE_DEF, ENUM_DEF, METHOD_DEF, CTOR_DEF" /> |
| </module> |
| <module name="AnnotationLocation"> |
| <property name="tokens" value="VARIABLE_DEF" /> |
| <property name="allowSamelineMultipleAnnotations" value="true" /> |
| </module> |
| <module name="NonEmptyAtclauseDescription" /> |
| <module name="JavadocMethod"> |
| <property name="allowMissingParamTags" value="true" /> |
| <property name="allowMissingReturnTag" value="true" /> |
| <property name="allowedAnnotations" value="Override,Test,BeforeClass,AfterClass,Before,After" /> |
| </module> |
| <module name="SingleLineJavadoc" /> |
| </module> |
| </module> |
| </checkstyleRules> |
| <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> |
| <!-- Checks style and licensing requirements. This is a good |
| idea to run for contributions and for the release process. While it would |
| be nice to run always these plugins can considerably slow the build and have |
| proven to create unstable builds in our multi-module project and when building |
| using multiple threads. The stability issues seen with Checkstyle in multi-module |
| builds include false-positives and false negatives. --> |
| <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>verify</phase> |
| </execution> |
| </executions> |
| </plugin> |
| <plugin> |
| <groupId>org.apache.maven.plugins</groupId> |
| <artifactId>maven-checkstyle-plugin</artifactId> |
| <executions> |
| <execution> |
| <id>check-style</id> |
| <phase>verify</phase> |
| <configuration> |
| <encoding>UTF-8</encoding> |
| <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> |
| <!-- This profile will disable DocLint which performs strict |
| JavaDoc processing which was introduced in JDK 8. These are technically errors |
| in the JavaDoc which we need to eventually address. However, if a release |
| is performed using JDK 8 or newer, the JavaDoc generation would fail. By activating |
| this profile when running on JDK 8 or newer we can ensure the JavaDocs continue to |
| generate successfully --> |
| <id>disable-doclint</id> |
| <activation> |
| <jdk>[1.8,)</jdk> |
| </activation> |
| <build> |
| <pluginManagement> |
| <plugins> |
| <plugin> |
| <groupId>org.apache.maven.plugins</groupId> |
| <artifactId>maven-javadoc-plugin</artifactId> |
| <configuration> |
| <additionalparam>-Xdoclint:none</additionalparam> |
| </configuration> |
| </plugin> |
| </plugins> |
| </pluginManagement> |
| </build> |
| </profile> |
| <profile> |
| <!-- This profile, activating when compiling on Java versions above 1.8, provides configuration changes to |
| allow NiFi to be compiled on those JDKs. --> |
| <id>jigsaw</id> |
| <activation> |
| <jdk>(1.8,)</jdk> |
| </activation> |
| <properties> |
| <maven.compiler.source>11</maven.compiler.source> |
| <maven.compiler.target>11</maven.compiler.target> |
| </properties> |
| <build> |
| <pluginManagement> |
| <plugins> |
| <plugin> |
| <groupId>org.jvnet.jaxb2.maven2</groupId> |
| <artifactId>maven-jaxb2-plugin</artifactId> |
| <version>0.14.0</version> |
| </plugin> |
| </plugins> |
| </pluginManagement> |
| </build> |
| <dependencyManagement> |
| <dependencies> |
| <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> |
| </dependencies> |
| </dependencyManagement> |
| </profile> |
| <!-- The following profiles are here as a convenience for folks that |
| want to build against vendor-specific distributions of the various Hadoop |
| ecosystem libraries. These will alter which dependencies are sourced in a |
| manner that can adjust the correct LICENSE and NOTICE requirements for any |
| affected jar and the resulting assembly overall. These L&N impacts are not |
| automatically handled by the build process and are the responsibility of |
| those creating and using the resulting binary artifacts. --> |
| <profile> |
| <!-- This profile adds the Hortonworks repository for resolving |
| Hortonworks Data Platform (HDP) artifacts for the Hadoop bundles --> |
| <id>hortonworks</id> |
| <repositories> |
| <repository> |
| <id>hortonworks-releases</id> |
| <name>Hortonworks Repository</name> |
| <url>https://repo.hortonworks.com/content/repositories/releases/</url> |
| <releases> |
| <enabled>true</enabled> |
| <updatePolicy>always</updatePolicy> |
| <checksumPolicy>warn</checksumPolicy> |
| </releases> |
| <snapshots> |
| <enabled>false</enabled> |
| <updatePolicy>never</updatePolicy> |
| <checksumPolicy>fail</checksumPolicy> |
| </snapshots> |
| </repository> |
| <repository> |
| <id>hortonworks-jetty</id> |
| <name>Hortonworks Jetty Repository</name> |
| <url>https://repo.hortonworks.com/content/repositories/jetty-hadoop/</url> |
| <releases> |
| <enabled>true</enabled> |
| <updatePolicy>always</updatePolicy> |
| <checksumPolicy>warn</checksumPolicy> |
| </releases> |
| <snapshots> |
| <enabled>false</enabled> |
| <updatePolicy>never</updatePolicy> |
| <checksumPolicy>fail</checksumPolicy> |
| </snapshots> |
| </repository> |
| </repositories> |
| <properties> |
| <!-- Vendor-specific version number included here as default, |
| should be overridden on the command-line <hadoop.version>2.7.1.2.4.0.0-169</hadoop.version> --> |
| </properties> |
| </profile> |
| <profile> |
| <!-- This profile will add the MapR repository for resolving |
| MapR Hadoop artifacts for the Hadoop bundles --> |
| <id>mapr</id> |
| <repositories> |
| <repository> |
| <id>mapr-releases</id> |
| <name>MapR Repository</name> |
| <url>https://repository.mapr.com/maven/</url> |
| <snapshots> |
| <enabled>false</enabled> |
| </snapshots> |
| <releases> |
| <enabled>true</enabled> |
| </releases> |
| </repository> |
| </repositories> |
| <properties> |
| <!-- Vendor-specific version number included here as default, |
| should be overridden on the command-line <hadoop.version>2.7.0-mapr-1602</hadoop.version> --> |
| </properties> |
| </profile> |
| <profile> |
| <!-- This profile will add the Cloudera repository for resolving |
| Cloudera Distribution of Hadoop (CDH) artifacts for the Hadoop bundles --> |
| <id>cloudera</id> |
| <repositories> |
| <repository> |
| <id>cloudera-repo</id> |
| <name>Cloudera Repository</name> |
| <url>https://repository.cloudera.com/artifactory/cloudera-repos</url> |
| <releases> |
| <enabled>true</enabled> |
| </releases> |
| <snapshots> |
| <enabled>false</enabled> |
| </snapshots> |
| </repository> |
| </repositories> |
| <properties> |
| <!-- Vendor-specific version number included here as default, |
| should be overridden on the command-line <hadoop.version>2.6.0-cdh5.8.1</hadoop.version> --> |
| </properties> |
| </profile> |
| <profile> |
| <!-- Run "mvn clean verify -P owasp" to generate dependency-check-report.html in the target directory --> |
| <!-- Report results require detailed analysis to determine whether the vulnerability impacts the application --> |
| <id>owasp</id> |
| <properties> |
| <skipTests>true</skipTests> |
| </properties> |
| <build> |
| <plugins> |
| <plugin> |
| <groupId>org.owasp</groupId> |
| <artifactId>dependency-check-maven</artifactId> |
| <version>6.3.1</version> |
| <executions> |
| <execution> |
| <inherited>false</inherited> |
| <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> |
| </configuration> |
| </execution> |
| </executions> |
| </plugin> |
| </plugins> |
| </build> |
| </profile> |
| </profiles> |
| </project> |