Aw, man! I spent my lunch hour getting the Gradle stuff going, just to learn there's already a plugin :) Thanks to @sponiro and to you for sharing! I will take a look to make sure it's up to date, but if it seems to be working for you, and you have access to the plugin through public repos (jcenter/bintray, maven central, etc.) then we might be better served with Pull Requests for any changes that are needed :)
Regards, Matt On Wed, Jan 10, 2018 at 3:34 PM, Nicholas Deane <nde...@vitalimages.com> wrote: > Awesome. Thanks, Matt! I was missing the dependency on the > nifi-standard-services-api-nar NAR. I spent some time looking things up and I > came across the gradle nar plugin [1] > > Using that plugin, my build.gradle now contains the following lines: > > compile "org.apache.nifi:nifi-ssl-context-service-api:$nifiVersion" > nar 'org.apache.nifi:nifi-standard-services-api-nar:1.4.0' > > Now when I build my custom nar, I can see that my processor requires the > SSLContextService from nifi-standard-services-api-nar. The > StandardSSLContextService from the default org.apache.nifi bundle shows up as > selectable in that property and I’m able to get the processor started up with > the SSLContext. > > [1] https://github.com/sponiro/gradle-nar-plugin > > Regards, > Nicholas > > On 2018-01-10, 3:25 PM, "Matt Burgess" <mattyb...@apache.org> wrote: > > Nicholas, > > I finally had a few cycles to iron out some bugs in the Gradle NAR > example [1], feel free to check it out as it should be in much better > shape. Once it's ready for primetime, I'd like to add it to Lazybones > [2] and/or find a home for it in nifi-maven [3] (or a new similar repo > nifi-gradle ;) > > I'm going to try to apply this to an existing NAR in the NiFi codebase > that does real work with third-party dependencies and parent NARs. > Eventually I'd like to see it building equivalently and way faster > than Maven :) > > Regards, > Matt > > [1] https://github.com/mattyb149/nifi-gradle-nar-example > [2] https://github.com/pledbrook/lazybones > [3] https://github.com/apache/nifi-maven > > On Tue, Jan 9, 2018 at 12:06 PM, Matt Burgess <mattyb...@apache.org> > wrote: > > Nicholas, > > > > You shouldn't need to reference StandardSSLContextService explicitly, > > as your processor should be using the interface SSLContextService > > only. In the Maven world, this is done by bringing in > > nifi-ssl-context-service-api as a "provided" dependency (not compile), > > and adding a dependency on your NAR module to the > > nifi-standard-services-api-nar NAR. This is handled by a custom > > NarMojo for doing NiFi ARchive (NAR) packaging [1]. > > > > In the Gradle world we'll need a task to do the same thing, I believe > > it is mostly a matter of getting the separate subprojects set up to > > mimic the Maven modules, and a task (whether published as a plugin > > like the NarMojo plugin is for Maven or not) to update the NAR > > manifest and such. I have begun work on this [2], please feel free to > > take a look and let me know what you think. At present I believe I am > > missing a directive to copy all the processors' subproject > > dependencies into the NAR output artifact, I think I know how to fix > > it (i.e. from project(':processors').tasks['jar'].archivePath) but > > haven't had time to try it out. > > > > Please let me know if you'd like to work on the Gradle stuff together, > > I would be happy to collaborate :) > > > > Regards, > > Matt > > > > [1] https://github.com/apache/nifi-maven > > [2] https://github.com/mattyb149/nifi-gradle-nar-example > > > > On Tue, Jan 9, 2018 at 11:47 AM, Nicholas Deane > <nde...@vitalimages.com> wrote: > >> Hi, > >> > >> I’m working on a custom processor and want to utilize NiFi’s > SSLContextService. > >> > >> In my build.gradle dependencies section, I’ve included: > >> compile "org.apache.nifi:nifi-ssl-context-service-api:$nifiVersion" > >> > >> and in my code I’ve created the property descriptor with > .identifiesControllerService(SSLContextService.class) > >> > >> When I’m configuring the processor, I noticed that the property on the > processor says that it “Requires Controller Service: SSLContextService from > my-custom-nar”. When I create a StandardSSLContextService from the default > org.apache.nifi bundle, it doesn’t show up in the processor’s list (as > expected based on that info message). > >> > >> I tried bringing in “nifi-ssl-context-service” and now I have two > versions of StandardSSLContextService in the controller service list (one > from the org.apache.nifi bundle and the other from my-custom-nar bundle). Is > this how I should be doing something like this or is there a better way for > me to use Controller Services across bundles and avoid having duplicates in > that list? > >> > >> > >> Notice - Confidential Information The information in this > communication and any attachments is strictly confidential and intended only > for the use of the individual(s) or entity(ies) named above. If you are not > the intended recipient, any dissemination, distribution, copying or other use > of the information contained in this communication and/or any attachment is > strictly prohibited. If you have received this communication in error, please > first notify the sender immediately and then delete this communication from > all data storage devices and destroy all hard copies. > >