You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@nifi.apache.org by an...@apache.org on 2022/03/14 12:51:27 UTC

[nifi] branch main updated: NIFI-9765 Added documentation that covers how to build a custom binar… (#5840)

This is an automated email from the ASF dual-hosted git repository.

andrewmlim pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/nifi.git


The following commit(s) were added to refs/heads/main by this push:
     new 237e481  NIFI-9765 Added documentation that covers how to build a custom binar… (#5840)
237e481 is described below

commit 237e481c4a2acadc67cd65001b52e74874741ccd
Author: Mike <mt...@apache.org>
AuthorDate: Mon Mar 14 08:51:16 2022 -0400

    NIFI-9765 Added documentation that covers how to build a custom binar… (#5840)
    
    * NIFI-9765 Added documentation that covers how to build a custom binary distribution of NiFi for internal use by NiFi users.
    
    * Added 'clean' to Maven command example.
    
    * NIFI-9765 Updated content based on review.
    
    * Two updates requested in a review.
---
 .../src/main/asciidoc/administration-guide.adoc    | 12 ++++++++++
 nifi-docs/src/main/asciidoc/developer-guide.adoc   | 27 ++++++++++++++++++++++
 2 files changed, 39 insertions(+)

diff --git a/nifi-docs/src/main/asciidoc/administration-guide.adoc b/nifi-docs/src/main/asciidoc/administration-guide.adoc
index ba16a55..d2f7d76 100644
--- a/nifi-docs/src/main/asciidoc/administration-guide.adoc
+++ b/nifi-docs/src/main/asciidoc/administration-guide.adoc
@@ -76,6 +76,18 @@ NOTE: For security purposes, when no security configuration is provided NiFi wil
 
 See the <<system_properties>> section of this guide for more information about configuring NiFi repositories and configuration files.
 
+== Build a Custom Distribution
+
+The binary build of Apache NiFi that is provided by the Apache mirrors does not contain every NAR file that is part of the official release. This is due to size constraints imposed by the mirrors to reduce the expenses associated with hosting such a large project. The Developer Guide link:developer-guide.html#build[has a list] of optional Maven profiles that can be activated to build a binary distribution of NiFi with these extra capabilities.
+
+To execute build, download either Java 8 or Java 11 from https://www.adoptium.net[Adoptium] or whichever distribution of the JDK your team uses (Adoptium is the rebranding of AdoptOpenJDK which is one of the most popular). Java 8 and 11 are the only officially supported JVM releases. Then install https://maven.apache.org[Apache Maven].
+
+The next step is to download a copy of the Apache NiFi source code from the https://nifi.apache.org/download.html[NiFi Downloads page]. The reason you need the source build is that it includes a module called `nifi-assembly` which is the Maven module that builds a binary distribution. Expand the archive and run a Maven clean build. The following example shows how to build a distribution that activates the `graph` and `media` bundle profiles to add in support for graph databases and Apach [...]
+
+`cd <nifi_source_folder>/nifi-assembly`
+
+`mvn clean install -Pinclude-grpc,include-graph,include-media`
+
 == Port Configuration
 
 === NiFi
diff --git a/nifi-docs/src/main/asciidoc/developer-guide.adoc b/nifi-docs/src/main/asciidoc/developer-guide.adoc
index 28280af..a136e14 100644
--- a/nifi-docs/src/main/asciidoc/developer-guide.adoc
+++ b/nifi-docs/src/main/asciidoc/developer-guide.adoc
@@ -2582,6 +2582,33 @@ Sometimes it may be desirable to deprecate a component. Whenever this occurs the
 As you can see, the alternatives can be used to define and array of alternative Components, while classNames can be
 used to represent the similar content through an array of strings.
 
+[[build]]
+== Build Options
+=== Maven Profiles
+
+[options="header,footer"]
+|==================================================================================================================================================
+| Package                                         | Maven Profile       | Description
+| Apache Accumulo Bundle | include-accumulo   | Adds support for https://accumulo.apache.org[Apache Accumulo].
+| Apache Atlas Bundle | include-atlas | Adds support for the Apache Atlas data governance tool. The functionality from this bundle is based around reporting tasks that integrate with https://atlas.apache.org[Apache Atlas].
+| Apache Hive 1.1 Bundle | include-hive1_1 | Adds support for Apache Hive 1.1.X.
+| Apache Hive 3 Bundle | include-hive3 | Adds support for Apache Hive 3.X
+| Apache Ranger Bundle | include-ranger | Adds support for https://ranger.apache.org[Apache Ranger].
+| ASN1 Support | include-asn1 | Adds support for ASN1
+| Contribution Check | contrib-check | Runs various quality checks that are required to be accepted before a contribution can be accepted into the core NiFi code base.
+| Graph Database Bundle | include-graph     | Adds support for various common graph database scenarios. Support is currently for https://neo4j.com/developer/cypher[Cypher] and https://tinkerpop.apache.org/gremlin.html[Gremlin]-compatible databases such as Neo4J and JanusGraph. Includes controller services that provide driver functionality and a suite of processors for ingestion and querying.
+| GRPC Bundle | include-grpc | **This profile is active in official builds and should be active** Provides support for the GRPC protocol.
+| Media Bundle | include-media | The media bundle provides functionality based on https://tika.apache.org[Apache Tika] for extracting content and metadata from various types of binary formats supported by Apache Tika (ex. PDF, Microsoft Office).
+| Rules Engine Bundle | include-rules | Adds support for creating scripted rules engines that can be integrated into existing flows. These rules engines can provide flexibility to people who need more complex flow logic or are more comfortable with flow decision-making using custom code.
+| Snowflake Bundle | include-snowflake | Adds support for integration with the https://www.snowflake.com[Snowflake platform].
+| SQL Reporting Bundle | include-sql-reporting | Adds reporting tasks that are designed to use SQL to update a RDBMS with metrics and other related data from Apache NiFi.
+|==================================================================================================================================================
+
+=== Standard Build Instructions
+
+The following command is used to generate a standard binary distribution of Apache NiFi:
+
+`mvn clean install -Pinclude-grpc,contrib-check`
 
 == How to contribute to Apache NiFi