You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@nifi.apache.org by Jeremy Dyer <jd...@gmail.com> on 2016/02/22 14:07:26 UTC

3rd Party Dependencies

What would be the recommended way to include 3rd party dependencies for
building a custom processor that are not present in the public maven
repository? Local lib directory or ???

Re: 3rd Party Dependencies

Posted by Joe Witt <jo...@gmail.com>.
Jeremy

You now have two different answers to the same question so let's apply
some context to avoid misleading others.

If the question is about 'How during build time can I create artifacts
which pull in all the dependencies I need even when some may not be
available in public repositories or repositories already known by the
NiFi build?'

  -- Then follow my response.

If the question is about 'If I create custom extensions or use
extensions which support binding to a dependency at runtime what is
the recommended way to do that?'

  -- Then follow Oleg's response and keep in mind that this concept is
purely a function of the given extension and what it was built to
support.

Thanks
Joe

On Mon, Feb 22, 2016 at 8:25 AM, Jeremy Dyer <jd...@gmail.com> wrote:
> Joe and Oleg,
>
> Thank you both for the information. Joe I agree with your point that maven
> should be leveraged as much as possible. I will have to check with the
> original author of the code to see if publishing to some maven repository
> would be allowed. Fingers crossed.
>
> Oleg that is very helpful information for sure and if the maven repository
> publishing becomes a road block I will certainly fall back to this approach.
>
> Thanks
>
> On Mon, Feb 22, 2016 at 8:18 AM, Oleg Zhurakousky <
> ozhurakousky@hortonworks.com> wrote:
>
>> Jeremy
>>
>> Actually the new JMS support which is going in 0.6 answers your exact
>> question since with this new support we are supporting non-OS JMS providers
>> (e.g., IBM, Tibco etc).
>> Basically you can look at https://github.com/apache/nifi/pull/222 and see
>> what’s going on (in ControllerServices specifically ), but in the nutshell,
>> user points to the directory containing additional resources that needs to
>> be added to the class path (e.g., JARs etc.)
>>
>> Oleg
>>
>> On Feb 22, 2016, at 8:07 AM, Jeremy Dyer <jdye64@gmail.com<mailto:
>> jdye64@gmail.com>> wrote:
>>
>> What would be the recommended way to include 3rd party dependencies for
>> building a custom processor that are not present in the public maven
>> repository? Local lib directory or ???
>>
>>

Re: 3rd Party Dependencies

Posted by Jeremy Dyer <jd...@gmail.com>.
Joe and Oleg,

Thank you both for the information. Joe I agree with your point that maven
should be leveraged as much as possible. I will have to check with the
original author of the code to see if publishing to some maven repository
would be allowed. Fingers crossed.

Oleg that is very helpful information for sure and if the maven repository
publishing becomes a road block I will certainly fall back to this approach.

Thanks

On Mon, Feb 22, 2016 at 8:18 AM, Oleg Zhurakousky <
ozhurakousky@hortonworks.com> wrote:

> Jeremy
>
> Actually the new JMS support which is going in 0.6 answers your exact
> question since with this new support we are supporting non-OS JMS providers
> (e.g., IBM, Tibco etc).
> Basically you can look at https://github.com/apache/nifi/pull/222 and see
> what’s going on (in ControllerServices specifically ), but in the nutshell,
> user points to the directory containing additional resources that needs to
> be added to the class path (e.g., JARs etc.)
>
> Oleg
>
> On Feb 22, 2016, at 8:07 AM, Jeremy Dyer <jdye64@gmail.com<mailto:
> jdye64@gmail.com>> wrote:
>
> What would be the recommended way to include 3rd party dependencies for
> building a custom processor that are not present in the public maven
> repository? Local lib directory or ???
>
>

Re: 3rd Party Dependencies

Posted by Oleg Zhurakousky <oz...@hortonworks.com>.
Jeremy

Actually the new JMS support which is going in 0.6 answers your exact question since with this new support we are supporting non-OS JMS providers (e.g., IBM, Tibco etc).
Basically you can look at https://github.com/apache/nifi/pull/222 and see what’s going on (in ControllerServices specifically ), but in the nutshell, user points to the directory containing additional resources that needs to be added to the class path (e.g., JARs etc.)

Oleg

On Feb 22, 2016, at 8:07 AM, Jeremy Dyer <jd...@gmail.com>> wrote:

What would be the recommended way to include 3rd party dependencies for
building a custom processor that are not present in the public maven
repository? Local lib directory or ???


Re: 3rd Party Dependencies

Posted by Joe Witt <jo...@gmail.com>.
Jeremy

Would strongly recommend that Maven and its artifact construct be
leveraged to the greatest extent possible.  For an organization using
libraries not available publicly it is often a good idea to have those
artifacts in their own repository.  That repository can be added to
their pom.xml so that Maven can find the artifacts.  You can see an
example of this in the root nifi pom.xml where the JCenter artifact
repository is added.

Thanks
Joe

On Mon, Feb 22, 2016 at 8:07 AM, Jeremy Dyer <jd...@gmail.com> wrote:
> What would be the recommended way to include 3rd party dependencies for
> building a custom processor that are not present in the public maven
> repository? Local lib directory or ???