mirror of https://github.com/apache/nifi.git
1004 lines
47 KiB
XML
1004 lines
47 KiB
XML
<?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.13.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-toolkit</module>
|
|
<module>nifi-docker</module>
|
|
<module>nifi-system-tests</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.surefire.arguments />
|
|
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
|
|
<project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
|
|
<inceptionYear>2014</inceptionYear>
|
|
<org.slf4j.version>1.7.30</org.slf4j.version>
|
|
<ranger.version>2.1.0</ranger.version>
|
|
<jetty.version>9.4.34.v20201102</jetty.version>
|
|
<jackson.version>2.9.10</jackson.version>
|
|
<jackson-databind.version>2.9.10.5</jackson-databind.version>
|
|
<nifi.registry.version>0.8.0</nifi.registry.version>
|
|
<nifi.groovy.version>2.5.4</nifi.groovy.version>
|
|
<surefire.version>2.22.2</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.2.1</hadoop.version>
|
|
<ozone.version>1.0.0</ozone.version>
|
|
<gcs.version>2.1.5</gcs.version>
|
|
<aspectj.version>1.9.6</aspectj.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>
|
|
</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>
|
|
<pluginRepository>
|
|
<id>bintray</id>
|
|
<name>Groovy Bintray</name>
|
|
<url>https://dl.bintray.com/groovy/maven</url>
|
|
<releases>
|
|
<updatePolicy>never</updatePolicy>
|
|
</releases>
|
|
<snapshots>
|
|
<enabled>false</enabled>
|
|
</snapshots>
|
|
</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>ch.qos.logback</groupId>
|
|
<artifactId>jcl-over-slf4j</artifactId>
|
|
<version>1.2.3</version>
|
|
<scope>provided</scope>
|
|
<exclusions>
|
|
<exclusion>
|
|
<groupId>org.slf4j</groupId>
|
|
<artifactId>slf4j-api</artifactId>
|
|
</exclusion>
|
|
</exclusions>
|
|
</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>
|
|
|
|
<!-- These junit/mockito/groovy/spock/hamcrest dependencies are here to encourage consistent unit test library usage -->
|
|
<dependency>
|
|
<groupId>junit</groupId>
|
|
<artifactId>junit</artifactId>
|
|
<version>4.13.1</version>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>org.mockito</groupId>
|
|
<artifactId>mockito-core</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>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>junit</groupId>
|
|
<artifactId>junit</artifactId>
|
|
<scope>test</scope>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>org.mockito</groupId>
|
|
<artifactId>mockito-core</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>
|
|
<optimize>true</optimize>
|
|
<showDeprecation>true</showDeprecation>
|
|
<showWarnings>true</showWarnings>
|
|
</configuration>
|
|
</plugin>
|
|
<plugin>
|
|
<groupId>org.codehaus.groovy</groupId>
|
|
<artifactId>groovy-eclipse-compiler</artifactId>
|
|
<version>3.4.0-01</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>
|
|
<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>
|
|
<argLine combine.children="append">-Xmx1G
|
|
-Djava.net.preferIPv4Stack=true
|
|
${maven.surefire.arguments}
|
|
-Dfile.encoding=UTF-8</argLine>
|
|
</configuration>
|
|
<dependencies>
|
|
<dependency>
|
|
<!-- Force surefire to use JUnit -->
|
|
<groupId>org.apache.maven.surefire</groupId>
|
|
<artifactId>surefire-junit4</artifactId>
|
|
<version>${surefire.version}</version>
|
|
</dependency>
|
|
</dependencies>
|
|
</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.3.1</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>
|
|
<version>3.8.1</version>
|
|
<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.4.0-01</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.1</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-M3</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.1.1</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.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 -->
|
|
<exclude>.github/PULL_REQUEST_TEMPLATE.md</exclude> <!-- PR Template for GitHub that does not have a mechanism of including comments -->
|
|
<exclude>.github/workflows/ci-workflow.yml</exclude>
|
|
</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>javax.xml.bind</groupId>
|
|
<artifactId>jaxb-api</artifactId>
|
|
<version>2.3.0</version>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>com.sun.xml.bind</groupId>
|
|
<artifactId>jaxb-core</artifactId>
|
|
<version>2.3.0</version>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>com.sun.xml.bind</groupId>
|
|
<artifactId>jaxb-impl</artifactId>
|
|
<version>2.3.0</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>
|
|
</profiles>
|
|
</project>
|