mirror of
https://github.com/apache/nifi.git
synced 2025-02-11 12:35:20 +00:00
6e9bef1428
Added command options for basic auth and bearer token and updated NiFiClientFactory to create the appropriate RequestConfig Added get-token command for NiFi Update NiFi Registry CLI commands based on nifi-registry-client 0.8.0-SNAPSHOT Implementing commands for NiFi and NiFi Registry to obtain a token via SPNEGO and to logout a given token Add Keberos JAAS classes for using the ticket cache, update GetAccessTokenSpnego methods to fallback to ticket cache when no keytab or password is specified Use released 0.8.0 version of registry client Signed-off-by: Pierre Villard <pierre.villard.fr@gmail.com> This closes #4461.
999 lines
47 KiB
XML
999 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.26.v20200117</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>
|
|
</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>
|