I am trying to develop a custom NAR bundle with a custom processor and a
custom service. The project setup is similar to
https://github.com/pcgrenier/nifi-examples/tree/sample-processor
so let's consider that project for debugging. Will appreciate any pointers
to how that sample project needs to be changed to perform successful
artifact resolution during NAR document generation.
The project builds, however the documentation is not created for the NAR
files. When I change the version of NAR maven plugin to 1.3.1 and force doc
gen I get an error:
<plugin>
<groupId>org.apache.nifi</groupId>
<artifactId>nifi-nar-maven-plugin</artifactId>
<version>1.3.1</version>
<extensions>true</extensions>
<configuration>
<enforceDocGeneration>true</enforceDocGeneration>
</configuration>
</plugin>
[INFO] --- nifi-nar-maven-plugin:1.3.1:nar (default-nar) @
sample-controller-service-api-nar ---
[INFO] Copying sample-controller-service-api-1.0-SNAPSHOT.jar to
/Users/adenissov/workspace/nifi-examples/sample-controller-service-api-nar/target/classes/META-INF/bundled-dependencies/sample-controller-service-api-1.0-SNAPSHOT.jar
[INFO] Generating documentation for NiFi extensions in the NAR...
[INFO] Found a dependency on version 1.0-SNAPSHOT of NiFi API
[ERROR] Could not generate extensions' documentation
org.apache.maven.plugin.MojoExecutionException: Failed to create Extension
Documentation
at org.apache.nifi.NarMojo.generateDocumentation (NarMojo.java:528)
at org.apache.nifi.NarMojo.execute (NarMojo.java:499)
at org.apache.maven.plugin.DefaultBuildPluginManager.executeMojo
(DefaultBuildPluginManager.java:134)
at org.apache.maven.lifecycle.internal.MojoExecutor.execute
(MojoExecutor.java:208)
at org.apache.maven.lifecycle.internal.MojoExecutor.execute
(MojoExecutor.java:154)
at org.apache.maven.lifecycle.internal.MojoExecutor.execute
(MojoExecutor.java:146)
at
org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject
(LifecycleModuleBuilder.java:117)
at
org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject
(LifecycleModuleBuilder.java:81)
at
org.apache.maven.lifecycle.internal.builder.singlethreaded.SingleThreadedBuilder.build
(SingleThreadedBuilder.java:51)
at org.apache.maven.lifecycle.internal.LifecycleStarter.execute
(LifecycleStarter.java:128)
at org.apache.maven.DefaultMaven.doExecute (DefaultMaven.java:309)
at org.apache.maven.DefaultMaven.doExecute (DefaultMaven.java:194)
at org.apache.maven.DefaultMaven.execute (DefaultMaven.java:107)
at org.apache.maven.cli.MavenCli.execute (MavenCli.java:955)
at org.apache.maven.cli.MavenCli.doMain (MavenCli.java:290)
at org.apache.maven.cli.MavenCli.main (MavenCli.java:194)
at sun.reflect.NativeMethodAccessorImpl.invoke0 (Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke
(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke
(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke (Method.java:498)
at org.codehaus.plexus.classworlds.launcher.Launcher.launchEnhanced
(Launcher.java:289)
at org.codehaus.plexus.classworlds.launcher.Launcher.launch
(Launcher.java:229)
at org.codehaus.plexus.classworlds.launcher.Launcher.mainWithExitCode
(Launcher.java:415)
at org.codehaus.plexus.classworlds.launcher.Launcher.main
(Launcher.java:356)
Caused by: org.apache.maven.plugin.MojoExecutionException: Could not
resolve local dependency org.apache.nifi:nifi-api:jar:1.0-SNAPSHOT
at
org.apache.nifi.extension.definition.extraction.ExtensionClassLoaderFactory.getProvidedArtifact
(ExtensionClassLoaderFactory.java:212)
at
org.apache.nifi.extension.definition.extraction.ExtensionClassLoaderFactory.createProvidedEntitiesClassLoader
(ExtensionClassLoaderFactory.java:245)
at
org.apache.nifi.extension.definition.extraction.ExtensionClassLoaderFactory.createClassLoader
(ExtensionClassLoaderFactory.java:103)
at
org.apache.nifi.extension.definition.extraction.ExtensionClassLoaderFactory.createExtensionClassLoader
(ExtensionClassLoaderFactory.java:88)
at org.apache.nifi.NarMojo.generateDocumentation (NarMojo.java:525)
at org.apache.nifi.NarMojo.execute (NarMojo.java:499)
at org.apache.maven.plugin.DefaultBuildPluginManager.executeMojo
(DefaultBuildPluginManager.java:134)
at org.apache.maven.lifecycle.internal.MojoExecutor.execute
(MojoExecutor.java:208)
at org.apache.maven.lifecycle.internal.MojoExecutor.execute
(MojoExecutor.java:154)
at org.apache.maven.lifecycle.internal.MojoExecutor.execute
(MojoExecutor.java:146)
at
org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject
(LifecycleModuleBuilder.java:117)
at
org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject
(LifecycleModuleBuilder.java:81)
at
org.apache.maven.lifecycle.internal.builder.singlethreaded.SingleThreadedBuilder.build
(SingleThreadedBuilder.java:51)
at org.apache.maven.lifecycle.internal.LifecycleStarter.execute
(LifecycleStarter.java:128)
at org.apache.maven.DefaultMaven.doExecute (DefaultMaven.java:309)
at org.apache.maven.DefaultMaven.doExecute (DefaultMaven.java:194)
at org.apache.maven.DefaultMaven.execute (DefaultMaven.java:107)
at org.apache.maven.cli.MavenCli.execute (MavenCli.java:955)
at org.apache.maven.cli.MavenCli.doMain (MavenCli.java:290)
at org.apache.maven.cli.MavenCli.main (MavenCli.java:194)
at sun.reflect.NativeMethodAccessorImpl.invoke0 (Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke
(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke
(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke (Method.java:498)
at org.codehaus.plexus.classworlds.launcher.Launcher.launchEnhanced
(Launcher.java:289)
at org.codehaus.plexus.classworlds.launcher.Launcher.launch
(Launcher.java:229)
at org.codehaus.plexus.classworlds.launcher.Launcher.mainWithExitCode
(Launcher.java:415)
at org.codehaus.plexus.classworlds.launcher.Launcher.main
(Launcher.java:356)
[INFO]
------------------------------------------------------------------------
[INFO] Reactor Summary:
[INFO]
[INFO] examples ........................................... SUCCESS [
0.145 s]
[INFO] sample-controller-service-api ...................... SUCCESS [
0.840 s]
[INFO] sample-controller-service-api-nar .................. FAILURE [
0.303 s]
[INFO] sample-controller-service .......................... SKIPPED
[INFO] sample-processor ................................... SKIPPED
[INFO] sample-reporting-task .............................. SKIPPED
[INFO] sample-reporting-task-nar .......................... SKIPPED
[INFO] sample-bundle-nar .................................. SKIPPED
[INFO]
------------------------------------------------------------------------
[INFO] BUILD FAILURE
Adding org.apache.nifi:nifi-api explicitly as "provided" dependency to the
sample-controller-service-api-nar/pom.xml as well as slf4j-api one seems to
satisfy the NAR plugin for that package:
<dependency>
<groupId>org.apache.nifi</groupId>
<artifactId>nifi-api</artifactId>
</dependency>
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-api</artifactId>
<scope>provided</scope>
</dependency>
However the build then fails with NPE when generating bundle NAR:
[INFO] Generating documentation for NiFi extensions in the NAR...
[INFO] Found a dependency on version 1.10.0 of NiFi API
[ERROR] Could not generate extensions' documentation
org.apache.maven.plugin.MojoExecutionException: Failed to create Extension
Documentation
at org.apache.nifi.NarMojo.generateDocumentation (NarMojo.java:596)
at org.apache.nifi.NarMojo.execute (NarMojo.java:499)
at org.apache.maven.plugin.DefaultBuildPluginManager.executeMojo
(DefaultBuildPluginManager.java:134)
at org.apache.maven.lifecycle.internal.MojoExecutor.execute
(MojoExecutor.java:208)
at org.apache.maven.lifecycle.internal.MojoExecutor.execute
(MojoExecutor.java:154)
at org.apache.maven.lifecycle.internal.MojoExecutor.execute
(MojoExecutor.java:146)
at
org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject
(LifecycleModuleBuilder.java:117)
at
org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject
(LifecycleModuleBuilder.java:81)
at
org.apache.maven.lifecycle.internal.builder.singlethreaded.SingleThreadedBuilder.build
(SingleThreadedBuilder.java:51)
at org.apache.maven.lifecycle.internal.LifecycleStarter.execute
(LifecycleStarter.java:128)
at org.apache.maven.DefaultMaven.doExecute (DefaultMaven.java:309)
at org.apache.maven.DefaultMaven.doExecute (DefaultMaven.java:194)
at org.apache.maven.DefaultMaven.execute (DefaultMaven.java:107)
at org.apache.maven.cli.MavenCli.execute (MavenCli.java:955)
at org.apache.maven.cli.MavenCli.doMain (MavenCli.java:290)
at org.apache.maven.cli.MavenCli.main (MavenCli.java:194)
at sun.reflect.NativeMethodAccessorImpl.invoke0 (Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke
(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke
(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke (Method.java:498)
at org.codehaus.plexus.classworlds.launcher.Launcher.launchEnhanced
(Launcher.java:289)
at org.codehaus.plexus.classworlds.launcher.Launcher.launch
(Launcher.java:229)
at org.codehaus.plexus.classworlds.launcher.Launcher.mainWithExitCode
(Launcher.java:415)
at org.codehaus.plexus.classworlds.launcher.Launcher.main
(Launcher.java:356)
Caused by: java.lang.NullPointerException
at org.apache.nifi.NarMojo.getRequiredServiceDefinitions
(NarMojo.java:708)
at org.apache.nifi.NarMojo.writeDocumentation (NarMojo.java:634)
at org.apache.nifi.NarMojo.writeDocumentation (NarMojo.java:605)
at org.apache.nifi.NarMojo.generateDocumentation (NarMojo.java:577)
at org.apache.nifi.NarMojo.execute (NarMojo.java:499)
at org.apache.maven.plugin.DefaultBuildPluginManager.executeMojo
(DefaultBuildPluginManager.java:134)
at org.apache.maven.lifecycle.internal.MojoExecutor.execute
(MojoExecutor.java:208)
at org.apache.maven.lifecycle.internal.MojoExecutor.execute
(MojoExecutor.java:154)
at org.apache.maven.lifecycle.internal.MojoExecutor.execute
(MojoExecutor.java:146)
at
org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject
(LifecycleModuleBuilder.java:117)
at
org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject
(LifecycleModuleBuilder.java:81)
at
org.apache.maven.lifecycle.internal.builder.singlethreaded.SingleThreadedBuilder.build
(SingleThreadedBuilder.java:51)
at org.apache.maven.lifecycle.internal.LifecycleStarter.execute
(LifecycleStarter.java:128)
at org.apache.maven.DefaultMaven.doExecute (DefaultMaven.java:309)
at org.apache.maven.DefaultMaven.doExecute (DefaultMaven.java:194)
at org.apache.maven.DefaultMaven.execute (DefaultMaven.java:107)
at org.apache.maven.cli.MavenCli.execute (MavenCli.java:955)
at org.apache.maven.cli.MavenCli.doMain (MavenCli.java:290)
at org.apache.maven.cli.MavenCli.main (MavenCli.java:194)
at sun.reflect.NativeMethodAccessorImpl.invoke0 (Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke
(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke
(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke (Method.java:498)
at org.codehaus.plexus.classworlds.launcher.Launcher.launchEnhanced
(Launcher.java:289)
at org.codehaus.plexus.classworlds.launcher.Launcher.launch
(Launcher.java:229)
at org.codehaus.plexus.classworlds.launcher.Launcher.mainWithExitCode
(Launcher.java:415)
at org.codehaus.plexus.classworlds.launcher.Launcher.main
(Launcher.java:356)
[INFO]
------------------------------------------------------------------------
[INFO] Reactor Summary:
[INFO]
[INFO] examples ........................................... SUCCESS [
0.181 s]
[INFO] sample-controller-service-api ...................... SUCCESS [
0.821 s]
[INFO] sample-controller-service-api-nar .................. SUCCESS [
0.466 s]
[INFO] sample-controller-service .......................... SUCCESS [
0.350 s]
[INFO] sample-processor ................................... SUCCESS [
0.999 s]
[INFO] sample-reporting-task .............................. SUCCESS [
0.190 s]
[INFO] sample-reporting-task-nar .......................... SUCCESS [
0.617 s]
[INFO] sample-bundle-nar .................................. FAILURE [
0.107 s]
[INFO]
------------------------------------------------------------------------
[INFO] BUILD FAILURE
[INFO]
------------------------------------------------------------------------
[INFO] Total time: 4.669 s
[INFO] Finished at: 2019-12-11T14:27:15-08:00
[INFO] Final Memory: 30M/393M
[INFO]
------------------------------------------------------------------------
[ERROR] Failed to execute goal
org.apache.nifi:nifi-nar-maven-plugin:1.3.1:nar (default-nar) on project
sample-bundle-nar: Failed to create Extension Documentation:
NullPointerException -> [Help 1]
[ERROR]
--------
Thanks,
Alex.