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.

Reply via email to