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