Hello,
  I'm having trouble generating documentation for a set of custom NiFi
processors.  I posted a question with all the details here on Stack
Overflow.
https://stackoverflow.com/questions/57530465/how-to-generate-usage-documentation-for-custom-processors

Below is a copy of what I posted.  Thanks for any help with this.

David P.


I have created several custom NiFi processors, but have been unable to
get usage documentation to be generated. 'Usage' documentation refers
to right clicking on a processor and selecting 'Usage', which should
bring up documentation about that specific processor. The
documentation panel is displayed, but none of my custom processors are
present.

I used several NiFi documentation tags on my custom processor classes
including several Read/Written attributes. The code compiles and unit
tests without any issues. The build reports

[INFO] Generating documentation for NiFi extensions in the NAR...

According to the developer guide documentation is supposed to
automatically be generated.

I also tried creating an additionalDetails.html file and putting it in
the nar according the documentation.

This file should exist within a directory whose name is the
fully-qualified name of the Processor, and this directory’s parent
should be named docs and exist in the root of the Processor’s jar.

However, that broke NiFi and I found this in the logs.

        === End Processor types ===
2019-08-16 15:16:36,100 WARN [main]
org.apache.nifi.web.server.JettyServer Failed to start web server...
shutting down.
java.lang.NullPointerException: null
        at 
org.apache.nifi.documentation.DocGenerator.generate(DocGenerator.java:62)
        at org.apache.nifi.web.server.JettyServer.start(JettyServer.java:932)
        at org.apache.nifi.NiFi.<init>(NiFi.java:158)
        at org.apache.nifi.NiFi.<init>(NiFi.java:72)
        at org.apache.nifi.NiFi.main(NiFi.java:297)
2019-08-16 15:16:36,100 INFO [Thread-1] org.apache.nifi.NiFi
Initiating shutdown of Jetty web server...

I'm using the standard nifi-nar-maven-plugin to generate the nar file.
Here's a snippet of my pom.xmlfile.

<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
http://maven.apache.org/maven-v4_0_0.xsd";>;
  <modelVersion>4.0.0</modelVersion>
  <groupId>com.myorg</groupId>
  <artifactId>nifi-mylib</artifactId>
  <packaging>nar</packaging>
  <version>0.0.3</version>
  <name>nifi-mylib</name>

  <properties>
      <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
      <maven.compiler.source>1.8</maven.compiler.source>
      <maven.compiler.target>1.8</maven.compiler.target>
      <nifi.version>1.9.2</nifi.version>
  </properties>

  <dependencies>
      <dependency>
          <groupId>org.apache.nifi</groupId>
          <artifactId>nifi-api</artifactId>
          <version>${nifi.version}</version>
      </dependency>
      ...
  </dependencies>

  <build>
      <plugins>
          <plugin>
              <groupId>org.apache.nifi</groupId>
              <artifactId>nifi-nar-maven-plugin</artifactId>
              <version>1.3.1</version>
              <extensions>true</extensions>
          </plugin>
          <plugin>
              <groupId>org.apache.maven.plugins</groupId>
              <artifactId>maven-surefire-plugin</artifactId>
              <version>2.15</version>
          </plugin>
      </plugins>
  </build>
</project>

The generated .nar (without the additionalDetails.html file) load
correctly and appear in the list of processors. It's just the Usage
documentation that I can't get to work.

Reply via email to