One more thing, make sure the <scope> on the dependencies stays the
same, meaning nifi-api should still be provided. You don't want to end
up bundling the 1.10.0 nifi-api into your NARs.

On Mon, Jul 22, 2019 at 2:21 PM Bryan Bende <bbe...@gmail.com> wrote:
>
> I think you are correct that you would need to also bump nifi-mock to
> 1.10.0-SNAPSHPOT.
>
> An easy way to make sure everything gets set to 1.10.0-SNAPSHOT is to
> add a <dependencyManagement> block to the top-level pom of your
> services project (the parent pom of the service, service api, and
> NARs) and in the dep management declare the 1.10.0-SNAPSHOT for
> nifi-api and nifi-mock.
>
> As a side note, there is obviously a slight risk here building against
> 1.10.0 API and deploying to 1.9.2 since you could end up calling
> something in your code that only exists in 1.10.0, but since it sounds
> like you originally implemented against 1.9.2 then you are probably
> fine. Just wanted to point this out.
>
> On Mon, Jul 22, 2019 at 2:04 PM Aaron Rich <aaron.r...@gmail.com> wrote:
> >
> > Hi Jeff,
> > Thanks for the information on the release process.
> >
> > For the error I'm getting, I started a new custom service with:
> > mvn archetype:generate -DarchetypeGroupId=org.apache.nifi
> > -DarchetypeArtifactId=nifi-service-bundle-archetype
> > -DarchetypeVersion=1.9.2 -DnifiVersion=1.9.2
> >
> > This provides a shell test which I haven't updated.
> >
> > I updated the testservice-api-nar and the  testservice-nar poms like I did
> > with the processor to include:
> > <dependency>
> > <groupId>org.apache.nifi</groupId>
> > <artifactId>nifi-api</artifactId>
> > <version>1.10.0-SNAPSHOT</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>
> > </plugins>
> > </build>
> >
> > On the testService-api-nar I still get the warning of:
> > [INFO] Generating documentation for NiFi extensions in the NAR...
> > [INFO] Found NAR dependency of
> > com.test.nifi:nifi-testService-api-nar:nar:1.0-SNAPSHOT:compile
> > [INFO] Found NAR dependency of
> > org.apache.nifi:nifi-standard-services-api-nar:nar:1.9.2:compile
> > [INFO] Found NAR dependency of
> > org.apache.nifi:nifi-jetty-bundle:nar:1.9.2:compile
> > [INFO] Found a dependency on version 1.9.2 of NiFi API
> > [WARNING] Could not generate extensions' documentation
> > org.apache.maven.plugin.MojoExecutionException: Failed to create Extension
> > Documentation
> >
> > When I was trying to trace back the 1.9.2 NiFi API dependency, I changed
> > the testService to have nifi-api version 1.10. This is when the compile
> > errors showed up.
> >
> > So at this point my question would be, for a custom service based on 1.9.2,
> > which pom.xml files need to be changed, and with what changes, to have the
> > service.nar file have the documentation to be able to be uploaded to nifi
> > registry via cli? Seems like there is more then just moving nifi-api to
> > version 1.10.
> >
> > Thank you again for the help.
> >
> > -Aaron
> >
> >
> >
> > On Mon, Jul 22, 2019 at 12:43 AM Jeff <jtsw...@gmail.com> wrote:
> >
> > > Aaron,
> > >
> > > New versions of NiFi are generally released after a member of the 
> > > community
> > > proposes a release and someone volunteers to perform the duties of the
> > > release manager.  There is no predefined schedule or projected release
> > > dates.  I think there are a few major feature JIRAs on which work is
> > > currently being done, and once those are resolved/finished, at that point
> > > someone may make proposal to create a release candidate for 1.10.0.
> > >
> > > Regarding the error to which you are referring, does the
> > > TestStandardMyService class make use of nifi-mock classes?  Is
> > > TestStandardMyService within the "src/main" folder of your module?  If so,
> > > you may want to move that class into "src/test", as I don't believe the
> > > nifi-maven-nar plugin bundles test code when it creates the NAR.  From the
> > > stacktrace, I see that TestStandardMyService makes a call to a
> > > org.apache.nifi.util.MockControllerServiceIntitializationContext method,
> > > which comes from nifi-mock.  If TestStandardMyService is included with the
> > > rest of your "production" code, you might want to refactor your module so
> > > that it is part of the "test" code.  That should remove the dependency on
> > > nifi-mock.
> > >
> > > On Mon, Jul 22, 2019 at 12:24 AM Aaron Rich <aaron.r...@gmail.com> wrote:
> > >
> > > > I updated  pom  for  a bundle with just a processor and was able to get
> > > nar
> > > > generated and loaded into registry via cli.
> > > >
> > > > When I tried a bundle with a custom service though, I get failures in 
> > > > the
> > > > test:
> > > > java.lang.AbstractMethodError:
> > > >
> > > >
> > > org.apache.nifi.util.MockControllerServiceInitializationContext.getNodeTypeProvider()Lorg/apache/nifi/controller/NodeTypeProvider;
> > > >         at
> > > >
> > > >
> > > com.ngc.swordfish.nifi.multipart.TestStandardMyService.testService(TestStandardMyService.java:36)
> > > >
> > > > Do I need to updated nifi-mock to 1.10 also?
> > > >
> > > > Thanks.
> > > >
> > > > -Aaron
> > > >
> > > > On Sun, Jul 21, 2019 at 9:59 PM Aaron Rich <aaron.r...@gmail.com> wrote:
> > > >
> > > > > Also,
> > > > >
> > > > > When is 1.10.0 planned for release?
> > > > >
> > > > > Thanks.
> > > > >
> > > > > -Aaron
> > > > >
> > > > >
> > > > > On Sun, Jul 21, 2019 at 9:29 PM Aaron Rich <aaron.r...@gmail.com>
> > > wrote:
> > > > >
> > > > >> Great.
> > > > >>
> > > > >> Thank you.
> > > > >>
> > > > >> Is the best way to force my nar to use the 1.10 nifi-api via adding 
> > > > >> it
> > > > as
> > > > >> dependency is main pom file?
> > > > >>
> > > > >> Assuming I still need the build plugin also?
> > > > >>
> > > > >> Thanks again.
> > > > >>
> > > > >> -Aaron
> > > > >>
> > > > >> On Sun, Jul 21, 2019 at 9:30 AM Bryan Bende <bbe...@gmail.com> wrote:
> > > > >>
> > > > >>> Hello,
> > > > >>>
> > > > >>> The issue is that in order to correctly generate the extension
> > > manifest
> > > > >>> with the new NAR plugin, it requires changes from nifi-api that are
> > > not
> > > > >>> released yet.
> > > > >>>
> > > > >>> You should be able to build NiFi on the master branch, really just
> > > the
> > > > >>> nifi-api module, doing a mvn clean install.
> > > > >>>
> > > > >>> Then in your NAR you’ll need to force it to use 1.10.0-SNAPSHOT of
> > > > >>> nifi-api. Currently you are getting 1.9.2 because of the parent of
> > > > >>> nifi-nar-bundles.
> > > > >>>
> > > > >>> Once we get 1.10.0 released then this won’t be an issue anymore.
> > > > >>>
> > > > >>> Thanks,
> > > > >>>
> > > > >>> Bryan
> > > > >>>
> > > > >>> On Sat, Jul 20, 2019 at 11:36 PM Aaron Rich <aaron.r...@gmail.com>
> > > > >>> wrote:
> > > > >>>
> > > > >>> > I forgot to include that when generating the .nar, I do get the
> > > > >>> warnings
> > > > >>> > of:
> > > > >>> > [WARNING] Could not generate extensions' documentation
> > > > >>> > org.apache.maven.plugin.MojoExecutionException: Failed to create
> > > > >>> Extension
> > > > >>> > Documentation
> > > > >>> > ...
> > > > >>> > Caused by: java.lang.NoSuchMethodException:
> > > > >>> >
> > > > >>> >
> > > > >>>
> > > >
> > > org.apache.nifi.documentation.xml.XmlDocumentationWriter.initialize(org.apache.nifi.components.ConfigurableComponent)
> > > > >>> >
> > > > >>> > I believe this is tied to not getting the right nfi-api version?
> > > But
> > > > >>> the
> > > > >>> > parent is set to 1.9.2 so not sure how that is happening.
> > > > >>> >
> > > > >>> > Thanks again.
> > > > >>> >
> > > > >>> > -Aaron
> > > > >>> >
> > > > >>> > On Sat, Jul 20, 2019 at 9:09 PM Aaron Rich <aaron.r...@gmail.com>
> > > > >>> wrote:
> > > > >>> >
> > > > >>> > > Hi,
> > > > >>> > >
> > > > >>> > > I'm trying to determine the best way to CM custom nar files for
> > > > >>> sharing
> > > > >>> > > between team. We are using nifi-registry for the flows and I saw
> > > > >>> there
> > > > >>> > was
> > > > >>> > > a new capability via the toolkit cli for "upload-bundle".
> > > > >>> > >
> > > > >>> > > I'm trying to use that but have ran into a few issues:
> > > > >>> > > 1) I first wasn't getting the META-INF/docs/ in the .nar. I had
> > > > >>> built the
> > > > >>> > > initial project from mvn archetype:generate with version 1.9.2. 
> > > > >>> > > I
> > > > >>> added:
> > > > >>> > > <build>
> > > > >>> > > <plugins>
> > > > >>> > > <plugin>
> > > > >>> > > <groupId>org.apache.nifi</groupId>
> > > > >>> > > <artifactId>nifi-nar-maven-plugin</artifactId>
> > > > >>> > > <version>1.3.1</version>
> > > > >>> > > <extensions>true</extensions>
> > > > >>> > > </plugin>
> > > > >>> > > </plugins>
> > > > >>> > > </build>
> > > > >>> > >
> > > > >>> > > To the base pom.xml. It has the parent of:
> > > > >>> > > <parent>
> > > > >>> > > <groupId>org.apache.nifi</groupId>
> > > > >>> > > <artifactId>nifi-nar-bundles</artifactId>
> > > > >>> > > <version>1.9.2</version>
> > > > >>> > > </parent>
> > > > >>> > >
> > > > >>> > > That got the docs in the jar:
> > > > >>> > >      0 Sat Jul 20 20:53:44 MDT 2019 META-INF/docs/
> > > > >>> > >     72 Sat Jul 20 20:53:44 MDT 2019
> > > > >>> META-INF/docs/extension-manifest.xml
> > > > >>> > >      0 Sat Jul 20 20:53:44 MDT 2019
> > > > META-INF/docs/additional-details/
> > > > >>> > >
> > > > >>> > > 2)I tried to use cli then with command:
> > > > >>> > > ./bin/cli.sh registry upload-bundle --baseUrl
> > > > >>> http://localhost:18080/
> > > > >>> > > --bucketId bcc0865e-818f-475b-b506-c95614b9a9d1 -ebt nifi-nar
> > > -ebf
> > > > >>> > > .custom-processor-nar-1.0-SNAPSHOT.nar
> > > > >>> > >
> > > > >>> > > I get back "ERROR: Error executing command 'upload-bundle' :
> > > Error
> > > > >>> > > creating extension bundle version: An unexpected error has
> > > > occurred.
> > > > >>> > Please
> > > > >>> > > check the logs for additional details."
> > > > >>> > >
> > > > >>> > > In Registry log, error is:
> > > > >>> > > Exception: Unable to obtain extension info for bundle due to:
> > > > Unable
> > > > >>> to
> > > > >>> > > parse extension manifest due to: Unexpected end of input block;
> > > > >>> expected
> > > > >>> > an
> > > > >>> > > identifier
> > > > >>> > >  at [row,col {unknown-source}]: [1,72]
> > > > >>> > >  at [Source:
> > > > >>> > >
> > > > >>> >
> > > > >>>
> > > >
> > > (org.apache.nifi.registry.bundle.extract.nar.NarBundleExtractor$NonCloseableInputStream);
> > > > >>> > > line: 1, column: 73]. Returning Internal Server Error response.
> > > > >>> > > org.apache.nifi.registry.bundle.extract.BundleException: Unable
> > > to
> > > > >>> obtain
> > > > >>> > > extension info for bundle due to: Unable to parse extension
> > > > manifest
> > > > >>> due
> > > > >>> > > to: Unexpected end of input
> > > > >>> > > block; expected an identifier
> > > > >>> > >
> > > > >>> > > Questions:
> > > > >>> > > 1) Should I need to set the 1.3.1 plugin do get the docs in nar?
> > > I
> > > > >>> > thought
> > > > >>> > > that would be automatic from parent version being 1.9.2
> > > > >>> > > 2) Is there an example for how to use the toolkit cli to
> > > > >>> upload-bundle?
> > > > >>> > > 3) Is there a better way to CM .nar? Archiva? Artifactory?
> > > > >>> > >
> > > > >>> > > Thanks.
> > > > >>> > >
> > > > >>> > > -Aaron
> > > > >>> > >
> > > > >>> > >
> > > > >>> >
> > > > >>> --
> > > > >>> Sent from Gmail Mobile
> > > > >>>
> > > > >>
> > > >
> > >

Reply via email to