Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

  1. Remove the <parent>...</parent> from the bundle's root pom, or replace it with another desired parent

  2. Add the nar plugin to bundle's root pom (ensure the latest version of the nar plugin is being used):

    <build>
            <plugins>
                <plugin>
                    <groupId>org.apache.nifi</groupId>
                    <artifactId>nifi-nar-maven-plugin</artifactId>
                    <version>1.0.1-incubating</version>
                    <extensions>true</extensions>
                </plugin>
            </plugins>
        </build>

     

  3. Specify the necessary dependency versions in the bundle's processors pom. This is required because the default behavior is for the dependencies to inherit their versions through the nifi-nar-bundle parent, so with a different parent these versions will have to be explicitly set. In addition, the nifi-nar-bundle parent normally sets the nifi-api dependency to provided, so this should be explicitly set in the processors pom.

Common Dependencies

NiFi provides a mechanism to share common functionality through the concept of ControllerServices. A ControllerService is typically composed of the following:

  • A Maven project providing the API (i.e. the Java interface that extends the ControllerService interface)
  • A Maven project that packages the API in NAR
  • A Maven project providing an implementation of the above interfaceAPI
  • A Maven project that packages the implementation in a NAR

...