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 <[email protected]>
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
 

Reply via email to