mirror of
https://github.com/apache/nifi.git
synced 2025-02-08 19:14:57 +00:00
33187f8058
Added "jigsaw" profile to multiple modules, which auto-activates when building with Java 11 and adds several dependencies: jaxb, activation, and annotation-api. Updated SslContextFactory to return tuple of socket factory with trust manager for issue with okhttp api changes in java 9+ Updated TestGet/PostHTTPGroovy to use default SSL context to get default cipher suites Updated StandardTemplateDAOSpec.groovy, was using a 37-character UUID, shortened to 36 characters. Multiple tests updated to specifically use TLSv1.2, since two-way TLSv1.3 for some component tests fail during the Java 11 build. Needs more investigation. Replaced GString with String concatenation for map key's value in ScriptedReportingTaskGroovyTest to avoid runtime error of casting GString to String when retrieved from a map that is storing the GString Removed nifi-toolkit-api plugin configuration of maven-compiler-plugin, it is inherited Resolved deprecation errors during Groovy compile for bouncycastle, Extension should be used in place of X509Extension Fixed JNAOverridingJUnitRunner's creation of the classpath for the custom classloader created to be able to mock jna classes Removed import of IOUtils (from the wrong package) from InferenceSchemaStrategy Updated maven-compiler-plugin version to 3.8.1 TLS (default in Java 11 is TLSv1.3) working for Site-to-Site client tests after upgrading JDK installation to JDK 11.0.3, httpclient5 5.0-beta4, and httpasyncclient 4.1.4 HttpNotificationService updated to find and use the first found X509TrustManager rather than casting directly from the array of TrustManagers returned from SslContextFactory Removed unnecessary throws declaration from getSslSocketFactory method Replaced DnsContextFactory.class.getName() with a string to avoid having to export/open the jdk.naming.dns module Updated TestGetIgniteCache and TestPutIgniteCache.java to skip tests on Java 11+ (via Assume), and noted the check should be removed once a version of Ignite is released that supports Java 11 Updated SpringContextProcessor to create proper ClassLoader and uses URLClassloader.getResource() instead of URLClassloader.findResource() in isConfigResolvable. Due to the application classloader no longer being a URLClassLoader in Java 9+, the URLClassLoader created in isConfigResolvable no longer has explicit access to the parent's resources as URLs. URLClassLoader.getResource() searches the parent classloaders, and must be used instead of URLClassLoader.findResource() which only searches the URLs in the URLClassLoader and does not search the parent classloaders. NIFI-5176 Moved exclusion of jdk.tools to the jigsaw profile in the POMs of nifi-hbase_1_1_2-client-service and nifi-hbase_2-client-service NIFI-5176 Updated site-to-site-client's POM to use properties to establish the correct httpclient dependency for when building with Java 11 This closes #3404.
917 lines
43 KiB
XML
917 lines
43 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>19</version>
|
|
<relativePath />
|
|
</parent>
|
|
<groupId>org.apache.nifi</groupId>
|
|
<artifactId>nifi</artifactId>
|
|
<version>1.10.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-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-stateless</module>
|
|
<module>nifi-docker</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>
|
|
<prerequisites>
|
|
<maven>${maven.min-version}</maven>
|
|
</prerequisites>
|
|
<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.min-version>3.1.1</maven.min-version>
|
|
<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.26</org.slf4j.version>
|
|
<ranger.version>1.0.0</ranger.version>
|
|
<jetty.version>9.4.19.v20190610</jetty.version>
|
|
<jackson.version>2.9.9</jackson.version>
|
|
<nifi.registry.version>0.4.0</nifi.registry.version>
|
|
<nifi.groovy.version>2.5.4</nifi.groovy.version>
|
|
<surefire.version>2.22.0</surefire.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>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>
|
|
</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.12</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>
|
|
</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.0.0</version>
|
|
<dependencies>
|
|
<dependency>
|
|
<groupId>com.puppycrawl.tools</groupId>
|
|
<artifactId>checkstyle</artifactId>
|
|
<version>8.21</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>
|
|
<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>
|
|
<version>${maven.min-version}</version>
|
|
</requireMavenVersion>
|
|
</rules>
|
|
</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" />
|
|
<property name="cacheFile" value="target/checkstyleCache"/>
|
|
<!-- Checks for whitespace -->
|
|
<!-- See http://checkstyle.sf.net/config_whitespace.html -->
|
|
<module name="FileTabCharacter">
|
|
<property name="eachLine" value="true" />
|
|
</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="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="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="allowUndeclaredRTE" value="true" />
|
|
<property name="allowMissingJavadoc" value="true" />
|
|
<property name="allowMissingParamTags" value="true" />
|
|
<property name="allowMissingThrowsTags" value="true" />
|
|
<property name="allowMissingReturnTag" value="true" />
|
|
<property name="allowedAnnotations" value="Override,Test,BeforeClass,AfterClass,Before,After" />
|
|
<property name="allowThrowsTagsForSubclasses" value="true" />
|
|
</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>.travis-output-filters</exclude> <!-- grep patterns to exclude from travis output -->
|
|
</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>
|